diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 4208b5cb..1b77f506 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.6.0" + ".": "0.7.0" } \ No newline at end of file diff --git a/.stats.yml b/.stats.yml index 334d0cbc..9dc1c3a4 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ -configured_endpoints: 113 +configured_endpoints: 114 openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/orb%2Forb-c697450a215fdbd1a854d26381ce137b222726c3e6669a93afb1c0c5669906ca.yml openapi_spec_hash: b8b5388292baa73b5f2c686d4904ae45 -config_hash: 0e33d6c596feab76cb4df5d64f28350b +config_hash: e63f2d098e5d12f63ae4cd8270aa5c3c diff --git a/CHANGELOG.md b/CHANGELOG.md index e6a51a7a..9b01faab 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,18 @@ # Changelog +## 0.7.0 (2025-05-28) + +Full Changelog: [v0.6.0...v0.7.0](https://github.com/orbcorp/orb-ruby/compare/v0.6.0...v0.7.0) + +### Features + +* **api:** manual updates ([1f22c08](https://github.com/orbcorp/orb-ruby/commit/1f22c08f203c9fa6b2ec899cb12e1317385b4d85)) + + +### Chores + +* **internal:** version bump ([ee634ed](https://github.com/orbcorp/orb-ruby/commit/ee634edb35370185e6e772957a9a0340b9066749)) + ## 0.6.0 (2025-05-28) Full Changelog: [v0.5.5...v0.6.0](https://github.com/orbcorp/orb-ruby/compare/v0.5.5...v0.6.0) diff --git a/Gemfile.lock b/Gemfile.lock index 202913c2..922cddb5 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -11,7 +11,7 @@ GIT PATH remote: . specs: - orb-billing (0.5.5) + orb-billing (0.6.0) connection_pool GEM diff --git a/README.md b/README.md index 16a1c586..da88ae54 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ To use this gem, install via Bundler by adding the following to your application ```ruby -gem "orb-billing", "~> 0.6.0" +gem "orb-billing", "~> 0.7.0" ``` diff --git a/lib/orb.rb b/lib/orb.rb index 9598e510..fbf7e8bb 100644 --- a/lib/orb.rb +++ b/lib/orb.rb @@ -61,6 +61,12 @@ require_relative "orb/models/alert_retrieve_params" require_relative "orb/models/alert_update_params" require_relative "orb/models/amount_discount" +require_relative "orb/models/beta/external_plan_id_create_plan_version_params" +require_relative "orb/models/beta/external_plan_id_fetch_plan_version_params" +require_relative "orb/models/beta/external_plan_id_set_default_plan_version_params" +require_relative "orb/models/beta_create_plan_version_params" +require_relative "orb/models/beta_fetch_plan_version_params" +require_relative "orb/models/beta_set_default_plan_version_params" require_relative "orb/models/billable_metric" require_relative "orb/models/billing_cycle_relative_date" require_relative "orb/models/coupon" @@ -171,21 +177,15 @@ require_relative "orb/models/plan_create_params" require_relative "orb/models/plan_fetch_params" require_relative "orb/models/plan_list_params" -require_relative "orb/models/plans/external_plan_id/version_create_params" -require_relative "orb/models/plans/external_plan_id/version_create_response" -require_relative "orb/models/plans/external_plan_id/version_retrieve_params" -require_relative "orb/models/plans/external_plan_id/version_retrieve_response" require_relative "orb/models/plans/external_plan_id_fetch_params" -require_relative "orb/models/plans/external_plan_id_set_default_version_params" require_relative "orb/models/plans/external_plan_id_update_params" -require_relative "orb/models/plans/version_create_params" -require_relative "orb/models/plans/version_create_response" -require_relative "orb/models/plans/version_retrieve_params" -require_relative "orb/models/plans/version_retrieve_response" -require_relative "orb/models/plan_set_default_version_params" require_relative "orb/models/plan_update_params" +require_relative "orb/models/plan_version" +require_relative "orb/models/plan_version_phase" require_relative "orb/models/price" require_relative "orb/models/price_create_params" +require_relative "orb/models/price_evaluate_multiple_params" +require_relative "orb/models/price_evaluate_multiple_response" require_relative "orb/models/price_evaluate_params" require_relative "orb/models/price_evaluate_response" require_relative "orb/models/price_fetch_params" @@ -236,6 +236,8 @@ require_relative "orb/models/usage_discount" require_relative "orb/models" require_relative "orb/resources/alerts" +require_relative "orb/resources/beta" +require_relative "orb/resources/beta/external_plan_id" require_relative "orb/resources/coupons" require_relative "orb/resources/coupons/subscriptions" require_relative "orb/resources/credit_notes" @@ -256,8 +258,6 @@ require_relative "orb/resources/metrics" require_relative "orb/resources/plans" require_relative "orb/resources/plans/external_plan_id" -require_relative "orb/resources/plans/external_plan_id/versions" -require_relative "orb/resources/plans/versions" require_relative "orb/resources/prices" require_relative "orb/resources/prices/external_price_id" require_relative "orb/resources/subscription_changes" diff --git a/lib/orb/client.rb b/lib/orb/client.rb index 2c8f3b9a..fe4824d8 100644 --- a/lib/orb/client.rb +++ b/lib/orb/client.rb @@ -21,6 +21,9 @@ class Client < Orb::Internal::Transport::BaseClient # @return [Orb::Resources::TopLevel] attr_reader :top_level + # @return [Orb::Resources::Beta] + attr_reader :beta + # @return [Orb::Resources::Coupons] attr_reader :coupons @@ -115,6 +118,7 @@ def initialize( ) @top_level = Orb::Resources::TopLevel.new(client: self) + @beta = Orb::Resources::Beta.new(client: self) @coupons = Orb::Resources::Coupons.new(client: self) @credit_notes = Orb::Resources::CreditNotes.new(client: self) @customers = Orb::Resources::Customers.new(client: self) diff --git a/lib/orb/models.rb b/lib/orb/models.rb index c521e447..a07ab398 100644 --- a/lib/orb/models.rb +++ b/lib/orb/models.rb @@ -59,6 +59,14 @@ module Orb AmountDiscount = Orb::Models::AmountDiscount + Beta = Orb::Models::Beta + + BetaCreatePlanVersionParams = Orb::Models::BetaCreatePlanVersionParams + + BetaFetchPlanVersionParams = Orb::Models::BetaFetchPlanVersionParams + + BetaSetDefaultPlanVersionParams = Orb::Models::BetaSetDefaultPlanVersionParams + BillableMetric = Orb::Models::BillableMetric BillingCycleRelativeDate = Orb::Models::BillingCycleRelativeDate @@ -190,14 +198,18 @@ module Orb Plans = Orb::Models::Plans - PlanSetDefaultVersionParams = Orb::Models::PlanSetDefaultVersionParams - PlanUpdateParams = Orb::Models::PlanUpdateParams + PlanVersion = Orb::Models::PlanVersion + + PlanVersionPhase = Orb::Models::PlanVersionPhase + Price = Orb::Models::Price PriceCreateParams = Orb::Models::PriceCreateParams + PriceEvaluateMultipleParams = Orb::Models::PriceEvaluateMultipleParams + PriceEvaluateParams = Orb::Models::PriceEvaluateParams PriceFetchParams = Orb::Models::PriceFetchParams diff --git a/lib/orb/models/plans/version_create_params.rb b/lib/orb/models/beta/external_plan_id_create_plan_version_params.rb similarity index 71% rename from lib/orb/models/plans/version_create_params.rb rename to lib/orb/models/beta/external_plan_id_create_plan_version_params.rb index bdf1e637..d3821c92 100644 --- a/lib/orb/models/plans/version_create_params.rb +++ b/lib/orb/models/beta/external_plan_id_create_plan_version_params.rb @@ -2,9 +2,9 @@ module Orb module Models - module Plans - # @see Orb::Resources::Plans::Versions#create - class VersionCreateParams < Orb::Internal::Type::BaseModel + module Beta + # @see Orb::Resources::Beta::ExternalPlanID#create_plan_version + class ExternalPlanIDCreatePlanVersionParams < Orb::Internal::Type::BaseModel extend Orb::Internal::Type::RequestParameters::Converter include Orb::Internal::Type::RequestParameters @@ -17,49 +17,61 @@ class VersionCreateParams < Orb::Internal::Type::BaseModel # @!attribute add_adjustments # Additional adjustments to be added to the plan. # - # @return [Array, nil] + # @return [Array, nil] optional :add_adjustments, - -> { Orb::Internal::Type::ArrayOf[Orb::Plans::VersionCreateParams::AddAdjustment] }, + -> { + Orb::Internal::Type::ArrayOf[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddAdjustment] + }, nil?: true # @!attribute add_prices # Additional prices to be added to the plan. # - # @return [Array, nil] + # @return [Array, nil] optional :add_prices, - -> { Orb::Internal::Type::ArrayOf[Orb::Plans::VersionCreateParams::AddPrice] }, + -> { + Orb::Internal::Type::ArrayOf[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice] + }, nil?: true # @!attribute remove_adjustments # Adjustments to be removed from the plan. # - # @return [Array, nil] + # @return [Array, nil] optional :remove_adjustments, - -> { Orb::Internal::Type::ArrayOf[Orb::Plans::VersionCreateParams::RemoveAdjustment] }, + -> { + Orb::Internal::Type::ArrayOf[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::RemoveAdjustment] + }, nil?: true # @!attribute remove_prices # Prices to be removed from the plan. # - # @return [Array, nil] + # @return [Array, nil] optional :remove_prices, - -> { Orb::Internal::Type::ArrayOf[Orb::Plans::VersionCreateParams::RemovePrice] }, + -> { + Orb::Internal::Type::ArrayOf[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::RemovePrice] + }, nil?: true # @!attribute replace_adjustments # Adjustments to be replaced with additional adjustments on the plan. # - # @return [Array, nil] + # @return [Array, nil] optional :replace_adjustments, - -> { Orb::Internal::Type::ArrayOf[Orb::Plans::VersionCreateParams::ReplaceAdjustment] }, + -> { + Orb::Internal::Type::ArrayOf[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplaceAdjustment] + }, nil?: true # @!attribute replace_prices # Prices to be replaced with additional prices on the plan. # - # @return [Array, nil] + # @return [Array, nil] optional :replace_prices, - -> { Orb::Internal::Type::ArrayOf[Orb::Plans::VersionCreateParams::ReplacePrice] }, + -> { + Orb::Internal::Type::ArrayOf[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice] + }, nil?: true # @!attribute set_as_default @@ -71,17 +83,17 @@ class VersionCreateParams < Orb::Internal::Type::BaseModel # @!method initialize(version:, add_adjustments: nil, add_prices: nil, remove_adjustments: nil, remove_prices: nil, replace_adjustments: nil, replace_prices: nil, set_as_default: nil, request_options: {}) # @param version [Integer] New version number. # - # @param add_adjustments [Array, nil] Additional adjustments to be added to the plan. + # @param add_adjustments [Array, nil] Additional adjustments to be added to the plan. # - # @param add_prices [Array, nil] Additional prices to be added to the plan. + # @param add_prices [Array, nil] Additional prices to be added to the plan. # - # @param remove_adjustments [Array, nil] Adjustments to be removed from the plan. + # @param remove_adjustments [Array, nil] Adjustments to be removed from the plan. # - # @param remove_prices [Array, nil] Prices to be removed from the plan. + # @param remove_prices [Array, nil] Prices to be removed from the plan. # - # @param replace_adjustments [Array, nil] Adjustments to be replaced with additional adjustments on the plan. + # @param replace_adjustments [Array, nil] Adjustments to be replaced with additional adjustments on the plan. # - # @param replace_prices [Array, nil] Prices to be replaced with additional prices on the plan. + # @param replace_prices [Array, nil] Prices to be replaced with additional prices on the plan. # # @param set_as_default [Boolean, nil] Set this new plan version as the default # @@ -91,8 +103,9 @@ class AddAdjustment < Orb::Internal::Type::BaseModel # @!attribute adjustment # The definition of a new adjustment to create and add to the plan. # - # @return [Orb::Models::Plans::VersionCreateParams::AddAdjustment::Adjustment::PercentageDiscount, Orb::Models::Plans::VersionCreateParams::AddAdjustment::Adjustment::UsageDiscount, Orb::Models::Plans::VersionCreateParams::AddAdjustment::Adjustment::AmountDiscount, Orb::Models::Plans::VersionCreateParams::AddAdjustment::Adjustment::Minimum, Orb::Models::Plans::VersionCreateParams::AddAdjustment::Adjustment::Maximum] - required :adjustment, union: -> { Orb::Plans::VersionCreateParams::AddAdjustment::Adjustment } + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddAdjustment::Adjustment::PercentageDiscount, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddAdjustment::Adjustment::UsageDiscount, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddAdjustment::Adjustment::AmountDiscount, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddAdjustment::Adjustment::Minimum, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddAdjustment::Adjustment::Maximum] + required :adjustment, + union: -> { Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddAdjustment::Adjustment } # @!attribute plan_phase_order # The phase to add this adjustment to. @@ -101,32 +114,42 @@ class AddAdjustment < Orb::Internal::Type::BaseModel optional :plan_phase_order, Integer, nil?: true # @!method initialize(adjustment:, plan_phase_order: nil) - # @param adjustment [Orb::Models::Plans::VersionCreateParams::AddAdjustment::Adjustment::PercentageDiscount, Orb::Models::Plans::VersionCreateParams::AddAdjustment::Adjustment::UsageDiscount, Orb::Models::Plans::VersionCreateParams::AddAdjustment::Adjustment::AmountDiscount, Orb::Models::Plans::VersionCreateParams::AddAdjustment::Adjustment::Minimum, Orb::Models::Plans::VersionCreateParams::AddAdjustment::Adjustment::Maximum] The definition of a new adjustment to create and add to the plan. + # @param adjustment [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddAdjustment::Adjustment::PercentageDiscount, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddAdjustment::Adjustment::UsageDiscount, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddAdjustment::Adjustment::AmountDiscount, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddAdjustment::Adjustment::Minimum, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddAdjustment::Adjustment::Maximum] The definition of a new adjustment to create and add to the plan. # # @param plan_phase_order [Integer, nil] The phase to add this adjustment to. # The definition of a new adjustment to create and add to the plan. # - # @see Orb::Models::Plans::VersionCreateParams::AddAdjustment#adjustment + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddAdjustment#adjustment module Adjustment extend Orb::Internal::Type::Union discriminator :adjustment_type variant :percentage_discount, - -> { Orb::Plans::VersionCreateParams::AddAdjustment::Adjustment::PercentageDiscount } + -> { + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddAdjustment::Adjustment::PercentageDiscount + } variant :usage_discount, -> { - Orb::Plans::VersionCreateParams::AddAdjustment::Adjustment::UsageDiscount + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddAdjustment::Adjustment::UsageDiscount } variant :amount_discount, - -> { Orb::Plans::VersionCreateParams::AddAdjustment::Adjustment::AmountDiscount } + -> { + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddAdjustment::Adjustment::AmountDiscount + } - variant :minimum, -> { Orb::Plans::VersionCreateParams::AddAdjustment::Adjustment::Minimum } + variant :minimum, + -> { + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddAdjustment::Adjustment::Minimum + } - variant :maximum, -> { Orb::Plans::VersionCreateParams::AddAdjustment::Adjustment::Maximum } + variant :maximum, + -> { + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddAdjustment::Adjustment::Maximum + } class PercentageDiscount < Orb::Internal::Type::BaseModel # @!attribute adjustment_type @@ -154,7 +177,7 @@ class PercentageDiscount < Orb::Internal::Type::BaseModel # @!method initialize(percentage_discount:, applies_to_price_ids: nil, is_invoice_level: nil, adjustment_type: :percentage_discount) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::AddAdjustment::Adjustment::PercentageDiscount} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddAdjustment::Adjustment::PercentageDiscount} # for more details. # # @param percentage_discount [Float] @@ -192,7 +215,7 @@ class UsageDiscount < Orb::Internal::Type::BaseModel # @!method initialize(usage_discount:, applies_to_price_ids: nil, is_invoice_level: nil, adjustment_type: :usage_discount) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::AddAdjustment::Adjustment::UsageDiscount} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddAdjustment::Adjustment::UsageDiscount} # for more details. # # @param usage_discount [Float] @@ -230,7 +253,7 @@ class AmountDiscount < Orb::Internal::Type::BaseModel # @!method initialize(amount_discount:, applies_to_price_ids: nil, is_invoice_level: nil, adjustment_type: :amount_discount) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::AddAdjustment::Adjustment::AmountDiscount} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddAdjustment::Adjustment::AmountDiscount} # for more details. # # @param amount_discount [String] @@ -274,7 +297,7 @@ class Minimum < Orb::Internal::Type::BaseModel # @!method initialize(item_id:, minimum_amount:, applies_to_price_ids: nil, is_invoice_level: nil, adjustment_type: :minimum) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::AddAdjustment::Adjustment::Minimum} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddAdjustment::Adjustment::Minimum} # for more details. # # @param item_id [String] The item ID that revenue from this minimum will be attributed to. @@ -314,7 +337,7 @@ class Maximum < Orb::Internal::Type::BaseModel # @!method initialize(maximum_amount:, applies_to_price_ids: nil, is_invoice_level: nil, adjustment_type: :maximum) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::AddAdjustment::Adjustment::Maximum} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddAdjustment::Adjustment::Maximum} # for more details. # # @param maximum_amount [String] @@ -327,7 +350,7 @@ class Maximum < Orb::Internal::Type::BaseModel end # @!method self.variants - # @return [Array(Orb::Models::Plans::VersionCreateParams::AddAdjustment::Adjustment::PercentageDiscount, Orb::Models::Plans::VersionCreateParams::AddAdjustment::Adjustment::UsageDiscount, Orb::Models::Plans::VersionCreateParams::AddAdjustment::Adjustment::AmountDiscount, Orb::Models::Plans::VersionCreateParams::AddAdjustment::Adjustment::Minimum, Orb::Models::Plans::VersionCreateParams::AddAdjustment::Adjustment::Maximum)] + # @return [Array(Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddAdjustment::Adjustment::PercentageDiscount, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddAdjustment::Adjustment::UsageDiscount, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddAdjustment::Adjustment::AmountDiscount, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddAdjustment::Adjustment::Minimum, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddAdjustment::Adjustment::Maximum)] end end @@ -335,11 +358,9 @@ class AddPrice < Orb::Internal::Type::BaseModel # @!attribute allocation_price # The allocation price to add to the plan. # - # @return [Orb::Models::Plans::VersionCreateParams::AddPrice::AllocationPrice, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::AllocationPrice, nil] optional :allocation_price, - -> { - Orb::Plans::VersionCreateParams::AddPrice::AllocationPrice - }, + -> { Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::AllocationPrice }, nil?: true # @!attribute plan_phase_order @@ -351,17 +372,19 @@ class AddPrice < Orb::Internal::Type::BaseModel # @!attribute price # The price to add to the plan # - # @return [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Unit, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Package, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Matrix, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Tiered, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredBps, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Bps, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::BulkBps, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Bulk, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredPackage, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered, nil] - optional :price, union: -> { Orb::Plans::VersionCreateParams::AddPrice::Price }, nil?: true + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered, nil] + optional :price, + union: -> { Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price }, + nil?: true # @!method initialize(allocation_price: nil, plan_phase_order: nil, price: nil) - # @param allocation_price [Orb::Models::Plans::VersionCreateParams::AddPrice::AllocationPrice, nil] The allocation price to add to the plan. + # @param allocation_price [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::AllocationPrice, nil] The allocation price to add to the plan. # # @param plan_phase_order [Integer, nil] The phase to add this price to. # - # @param price [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Unit, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Package, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Matrix, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Tiered, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredBps, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Bps, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::BulkBps, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Bulk, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredPackage, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered, nil] The price to add to the plan + # @param price [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered, nil] The price to add to the plan - # @see Orb::Models::Plans::VersionCreateParams::AddPrice#allocation_price + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice#allocation_price class AllocationPrice < Orb::Internal::Type::BaseModel # @!attribute amount # An amount of the currency to allocate to the customer at the specified cadence. @@ -372,10 +395,10 @@ class AllocationPrice < Orb::Internal::Type::BaseModel # @!attribute cadence # The cadence at which to allocate the amount to the customer. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::AllocationPrice::Cadence] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::AllocationPrice::Cadence] required :cadence, enum: -> { - Orb::Plans::VersionCreateParams::AddPrice::AllocationPrice::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::AllocationPrice::Cadence } # @!attribute currency @@ -394,14 +417,14 @@ class AllocationPrice < Orb::Internal::Type::BaseModel # @!method initialize(amount:, cadence:, currency:, expires_at_end_of_cadence:) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::AddPrice::AllocationPrice} for more - # details. + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::AllocationPrice} + # for more details. # # The allocation price to add to the plan. # # @param amount [String] An amount of the currency to allocate to the customer at the specified cadence. # - # @param cadence [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::AllocationPrice::Cadence] The cadence at which to allocate the amount to the customer. + # @param cadence [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::AllocationPrice::Cadence] The cadence at which to allocate the amount to the customer. # # @param currency [String] An ISO 4217 currency string or a custom pricing unit identifier in which to bill # @@ -409,7 +432,7 @@ class AllocationPrice < Orb::Internal::Type::BaseModel # The cadence at which to allocate the amount to the customer. # - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::AllocationPrice#cadence + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::AllocationPrice#cadence module Cadence extend Orb::Internal::Type::Enum @@ -427,102 +450,140 @@ module Cadence # The price to add to the plan # - # @see Orb::Models::Plans::VersionCreateParams::AddPrice#price + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice#price module Price extend Orb::Internal::Type::Union discriminator :model_type - variant :unit, -> { Orb::Plans::VersionCreateParams::AddPrice::Price::Unit } + variant :unit, -> { Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit } - variant :package, -> { Orb::Plans::VersionCreateParams::AddPrice::Price::Package } + variant :package, + -> { + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package + } - variant :matrix, -> { Orb::Plans::VersionCreateParams::AddPrice::Price::Matrix } + variant :matrix, -> { Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix } - variant :tiered, -> { Orb::Plans::VersionCreateParams::AddPrice::Price::Tiered } + variant :tiered, -> { Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered } - variant :tiered_bps, -> { Orb::Plans::VersionCreateParams::AddPrice::Price::TieredBps } + variant :tiered_bps, + -> { + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps + } - variant :bps, -> { Orb::Plans::VersionCreateParams::AddPrice::Price::Bps } + variant :bps, -> { Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps } - variant :bulk_bps, -> { Orb::Plans::VersionCreateParams::AddPrice::Price::BulkBps } + variant :bulk_bps, + -> { + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps + } - variant :bulk, -> { Orb::Plans::VersionCreateParams::AddPrice::Price::Bulk } + variant :bulk, -> { Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk } variant :threshold_total_amount, - -> { Orb::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount } + -> { + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount + } - variant :tiered_package, -> { Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackage } + variant :tiered_package, + -> { Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage } variant :tiered_with_minimum, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum } variant :unit_with_percent, - -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent - } + -> { Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent } variant :package_with_allocation, - -> { Orb::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation } + -> { + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation + } variant :tiered_with_proration, - -> { Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration } + -> { + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration + } variant :unit_with_proration, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration } variant :grouped_allocation, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation } variant :grouped_with_prorated_minimum, - -> { Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum } + -> { + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum + } variant :grouped_with_metered_minimum, - -> { Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum } + -> { + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum + } variant :matrix_with_display_name, - -> { Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName } + -> { + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName + } variant :bulk_with_proration, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration } variant :grouped_tiered_package, - -> { Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage } + -> { + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage + } variant :max_group_tiered_package, - -> { Orb::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage } + -> { + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage + } variant :scalable_matrix_with_unit_pricing, - -> { Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing } + -> { + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing + } variant :scalable_matrix_with_tiered_pricing, - -> { Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing } + -> { + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing + } variant :cumulative_grouped_bulk, - -> { Orb::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk } + -> { + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk + } variant :tiered_package_with_minimum, - -> { Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum } + -> { + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum + } variant :matrix_with_allocation, - -> { Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation } + -> { + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation + } - variant :grouped_tiered, -> { Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered } + variant :grouped_tiered, + -> { Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered } class Unit < Orb::Internal::Type::BaseModel # @!attribute cadence # The cadence to bill for this price on. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Unit::Cadence] - required :cadence, enum: -> { Orb::Plans::VersionCreateParams::AddPrice::Price::Unit::Cadence } + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::Cadence] + required :cadence, + enum: -> { + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::Cadence + } # @!attribute item_id # The id of the item the price will be associated with. @@ -543,8 +604,11 @@ class Unit < Orb::Internal::Type::BaseModel # @!attribute unit_config # - # @return [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Unit::UnitConfig] - required :unit_config, -> { Orb::Plans::VersionCreateParams::AddPrice::Price::Unit::UnitConfig } + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::UnitConfig] + required :unit_config, + -> { + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::UnitConfig + } # @!attribute billable_metric_id # The id of the billable metric for the price. Only needed if the price is @@ -564,10 +628,10 @@ class Unit < Orb::Internal::Type::BaseModel # For custom cadence: specifies the duration of the billing period in days or # months. # - # @return [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Unit::BillingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::BillingCycleConfiguration, nil] optional :billing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::Unit::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::BillingCycleConfiguration }, nil?: true @@ -587,10 +651,10 @@ class Unit < Orb::Internal::Type::BaseModel # @!attribute dimensional_price_configuration # For dimensional price: specifies a price group and dimension values # - # @return [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Unit::DimensionalPriceConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::DimensionalPriceConfiguration, nil] optional :dimensional_price_configuration, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::Unit::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::DimensionalPriceConfiguration }, nil?: true @@ -617,10 +681,10 @@ class Unit < Orb::Internal::Type::BaseModel # 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::Plans::VersionCreateParams::AddPrice::Price::Unit::InvoicingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::InvoicingCycleConfiguration, nil] optional :invoicing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::Unit::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::InvoicingCycleConfiguration }, nil?: true @@ -634,28 +698,28 @@ class Unit < Orb::Internal::Type::BaseModel # @!method initialize(cadence:, item_id:, name:, unit_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :unit) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Unit} for more - # details. + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit} + # for more details. # - # @param cadence [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Unit::Cadence] The cadence to bill for this price on. + # @param cadence [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::Cadence] The cadence to bill for this price on. # # @param item_id [String] The id of the item the price will be associated with. # # @param name [String] The name of the price. # - # @param unit_config [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Unit::UnitConfig] + # @param unit_config [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::UnitConfig] # # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b # # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi # - # @param billing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Unit::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # @param billing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont # # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. # # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr # - # @param dimensional_price_configuration [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Unit::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # @param dimensional_price_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values # # @param external_price_id [String, nil] An alias for the price. # @@ -663,7 +727,7 @@ class Unit < Orb::Internal::Type::BaseModel # # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice # - # @param invoicing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Unit::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # @param invoicing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. # # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed # @@ -671,7 +735,7 @@ class Unit < Orb::Internal::Type::BaseModel # The cadence to bill for this price on. # - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Unit#cadence + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit#cadence module Cadence extend Orb::Internal::Type::Enum @@ -686,7 +750,7 @@ module Cadence # @return [Array] end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Unit#unit_config + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit#unit_config class UnitConfig < Orb::Internal::Type::BaseModel # @!attribute unit_amount # Rate per unit of usage @@ -698,7 +762,7 @@ class UnitConfig < Orb::Internal::Type::BaseModel # @param unit_amount [String] Rate per unit of usage end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Unit#billing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit#billing_cycle_configuration class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -709,10 +773,10 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Unit::BillingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::BillingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::Unit::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::BillingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -721,11 +785,11 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Unit::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Unit::BillingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::BillingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -737,7 +801,7 @@ module DurationUnit end end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Unit#dimensional_price_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit#dimensional_price_configuration class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!attribute dimension_values # The list of dimension values matching (in order) the dimensions of the price @@ -760,7 +824,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Unit::DimensionalPriceConfiguration} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::DimensionalPriceConfiguration} # for more details. # # For dimensional price: specifies a price group and dimension values @@ -772,7 +836,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Unit#invoicing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit#invoicing_cycle_configuration class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -783,10 +847,10 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Unit::InvoicingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::InvoicingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::Unit::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::InvoicingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -795,11 +859,11 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Unit::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Unit::InvoicingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::InvoicingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -816,10 +880,10 @@ class Package < Orb::Internal::Type::BaseModel # @!attribute cadence # The cadence to bill for this price on. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Package::Cadence] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::Cadence] required :cadence, enum: -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::Package::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::Cadence } # @!attribute item_id @@ -841,10 +905,10 @@ class Package < Orb::Internal::Type::BaseModel # @!attribute package_config # - # @return [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Package::PackageConfig] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::PackageConfig] required :package_config, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::Package::PackageConfig + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::PackageConfig } # @!attribute billable_metric_id @@ -865,10 +929,10 @@ class Package < Orb::Internal::Type::BaseModel # For custom cadence: specifies the duration of the billing period in days or # months. # - # @return [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Package::BillingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::BillingCycleConfiguration, nil] optional :billing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::Package::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::BillingCycleConfiguration }, nil?: true @@ -888,10 +952,10 @@ class Package < Orb::Internal::Type::BaseModel # @!attribute dimensional_price_configuration # For dimensional price: specifies a price group and dimension values # - # @return [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Package::DimensionalPriceConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::DimensionalPriceConfiguration, nil] optional :dimensional_price_configuration, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::Package::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::DimensionalPriceConfiguration }, nil?: true @@ -918,10 +982,10 @@ class Package < Orb::Internal::Type::BaseModel # 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::Plans::VersionCreateParams::AddPrice::Price::Package::InvoicingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::InvoicingCycleConfiguration, nil] optional :invoicing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::Package::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::InvoicingCycleConfiguration }, nil?: true @@ -935,28 +999,28 @@ class Package < Orb::Internal::Type::BaseModel # @!method initialize(cadence:, item_id:, name:, package_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :package) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Package} for more - # details. + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package} + # for more details. # - # @param cadence [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Package::Cadence] The cadence to bill for this price on. + # @param cadence [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::Cadence] The cadence to bill for this price on. # # @param item_id [String] The id of the item the price will be associated with. # # @param name [String] The name of the price. # - # @param package_config [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Package::PackageConfig] + # @param package_config [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::PackageConfig] # # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b # # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi # - # @param billing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Package::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # @param billing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont # # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. # # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr # - # @param dimensional_price_configuration [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Package::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # @param dimensional_price_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values # # @param external_price_id [String, nil] An alias for the price. # @@ -964,7 +1028,7 @@ class Package < Orb::Internal::Type::BaseModel # # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice # - # @param invoicing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Package::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # @param invoicing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. # # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed # @@ -972,7 +1036,7 @@ class Package < Orb::Internal::Type::BaseModel # The cadence to bill for this price on. # - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Package#cadence + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package#cadence module Cadence extend Orb::Internal::Type::Enum @@ -987,7 +1051,7 @@ module Cadence # @return [Array] end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Package#package_config + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package#package_config class PackageConfig < Orb::Internal::Type::BaseModel # @!attribute package_amount # A currency amount to rate usage by @@ -1004,7 +1068,7 @@ class PackageConfig < Orb::Internal::Type::BaseModel # @!method initialize(package_amount:, package_size:) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Package::PackageConfig} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::PackageConfig} # for more details. # # @param package_amount [String] A currency amount to rate usage by @@ -1012,7 +1076,7 @@ class PackageConfig < Orb::Internal::Type::BaseModel # @param package_size [Integer] An integer amount to represent package size. For example, 1000 here would divide end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Package#billing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package#billing_cycle_configuration class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -1023,10 +1087,10 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Package::BillingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::BillingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::Package::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::BillingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -1035,11 +1099,11 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Package::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Package::BillingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::BillingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -1051,7 +1115,7 @@ module DurationUnit end end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Package#dimensional_price_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package#dimensional_price_configuration class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!attribute dimension_values # The list of dimension values matching (in order) the dimensions of the price @@ -1074,7 +1138,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Package::DimensionalPriceConfiguration} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::DimensionalPriceConfiguration} # for more details. # # For dimensional price: specifies a price group and dimension values @@ -1086,7 +1150,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Package#invoicing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package#invoicing_cycle_configuration class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -1097,10 +1161,10 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Package::InvoicingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::InvoicingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::Package::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::InvoicingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -1109,11 +1173,11 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Package::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Package::InvoicingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::InvoicingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -1130,10 +1194,10 @@ class Matrix < Orb::Internal::Type::BaseModel # @!attribute cadence # The cadence to bill for this price on. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Matrix::Cadence] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::Cadence] required :cadence, enum: -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::Matrix::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::Cadence } # @!attribute item_id @@ -1144,10 +1208,10 @@ class Matrix < Orb::Internal::Type::BaseModel # @!attribute matrix_config # - # @return [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Matrix::MatrixConfig] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::MatrixConfig] required :matrix_config, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::Matrix::MatrixConfig + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::MatrixConfig } # @!attribute model_type @@ -1179,10 +1243,10 @@ class Matrix < Orb::Internal::Type::BaseModel # For custom cadence: specifies the duration of the billing period in days or # months. # - # @return [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Matrix::BillingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::BillingCycleConfiguration, nil] optional :billing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::Matrix::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::BillingCycleConfiguration }, nil?: true @@ -1202,10 +1266,10 @@ class Matrix < Orb::Internal::Type::BaseModel # @!attribute dimensional_price_configuration # For dimensional price: specifies a price group and dimension values # - # @return [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Matrix::DimensionalPriceConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::DimensionalPriceConfiguration, nil] optional :dimensional_price_configuration, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::Matrix::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::DimensionalPriceConfiguration }, nil?: true @@ -1232,10 +1296,10 @@ class Matrix < Orb::Internal::Type::BaseModel # 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::Plans::VersionCreateParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration, nil] optional :invoicing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration }, nil?: true @@ -1249,14 +1313,14 @@ class Matrix < Orb::Internal::Type::BaseModel # @!method initialize(cadence:, item_id:, matrix_config:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :matrix) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Matrix} for more - # details. + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix} + # for more details. # - # @param cadence [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Matrix::Cadence] The cadence to bill for this price on. + # @param cadence [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::Cadence] The cadence to bill for this price on. # # @param item_id [String] The id of the item the price will be associated with. # - # @param matrix_config [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Matrix::MatrixConfig] + # @param matrix_config [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::MatrixConfig] # # @param name [String] The name of the price. # @@ -1264,13 +1328,13 @@ class Matrix < Orb::Internal::Type::BaseModel # # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi # - # @param billing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Matrix::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # @param billing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont # # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. # # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr # - # @param dimensional_price_configuration [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Matrix::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # @param dimensional_price_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values # # @param external_price_id [String, nil] An alias for the price. # @@ -1278,7 +1342,7 @@ class Matrix < Orb::Internal::Type::BaseModel # # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice # - # @param invoicing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # @param invoicing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. # # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed # @@ -1286,7 +1350,7 @@ class Matrix < Orb::Internal::Type::BaseModel # The cadence to bill for this price on. # - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Matrix#cadence + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix#cadence module Cadence extend Orb::Internal::Type::Enum @@ -1301,7 +1365,7 @@ module Cadence # @return [Array] end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Matrix#matrix_config + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix#matrix_config class MatrixConfig < Orb::Internal::Type::BaseModel # @!attribute default_unit_amount # Default per unit rate for any usage not bucketed into a specified matrix_value @@ -1318,10 +1382,10 @@ class MatrixConfig < Orb::Internal::Type::BaseModel # @!attribute matrix_values # Matrix values for specified matrix grouping keys # - # @return [Array] + # @return [Array] required :matrix_values, -> { - Orb::Internal::Type::ArrayOf[Orb::Plans::VersionCreateParams::AddPrice::Price::Matrix::MatrixConfig::MatrixValue] + Orb::Internal::Type::ArrayOf[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::MatrixConfig::MatrixValue] } # @!method initialize(default_unit_amount:, dimensions:, matrix_values:) @@ -1329,7 +1393,7 @@ class MatrixConfig < Orb::Internal::Type::BaseModel # # @param dimensions [Array] One or two event property values to evaluate matrix groups by # - # @param matrix_values [Array] Matrix values for specified matrix grouping keys + # @param matrix_values [Array] Matrix values for specified matrix grouping keys class MatrixValue < Orb::Internal::Type::BaseModel # @!attribute dimension_values @@ -1348,7 +1412,7 @@ class MatrixValue < Orb::Internal::Type::BaseModel # @!method initialize(dimension_values:, unit_amount:) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Matrix::MatrixConfig::MatrixValue} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::MatrixConfig::MatrixValue} # for more details. # # @param dimension_values [Array] One or two matrix keys to filter usage to this Matrix value by. For example, ["r @@ -1357,7 +1421,7 @@ class MatrixValue < Orb::Internal::Type::BaseModel end end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Matrix#billing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix#billing_cycle_configuration class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -1368,10 +1432,10 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Matrix::BillingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::BillingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::Matrix::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::BillingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -1380,11 +1444,11 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Matrix::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Matrix::BillingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::BillingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -1396,7 +1460,7 @@ module DurationUnit end end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Matrix#dimensional_price_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix#dimensional_price_configuration class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!attribute dimension_values # The list of dimension values matching (in order) the dimensions of the price @@ -1419,7 +1483,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Matrix::DimensionalPriceConfiguration} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::DimensionalPriceConfiguration} # for more details. # # For dimensional price: specifies a price group and dimension values @@ -1431,7 +1495,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Matrix#invoicing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix#invoicing_cycle_configuration class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -1442,10 +1506,10 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -1454,11 +1518,11 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -1475,10 +1539,10 @@ class Tiered < Orb::Internal::Type::BaseModel # @!attribute cadence # The cadence to bill for this price on. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Tiered::Cadence] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::Cadence] required :cadence, enum: -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::Tiered::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::Cadence } # @!attribute item_id @@ -1500,10 +1564,10 @@ class Tiered < Orb::Internal::Type::BaseModel # @!attribute tiered_config # - # @return [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Tiered::TieredConfig] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::TieredConfig] required :tiered_config, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::Tiered::TieredConfig + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::TieredConfig } # @!attribute billable_metric_id @@ -1524,10 +1588,10 @@ class Tiered < Orb::Internal::Type::BaseModel # For custom cadence: specifies the duration of the billing period in days or # months. # - # @return [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Tiered::BillingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::BillingCycleConfiguration, nil] optional :billing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::Tiered::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::BillingCycleConfiguration }, nil?: true @@ -1547,10 +1611,10 @@ class Tiered < Orb::Internal::Type::BaseModel # @!attribute dimensional_price_configuration # For dimensional price: specifies a price group and dimension values # - # @return [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Tiered::DimensionalPriceConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::DimensionalPriceConfiguration, nil] optional :dimensional_price_configuration, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::Tiered::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::DimensionalPriceConfiguration }, nil?: true @@ -1577,10 +1641,10 @@ class Tiered < Orb::Internal::Type::BaseModel # 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::Plans::VersionCreateParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration, nil] optional :invoicing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration }, nil?: true @@ -1594,28 +1658,28 @@ class Tiered < Orb::Internal::Type::BaseModel # @!method initialize(cadence:, item_id:, name:, tiered_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :tiered) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Tiered} for more - # details. + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered} + # for more details. # - # @param cadence [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Tiered::Cadence] The cadence to bill for this price on. + # @param cadence [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::Cadence] The cadence to bill for this price on. # # @param item_id [String] The id of the item the price will be associated with. # # @param name [String] The name of the price. # - # @param tiered_config [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Tiered::TieredConfig] + # @param tiered_config [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::TieredConfig] # # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b # # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi # - # @param billing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Tiered::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # @param billing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont # # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. # # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr # - # @param dimensional_price_configuration [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Tiered::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # @param dimensional_price_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values # # @param external_price_id [String, nil] An alias for the price. # @@ -1623,7 +1687,7 @@ class Tiered < Orb::Internal::Type::BaseModel # # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice # - # @param invoicing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # @param invoicing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. # # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed # @@ -1631,7 +1695,7 @@ class Tiered < Orb::Internal::Type::BaseModel # The cadence to bill for this price on. # - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Tiered#cadence + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered#cadence module Cadence extend Orb::Internal::Type::Enum @@ -1646,19 +1710,19 @@ module Cadence # @return [Array] end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Tiered#tiered_config + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered#tiered_config class TieredConfig < Orb::Internal::Type::BaseModel # @!attribute tiers # Tiers for rating based on total usage quantities into the specified tier # - # @return [Array] + # @return [Array] required :tiers, -> { - Orb::Internal::Type::ArrayOf[Orb::Plans::VersionCreateParams::AddPrice::Price::Tiered::TieredConfig::Tier] + Orb::Internal::Type::ArrayOf[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::TieredConfig::Tier] } # @!method initialize(tiers:) - # @param tiers [Array] Tiers for rating based on total usage quantities into the specified tier + # @param tiers [Array] Tiers for rating based on total usage quantities into the specified tier class Tier < Orb::Internal::Type::BaseModel # @!attribute first_unit @@ -1688,7 +1752,7 @@ class Tier < Orb::Internal::Type::BaseModel end end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Tiered#billing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered#billing_cycle_configuration class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -1699,10 +1763,10 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Tiered::BillingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::BillingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::Tiered::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::BillingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -1711,11 +1775,11 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Tiered::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Tiered::BillingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::BillingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -1727,7 +1791,7 @@ module DurationUnit end end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Tiered#dimensional_price_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered#dimensional_price_configuration class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!attribute dimension_values # The list of dimension values matching (in order) the dimensions of the price @@ -1750,7 +1814,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Tiered::DimensionalPriceConfiguration} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::DimensionalPriceConfiguration} # for more details. # # For dimensional price: specifies a price group and dimension values @@ -1762,7 +1826,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Tiered#invoicing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered#invoicing_cycle_configuration class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -1773,10 +1837,10 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -1785,11 +1849,11 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -1806,10 +1870,10 @@ class TieredBps < Orb::Internal::Type::BaseModel # @!attribute cadence # The cadence to bill for this price on. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredBps::Cadence] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::Cadence] required :cadence, enum: -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredBps::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::Cadence } # @!attribute item_id @@ -1831,9 +1895,11 @@ class TieredBps < Orb::Internal::Type::BaseModel # @!attribute tiered_bps_config # - # @return [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredBps::TieredBpsConfig] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::TieredBpsConfig] required :tiered_bps_config, - -> { Orb::Plans::VersionCreateParams::AddPrice::Price::TieredBps::TieredBpsConfig } + -> { + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::TieredBpsConfig + } # @!attribute billable_metric_id # The id of the billable metric for the price. Only needed if the price is @@ -1853,10 +1919,10 @@ class TieredBps < Orb::Internal::Type::BaseModel # For custom cadence: specifies the duration of the billing period in days or # months. # - # @return [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredBps::BillingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::BillingCycleConfiguration, nil] optional :billing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredBps::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::BillingCycleConfiguration }, nil?: true @@ -1876,10 +1942,10 @@ class TieredBps < Orb::Internal::Type::BaseModel # @!attribute dimensional_price_configuration # For dimensional price: specifies a price group and dimension values # - # @return [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredBps::DimensionalPriceConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::DimensionalPriceConfiguration, nil] optional :dimensional_price_configuration, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredBps::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::DimensionalPriceConfiguration }, nil?: true @@ -1906,10 +1972,10 @@ class TieredBps < Orb::Internal::Type::BaseModel # 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::Plans::VersionCreateParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration, nil] optional :invoicing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration }, nil?: true @@ -1923,28 +1989,28 @@ class TieredBps < Orb::Internal::Type::BaseModel # @!method initialize(cadence:, item_id:, name:, tiered_bps_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :tiered_bps) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredBps} for more - # details. + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps} + # for more details. # - # @param cadence [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredBps::Cadence] The cadence to bill for this price on. + # @param cadence [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::Cadence] The cadence to bill for this price on. # # @param item_id [String] The id of the item the price will be associated with. # # @param name [String] The name of the price. # - # @param tiered_bps_config [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredBps::TieredBpsConfig] + # @param tiered_bps_config [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::TieredBpsConfig] # # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b # # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi # - # @param billing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredBps::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # @param billing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont # # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. # # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr # - # @param dimensional_price_configuration [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredBps::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # @param dimensional_price_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values # # @param external_price_id [String, nil] An alias for the price. # @@ -1952,7 +2018,7 @@ class TieredBps < Orb::Internal::Type::BaseModel # # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice # - # @param invoicing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # @param invoicing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. # # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed # @@ -1960,7 +2026,7 @@ class TieredBps < Orb::Internal::Type::BaseModel # The cadence to bill for this price on. # - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredBps#cadence + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps#cadence module Cadence extend Orb::Internal::Type::Enum @@ -1975,24 +2041,24 @@ module Cadence # @return [Array] end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredBps#tiered_bps_config + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps#tiered_bps_config class TieredBpsConfig < Orb::Internal::Type::BaseModel # @!attribute tiers # Tiers for a Graduated BPS pricing model, where usage is bucketed into specified # tiers # - # @return [Array] + # @return [Array] required :tiers, -> { - Orb::Internal::Type::ArrayOf[Orb::Plans::VersionCreateParams::AddPrice::Price::TieredBps::TieredBpsConfig::Tier] + Orb::Internal::Type::ArrayOf[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::TieredBpsConfig::Tier] } # @!method initialize(tiers:) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredBps::TieredBpsConfig} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::TieredBpsConfig} # for more details. # - # @param tiers [Array] Tiers for a Graduated BPS pricing model, where usage is bucketed into specified + # @param tiers [Array] Tiers for a Graduated BPS pricing model, where usage is bucketed into specified class Tier < Orb::Internal::Type::BaseModel # @!attribute bps @@ -2030,7 +2096,7 @@ class Tier < Orb::Internal::Type::BaseModel end end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredBps#billing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps#billing_cycle_configuration class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -2041,10 +2107,10 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredBps::BillingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::BillingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredBps::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::BillingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -2053,11 +2119,11 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredBps::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredBps::BillingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::BillingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -2069,7 +2135,7 @@ module DurationUnit end end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredBps#dimensional_price_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps#dimensional_price_configuration class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!attribute dimension_values # The list of dimension values matching (in order) the dimensions of the price @@ -2092,7 +2158,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredBps::DimensionalPriceConfiguration} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::DimensionalPriceConfiguration} # for more details. # # For dimensional price: specifies a price group and dimension values @@ -2104,7 +2170,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredBps#invoicing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps#invoicing_cycle_configuration class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -2115,10 +2181,10 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -2127,11 +2193,11 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -2147,14 +2213,20 @@ module DurationUnit class Bps < Orb::Internal::Type::BaseModel # @!attribute bps_config # - # @return [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Bps::BpsConfig] - required :bps_config, -> { Orb::Plans::VersionCreateParams::AddPrice::Price::Bps::BpsConfig } + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::BpsConfig] + required :bps_config, + -> { + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::BpsConfig + } # @!attribute cadence # The cadence to bill for this price on. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Bps::Cadence] - required :cadence, enum: -> { Orb::Plans::VersionCreateParams::AddPrice::Price::Bps::Cadence } + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::Cadence] + required :cadence, + enum: -> { + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::Cadence + } # @!attribute item_id # The id of the item the price will be associated with. @@ -2191,10 +2263,10 @@ class Bps < Orb::Internal::Type::BaseModel # For custom cadence: specifies the duration of the billing period in days or # months. # - # @return [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Bps::BillingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::BillingCycleConfiguration, nil] optional :billing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::Bps::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::BillingCycleConfiguration }, nil?: true @@ -2214,10 +2286,10 @@ class Bps < Orb::Internal::Type::BaseModel # @!attribute dimensional_price_configuration # For dimensional price: specifies a price group and dimension values # - # @return [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Bps::DimensionalPriceConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::DimensionalPriceConfiguration, nil] optional :dimensional_price_configuration, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::Bps::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::DimensionalPriceConfiguration }, nil?: true @@ -2244,10 +2316,10 @@ class Bps < Orb::Internal::Type::BaseModel # 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::Plans::VersionCreateParams::AddPrice::Price::Bps::InvoicingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::InvoicingCycleConfiguration, nil] optional :invoicing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::Bps::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::InvoicingCycleConfiguration }, nil?: true @@ -2261,12 +2333,12 @@ class Bps < Orb::Internal::Type::BaseModel # @!method initialize(bps_config:, cadence:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :bps) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Bps} for more - # details. + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps} + # for more details. # - # @param bps_config [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Bps::BpsConfig] + # @param bps_config [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::BpsConfig] # - # @param cadence [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Bps::Cadence] The cadence to bill for this price on. + # @param cadence [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::Cadence] The cadence to bill for this price on. # # @param item_id [String] The id of the item the price will be associated with. # @@ -2276,13 +2348,13 @@ class Bps < Orb::Internal::Type::BaseModel # # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi # - # @param billing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Bps::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # @param billing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont # # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. # # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr # - # @param dimensional_price_configuration [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Bps::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # @param dimensional_price_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values # # @param external_price_id [String, nil] An alias for the price. # @@ -2290,13 +2362,13 @@ class Bps < Orb::Internal::Type::BaseModel # # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice # - # @param invoicing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Bps::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # @param invoicing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. # # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed # # @param model_type [Symbol, :bps] - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Bps#bps_config + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps#bps_config class BpsConfig < Orb::Internal::Type::BaseModel # @!attribute bps # Basis point take rate per event @@ -2318,7 +2390,7 @@ class BpsConfig < Orb::Internal::Type::BaseModel # The cadence to bill for this price on. # - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Bps#cadence + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps#cadence module Cadence extend Orb::Internal::Type::Enum @@ -2333,7 +2405,7 @@ module Cadence # @return [Array] end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Bps#billing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps#billing_cycle_configuration class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -2344,10 +2416,10 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Bps::BillingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::BillingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::Bps::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::BillingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -2356,11 +2428,11 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Bps::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Bps::BillingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::BillingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -2372,7 +2444,7 @@ module DurationUnit end end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Bps#dimensional_price_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps#dimensional_price_configuration class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!attribute dimension_values # The list of dimension values matching (in order) the dimensions of the price @@ -2395,7 +2467,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Bps::DimensionalPriceConfiguration} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::DimensionalPriceConfiguration} # for more details. # # For dimensional price: specifies a price group and dimension values @@ -2407,7 +2479,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Bps#invoicing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps#invoicing_cycle_configuration class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -2418,10 +2490,10 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Bps::InvoicingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::InvoicingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::Bps::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::InvoicingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -2430,11 +2502,11 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Bps::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Bps::InvoicingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::InvoicingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -2450,19 +2522,19 @@ module DurationUnit class BulkBps < Orb::Internal::Type::BaseModel # @!attribute bulk_bps_config # - # @return [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::BulkBps::BulkBpsConfig] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::BulkBpsConfig] required :bulk_bps_config, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkBps::BulkBpsConfig + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::BulkBpsConfig } # @!attribute cadence # The cadence to bill for this price on. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::BulkBps::Cadence] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::Cadence] required :cadence, enum: -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkBps::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::Cadence } # @!attribute item_id @@ -2500,10 +2572,10 @@ class BulkBps < Orb::Internal::Type::BaseModel # For custom cadence: specifies the duration of the billing period in days or # months. # - # @return [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::BulkBps::BillingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::BillingCycleConfiguration, nil] optional :billing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkBps::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::BillingCycleConfiguration }, nil?: true @@ -2523,10 +2595,10 @@ class BulkBps < Orb::Internal::Type::BaseModel # @!attribute dimensional_price_configuration # For dimensional price: specifies a price group and dimension values # - # @return [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::BulkBps::DimensionalPriceConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::DimensionalPriceConfiguration, nil] optional :dimensional_price_configuration, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkBps::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::DimensionalPriceConfiguration }, nil?: true @@ -2553,10 +2625,10 @@ class BulkBps < Orb::Internal::Type::BaseModel # 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::Plans::VersionCreateParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration, nil] optional :invoicing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration }, nil?: true @@ -2570,12 +2642,12 @@ class BulkBps < Orb::Internal::Type::BaseModel # @!method initialize(bulk_bps_config:, cadence:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :bulk_bps) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::AddPrice::Price::BulkBps} for more - # details. + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps} + # for more details. # - # @param bulk_bps_config [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::BulkBps::BulkBpsConfig] + # @param bulk_bps_config [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::BulkBpsConfig] # - # @param cadence [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::BulkBps::Cadence] The cadence to bill for this price on. + # @param cadence [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::Cadence] The cadence to bill for this price on. # # @param item_id [String] The id of the item the price will be associated with. # @@ -2585,13 +2657,13 @@ class BulkBps < Orb::Internal::Type::BaseModel # # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi # - # @param billing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::BulkBps::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # @param billing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont # # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. # # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr # - # @param dimensional_price_configuration [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::BulkBps::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # @param dimensional_price_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values # # @param external_price_id [String, nil] An alias for the price. # @@ -2599,30 +2671,30 @@ class BulkBps < Orb::Internal::Type::BaseModel # # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice # - # @param invoicing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # @param invoicing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. # # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed # # @param model_type [Symbol, :bulk_bps] - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::BulkBps#bulk_bps_config + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps#bulk_bps_config class BulkBpsConfig < Orb::Internal::Type::BaseModel # @!attribute tiers # Tiers for a bulk BPS pricing model where all usage is aggregated to a single # tier based on total volume # - # @return [Array] + # @return [Array] required :tiers, -> { - Orb::Internal::Type::ArrayOf[Orb::Plans::VersionCreateParams::AddPrice::Price::BulkBps::BulkBpsConfig::Tier] + Orb::Internal::Type::ArrayOf[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::BulkBpsConfig::Tier] } # @!method initialize(tiers:) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::AddPrice::Price::BulkBps::BulkBpsConfig} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::BulkBpsConfig} # for more details. # - # @param tiers [Array] Tiers for a bulk BPS pricing model where all usage is aggregated to a single tie + # @param tiers [Array] Tiers for a bulk BPS pricing model where all usage is aggregated to a single tie class Tier < Orb::Internal::Type::BaseModel # @!attribute bps @@ -2654,7 +2726,7 @@ class Tier < Orb::Internal::Type::BaseModel # The cadence to bill for this price on. # - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::BulkBps#cadence + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps#cadence module Cadence extend Orb::Internal::Type::Enum @@ -2669,7 +2741,7 @@ module Cadence # @return [Array] end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::BulkBps#billing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps#billing_cycle_configuration class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -2680,10 +2752,10 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::BulkBps::BillingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::BillingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkBps::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::BillingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -2692,11 +2764,11 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::BulkBps::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::BulkBps::BillingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::BillingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -2708,7 +2780,7 @@ module DurationUnit end end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::BulkBps#dimensional_price_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps#dimensional_price_configuration class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!attribute dimension_values # The list of dimension values matching (in order) the dimensions of the price @@ -2731,7 +2803,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::AddPrice::Price::BulkBps::DimensionalPriceConfiguration} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::DimensionalPriceConfiguration} # for more details. # # For dimensional price: specifies a price group and dimension values @@ -2743,7 +2815,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::BulkBps#invoicing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps#invoicing_cycle_configuration class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -2754,10 +2826,10 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -2766,11 +2838,11 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -2786,14 +2858,20 @@ module DurationUnit class Bulk < Orb::Internal::Type::BaseModel # @!attribute bulk_config # - # @return [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Bulk::BulkConfig] - required :bulk_config, -> { Orb::Plans::VersionCreateParams::AddPrice::Price::Bulk::BulkConfig } + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::BulkConfig] + required :bulk_config, + -> { + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::BulkConfig + } # @!attribute cadence # The cadence to bill for this price on. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Bulk::Cadence] - required :cadence, enum: -> { Orb::Plans::VersionCreateParams::AddPrice::Price::Bulk::Cadence } + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::Cadence] + required :cadence, + enum: -> { + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::Cadence + } # @!attribute item_id # The id of the item the price will be associated with. @@ -2830,10 +2908,10 @@ class Bulk < Orb::Internal::Type::BaseModel # For custom cadence: specifies the duration of the billing period in days or # months. # - # @return [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Bulk::BillingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::BillingCycleConfiguration, nil] optional :billing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::Bulk::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::BillingCycleConfiguration }, nil?: true @@ -2853,10 +2931,10 @@ class Bulk < Orb::Internal::Type::BaseModel # @!attribute dimensional_price_configuration # For dimensional price: specifies a price group and dimension values # - # @return [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Bulk::DimensionalPriceConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::DimensionalPriceConfiguration, nil] optional :dimensional_price_configuration, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::Bulk::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::DimensionalPriceConfiguration }, nil?: true @@ -2883,10 +2961,10 @@ class Bulk < Orb::Internal::Type::BaseModel # 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::Plans::VersionCreateParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration, nil] optional :invoicing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration }, nil?: true @@ -2900,12 +2978,12 @@ class Bulk < Orb::Internal::Type::BaseModel # @!method initialize(bulk_config:, cadence:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :bulk) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Bulk} for more - # details. + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk} + # for more details. # - # @param bulk_config [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Bulk::BulkConfig] + # @param bulk_config [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::BulkConfig] # - # @param cadence [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Bulk::Cadence] The cadence to bill for this price on. + # @param cadence [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::Cadence] The cadence to bill for this price on. # # @param item_id [String] The id of the item the price will be associated with. # @@ -2915,13 +2993,13 @@ class Bulk < Orb::Internal::Type::BaseModel # # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi # - # @param billing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Bulk::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # @param billing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont # # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. # # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr # - # @param dimensional_price_configuration [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Bulk::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # @param dimensional_price_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values # # @param external_price_id [String, nil] An alias for the price. # @@ -2929,25 +3007,25 @@ class Bulk < Orb::Internal::Type::BaseModel # # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice # - # @param invoicing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # @param invoicing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. # # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed # # @param model_type [Symbol, :bulk] - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Bulk#bulk_config + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk#bulk_config class BulkConfig < Orb::Internal::Type::BaseModel # @!attribute tiers # Bulk tiers for rating based on total usage volume # - # @return [Array] + # @return [Array] required :tiers, -> { - Orb::Internal::Type::ArrayOf[Orb::Plans::VersionCreateParams::AddPrice::Price::Bulk::BulkConfig::Tier] + Orb::Internal::Type::ArrayOf[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::BulkConfig::Tier] } # @!method initialize(tiers:) - # @param tiers [Array] Bulk tiers for rating based on total usage volume + # @param tiers [Array] Bulk tiers for rating based on total usage volume class Tier < Orb::Internal::Type::BaseModel # @!attribute unit_amount @@ -2971,7 +3049,7 @@ class Tier < Orb::Internal::Type::BaseModel # The cadence to bill for this price on. # - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Bulk#cadence + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk#cadence module Cadence extend Orb::Internal::Type::Enum @@ -2986,7 +3064,7 @@ module Cadence # @return [Array] end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Bulk#billing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk#billing_cycle_configuration class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -2997,10 +3075,10 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Bulk::BillingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::BillingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::Bulk::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::BillingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -3009,11 +3087,11 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Bulk::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Bulk::BillingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::BillingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -3025,7 +3103,7 @@ module DurationUnit end end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Bulk#dimensional_price_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk#dimensional_price_configuration class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!attribute dimension_values # The list of dimension values matching (in order) the dimensions of the price @@ -3048,7 +3126,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Bulk::DimensionalPriceConfiguration} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::DimensionalPriceConfiguration} # for more details. # # For dimensional price: specifies a price group and dimension values @@ -3060,7 +3138,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Bulk#invoicing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk#invoicing_cycle_configuration class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -3071,10 +3149,10 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -3083,11 +3161,11 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -3104,10 +3182,10 @@ class ThresholdTotalAmount < Orb::Internal::Type::BaseModel # @!attribute cadence # The cadence to bill for this price on. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::Cadence] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::Cadence] required :cadence, enum: -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::Cadence } # @!attribute item_id @@ -3151,10 +3229,10 @@ class ThresholdTotalAmount < Orb::Internal::Type::BaseModel # For custom cadence: specifies the duration of the billing period in days or # months. # - # @return [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration, nil] optional :billing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration }, nil?: true @@ -3174,10 +3252,10 @@ class ThresholdTotalAmount < Orb::Internal::Type::BaseModel # @!attribute dimensional_price_configuration # For dimensional price: specifies a price group and dimension values # - # @return [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration, nil] optional :dimensional_price_configuration, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration }, nil?: true @@ -3204,10 +3282,10 @@ class ThresholdTotalAmount < Orb::Internal::Type::BaseModel # 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::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration, nil] optional :invoicing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration }, nil?: true @@ -3221,10 +3299,10 @@ class ThresholdTotalAmount < Orb::Internal::Type::BaseModel # @!method initialize(cadence:, item_id:, name:, threshold_total_amount_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :threshold_total_amount) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount} # for more details. # - # @param cadence [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::Cadence] The cadence to bill for this price on. + # @param cadence [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::Cadence] The cadence to bill for this price on. # # @param item_id [String] The id of the item the price will be associated with. # @@ -3236,13 +3314,13 @@ class ThresholdTotalAmount < Orb::Internal::Type::BaseModel # # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi # - # @param billing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # @param billing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont # # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. # # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr # - # @param dimensional_price_configuration [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # @param dimensional_price_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values # # @param external_price_id [String, nil] An alias for the price. # @@ -3250,7 +3328,7 @@ class ThresholdTotalAmount < Orb::Internal::Type::BaseModel # # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice # - # @param invoicing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # @param invoicing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. # # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed # @@ -3258,7 +3336,7 @@ class ThresholdTotalAmount < Orb::Internal::Type::BaseModel # The cadence to bill for this price on. # - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount#cadence + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount#cadence module Cadence extend Orb::Internal::Type::Enum @@ -3273,7 +3351,7 @@ module Cadence # @return [Array] end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount#billing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount#billing_cycle_configuration class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -3284,10 +3362,10 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -3296,11 +3374,11 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -3312,7 +3390,7 @@ module DurationUnit end end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount#dimensional_price_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount#dimensional_price_configuration class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!attribute dimension_values # The list of dimension values matching (in order) the dimensions of the price @@ -3335,7 +3413,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration} # for more details. # # For dimensional price: specifies a price group and dimension values @@ -3347,7 +3425,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount#invoicing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount#invoicing_cycle_configuration class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -3358,10 +3436,10 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -3370,11 +3448,11 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -3391,10 +3469,10 @@ class TieredPackage < Orb::Internal::Type::BaseModel # @!attribute cadence # The cadence to bill for this price on. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::Cadence] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::Cadence] required :cadence, enum: -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::Cadence } # @!attribute item_id @@ -3437,10 +3515,10 @@ class TieredPackage < Orb::Internal::Type::BaseModel # For custom cadence: specifies the duration of the billing period in days or # months. # - # @return [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration, nil] optional :billing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration }, nil?: true @@ -3460,10 +3538,10 @@ class TieredPackage < Orb::Internal::Type::BaseModel # @!attribute dimensional_price_configuration # For dimensional price: specifies a price group and dimension values # - # @return [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::DimensionalPriceConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::DimensionalPriceConfiguration, nil] optional :dimensional_price_configuration, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::DimensionalPriceConfiguration }, nil?: true @@ -3490,10 +3568,10 @@ class TieredPackage < Orb::Internal::Type::BaseModel # 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::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration, nil] optional :invoicing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration }, nil?: true @@ -3507,10 +3585,10 @@ class TieredPackage < Orb::Internal::Type::BaseModel # @!method initialize(cadence:, item_id:, name:, tiered_package_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :tiered_package) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredPackage} for - # more details. + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage} + # for more details. # - # @param cadence [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::Cadence] The cadence to bill for this price on. + # @param cadence [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::Cadence] The cadence to bill for this price on. # # @param item_id [String] The id of the item the price will be associated with. # @@ -3522,13 +3600,13 @@ class TieredPackage < Orb::Internal::Type::BaseModel # # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi # - # @param billing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # @param billing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont # # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. # # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr # - # @param dimensional_price_configuration [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # @param dimensional_price_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values # # @param external_price_id [String, nil] An alias for the price. # @@ -3536,7 +3614,7 @@ class TieredPackage < Orb::Internal::Type::BaseModel # # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice # - # @param invoicing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # @param invoicing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. # # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed # @@ -3544,7 +3622,7 @@ class TieredPackage < Orb::Internal::Type::BaseModel # The cadence to bill for this price on. # - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredPackage#cadence + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage#cadence module Cadence extend Orb::Internal::Type::Enum @@ -3559,7 +3637,7 @@ module Cadence # @return [Array] end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredPackage#billing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage#billing_cycle_configuration class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -3570,10 +3648,10 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -3582,11 +3660,11 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -3598,7 +3676,7 @@ module DurationUnit end end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredPackage#dimensional_price_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage#dimensional_price_configuration class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!attribute dimension_values # The list of dimension values matching (in order) the dimensions of the price @@ -3621,7 +3699,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::DimensionalPriceConfiguration} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::DimensionalPriceConfiguration} # for more details. # # For dimensional price: specifies a price group and dimension values @@ -3633,7 +3711,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredPackage#invoicing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage#invoicing_cycle_configuration class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -3644,10 +3722,10 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -3656,11 +3734,11 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -3677,10 +3755,10 @@ class TieredWithMinimum < Orb::Internal::Type::BaseModel # @!attribute cadence # The cadence to bill for this price on. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::Cadence] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::Cadence] required :cadence, enum: -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::Cadence } # @!attribute item_id @@ -3723,10 +3801,10 @@ class TieredWithMinimum < Orb::Internal::Type::BaseModel # For custom cadence: specifies the duration of the billing period in days or # months. # - # @return [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration, nil] optional :billing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration }, nil?: true @@ -3746,10 +3824,10 @@ class TieredWithMinimum < Orb::Internal::Type::BaseModel # @!attribute dimensional_price_configuration # For dimensional price: specifies a price group and dimension values # - # @return [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::DimensionalPriceConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::DimensionalPriceConfiguration, nil] optional :dimensional_price_configuration, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::DimensionalPriceConfiguration }, nil?: true @@ -3776,10 +3854,10 @@ class TieredWithMinimum < Orb::Internal::Type::BaseModel # 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::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration, nil] optional :invoicing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration }, nil?: true @@ -3793,10 +3871,10 @@ class TieredWithMinimum < Orb::Internal::Type::BaseModel # @!method initialize(cadence:, item_id:, name:, tiered_with_minimum_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :tiered_with_minimum) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum} # for more details. # - # @param cadence [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::Cadence] The cadence to bill for this price on. + # @param cadence [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::Cadence] The cadence to bill for this price on. # # @param item_id [String] The id of the item the price will be associated with. # @@ -3808,13 +3886,13 @@ class TieredWithMinimum < Orb::Internal::Type::BaseModel # # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi # - # @param billing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # @param billing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont # # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. # # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr # - # @param dimensional_price_configuration [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # @param dimensional_price_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values # # @param external_price_id [String, nil] An alias for the price. # @@ -3822,7 +3900,7 @@ class TieredWithMinimum < Orb::Internal::Type::BaseModel # # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice # - # @param invoicing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # @param invoicing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. # # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed # @@ -3830,7 +3908,7 @@ class TieredWithMinimum < Orb::Internal::Type::BaseModel # The cadence to bill for this price on. # - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum#cadence + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum#cadence module Cadence extend Orb::Internal::Type::Enum @@ -3845,7 +3923,7 @@ module Cadence # @return [Array] end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum#billing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum#billing_cycle_configuration class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -3856,10 +3934,10 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -3868,11 +3946,11 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -3884,7 +3962,7 @@ module DurationUnit end end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum#dimensional_price_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum#dimensional_price_configuration class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!attribute dimension_values # The list of dimension values matching (in order) the dimensions of the price @@ -3907,7 +3985,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::DimensionalPriceConfiguration} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::DimensionalPriceConfiguration} # for more details. # # For dimensional price: specifies a price group and dimension values @@ -3919,7 +3997,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum#invoicing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum#invoicing_cycle_configuration class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -3930,10 +4008,10 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -3942,11 +4020,11 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -3963,10 +4041,10 @@ class UnitWithPercent < Orb::Internal::Type::BaseModel # @!attribute cadence # The cadence to bill for this price on. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::Cadence] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::Cadence] required :cadence, enum: -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::Cadence } # @!attribute item_id @@ -4009,10 +4087,10 @@ class UnitWithPercent < Orb::Internal::Type::BaseModel # For custom cadence: specifies the duration of the billing period in days or # months. # - # @return [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration, nil] optional :billing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration }, nil?: true @@ -4032,10 +4110,10 @@ class UnitWithPercent < Orb::Internal::Type::BaseModel # @!attribute dimensional_price_configuration # For dimensional price: specifies a price group and dimension values # - # @return [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::DimensionalPriceConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::DimensionalPriceConfiguration, nil] optional :dimensional_price_configuration, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::DimensionalPriceConfiguration }, nil?: true @@ -4062,10 +4140,10 @@ class UnitWithPercent < Orb::Internal::Type::BaseModel # 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::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration, nil] optional :invoicing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration }, nil?: true @@ -4079,10 +4157,10 @@ class UnitWithPercent < Orb::Internal::Type::BaseModel # @!method initialize(cadence:, item_id:, name:, unit_with_percent_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :unit_with_percent) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent} for - # more details. + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent} + # for more details. # - # @param cadence [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::Cadence] The cadence to bill for this price on. + # @param cadence [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::Cadence] The cadence to bill for this price on. # # @param item_id [String] The id of the item the price will be associated with. # @@ -4094,13 +4172,13 @@ class UnitWithPercent < Orb::Internal::Type::BaseModel # # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi # - # @param billing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # @param billing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont # # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. # # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr # - # @param dimensional_price_configuration [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # @param dimensional_price_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values # # @param external_price_id [String, nil] An alias for the price. # @@ -4108,7 +4186,7 @@ class UnitWithPercent < Orb::Internal::Type::BaseModel # # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice # - # @param invoicing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # @param invoicing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. # # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed # @@ -4116,7 +4194,7 @@ class UnitWithPercent < Orb::Internal::Type::BaseModel # The cadence to bill for this price on. # - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent#cadence + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent#cadence module Cadence extend Orb::Internal::Type::Enum @@ -4131,7 +4209,7 @@ module Cadence # @return [Array] end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent#billing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent#billing_cycle_configuration class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -4142,10 +4220,10 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -4154,11 +4232,11 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -4170,7 +4248,7 @@ module DurationUnit end end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent#dimensional_price_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent#dimensional_price_configuration class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!attribute dimension_values # The list of dimension values matching (in order) the dimensions of the price @@ -4193,7 +4271,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::DimensionalPriceConfiguration} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::DimensionalPriceConfiguration} # for more details. # # For dimensional price: specifies a price group and dimension values @@ -4205,7 +4283,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent#invoicing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent#invoicing_cycle_configuration class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -4216,10 +4294,10 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -4228,11 +4306,11 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -4249,10 +4327,10 @@ class PackageWithAllocation < Orb::Internal::Type::BaseModel # @!attribute cadence # The cadence to bill for this price on. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::Cadence] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::Cadence] required :cadence, enum: -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::Cadence } # @!attribute item_id @@ -4296,10 +4374,10 @@ class PackageWithAllocation < Orb::Internal::Type::BaseModel # For custom cadence: specifies the duration of the billing period in days or # months. # - # @return [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration, nil] optional :billing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration }, nil?: true @@ -4319,10 +4397,10 @@ class PackageWithAllocation < Orb::Internal::Type::BaseModel # @!attribute dimensional_price_configuration # For dimensional price: specifies a price group and dimension values # - # @return [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::DimensionalPriceConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::DimensionalPriceConfiguration, nil] optional :dimensional_price_configuration, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::DimensionalPriceConfiguration }, nil?: true @@ -4349,10 +4427,10 @@ class PackageWithAllocation < Orb::Internal::Type::BaseModel # 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::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration, nil] optional :invoicing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration }, nil?: true @@ -4366,10 +4444,10 @@ class PackageWithAllocation < Orb::Internal::Type::BaseModel # @!method initialize(cadence:, item_id:, name:, package_with_allocation_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :package_with_allocation) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation} # for more details. # - # @param cadence [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::Cadence] The cadence to bill for this price on. + # @param cadence [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::Cadence] The cadence to bill for this price on. # # @param item_id [String] The id of the item the price will be associated with. # @@ -4381,13 +4459,13 @@ class PackageWithAllocation < Orb::Internal::Type::BaseModel # # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi # - # @param billing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # @param billing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont # # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. # # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr # - # @param dimensional_price_configuration [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # @param dimensional_price_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values # # @param external_price_id [String, nil] An alias for the price. # @@ -4395,7 +4473,7 @@ class PackageWithAllocation < Orb::Internal::Type::BaseModel # # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice # - # @param invoicing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # @param invoicing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. # # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed # @@ -4403,7 +4481,7 @@ class PackageWithAllocation < Orb::Internal::Type::BaseModel # The cadence to bill for this price on. # - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation#cadence + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation#cadence module Cadence extend Orb::Internal::Type::Enum @@ -4418,7 +4496,7 @@ module Cadence # @return [Array] end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation#billing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation#billing_cycle_configuration class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -4429,10 +4507,10 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -4441,11 +4519,11 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -4457,7 +4535,7 @@ module DurationUnit end end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation#dimensional_price_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation#dimensional_price_configuration class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!attribute dimension_values # The list of dimension values matching (in order) the dimensions of the price @@ -4480,7 +4558,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::DimensionalPriceConfiguration} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::DimensionalPriceConfiguration} # for more details. # # For dimensional price: specifies a price group and dimension values @@ -4492,7 +4570,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation#invoicing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation#invoicing_cycle_configuration class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -4503,10 +4581,10 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -4515,11 +4593,11 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -4536,10 +4614,10 @@ class TieredWithProration < Orb::Internal::Type::BaseModel # @!attribute cadence # The cadence to bill for this price on. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::Cadence] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::Cadence] required :cadence, enum: -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::Cadence } # @!attribute item_id @@ -4583,10 +4661,10 @@ class TieredWithProration < Orb::Internal::Type::BaseModel # For custom cadence: specifies the duration of the billing period in days or # months. # - # @return [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration, nil] optional :billing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration }, nil?: true @@ -4606,10 +4684,10 @@ class TieredWithProration < Orb::Internal::Type::BaseModel # @!attribute dimensional_price_configuration # For dimensional price: specifies a price group and dimension values # - # @return [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::DimensionalPriceConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::DimensionalPriceConfiguration, nil] optional :dimensional_price_configuration, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::DimensionalPriceConfiguration }, nil?: true @@ -4636,10 +4714,10 @@ class TieredWithProration < Orb::Internal::Type::BaseModel # 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::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration, nil] optional :invoicing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration }, nil?: true @@ -4653,10 +4731,10 @@ class TieredWithProration < Orb::Internal::Type::BaseModel # @!method initialize(cadence:, item_id:, name:, tiered_with_proration_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :tiered_with_proration) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration} # for more details. # - # @param cadence [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::Cadence] The cadence to bill for this price on. + # @param cadence [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::Cadence] The cadence to bill for this price on. # # @param item_id [String] The id of the item the price will be associated with. # @@ -4668,13 +4746,13 @@ class TieredWithProration < Orb::Internal::Type::BaseModel # # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi # - # @param billing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # @param billing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont # # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. # # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr # - # @param dimensional_price_configuration [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # @param dimensional_price_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values # # @param external_price_id [String, nil] An alias for the price. # @@ -4682,7 +4760,7 @@ class TieredWithProration < Orb::Internal::Type::BaseModel # # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice # - # @param invoicing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # @param invoicing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. # # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed # @@ -4690,7 +4768,7 @@ class TieredWithProration < Orb::Internal::Type::BaseModel # The cadence to bill for this price on. # - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration#cadence + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration#cadence module Cadence extend Orb::Internal::Type::Enum @@ -4705,7 +4783,7 @@ module Cadence # @return [Array] end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration#billing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration#billing_cycle_configuration class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -4716,10 +4794,10 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -4728,11 +4806,11 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -4744,7 +4822,7 @@ module DurationUnit end end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration#dimensional_price_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration#dimensional_price_configuration class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!attribute dimension_values # The list of dimension values matching (in order) the dimensions of the price @@ -4767,7 +4845,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::DimensionalPriceConfiguration} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::DimensionalPriceConfiguration} # for more details. # # For dimensional price: specifies a price group and dimension values @@ -4779,7 +4857,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration#invoicing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration#invoicing_cycle_configuration class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -4790,10 +4868,10 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -4802,11 +4880,11 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -4823,10 +4901,10 @@ class UnitWithProration < Orb::Internal::Type::BaseModel # @!attribute cadence # The cadence to bill for this price on. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::Cadence] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::Cadence] required :cadence, enum: -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::Cadence } # @!attribute item_id @@ -4869,10 +4947,10 @@ class UnitWithProration < Orb::Internal::Type::BaseModel # For custom cadence: specifies the duration of the billing period in days or # months. # - # @return [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration, nil] optional :billing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration }, nil?: true @@ -4892,10 +4970,10 @@ class UnitWithProration < Orb::Internal::Type::BaseModel # @!attribute dimensional_price_configuration # For dimensional price: specifies a price group and dimension values # - # @return [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::DimensionalPriceConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::DimensionalPriceConfiguration, nil] optional :dimensional_price_configuration, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::DimensionalPriceConfiguration }, nil?: true @@ -4922,10 +5000,10 @@ class UnitWithProration < Orb::Internal::Type::BaseModel # 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::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration, nil] optional :invoicing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration }, nil?: true @@ -4939,10 +5017,10 @@ class UnitWithProration < Orb::Internal::Type::BaseModel # @!method initialize(cadence:, item_id:, name:, unit_with_proration_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :unit_with_proration) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration} # for more details. # - # @param cadence [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::Cadence] The cadence to bill for this price on. + # @param cadence [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::Cadence] The cadence to bill for this price on. # # @param item_id [String] The id of the item the price will be associated with. # @@ -4954,13 +5032,13 @@ class UnitWithProration < Orb::Internal::Type::BaseModel # # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi # - # @param billing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # @param billing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont # # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. # # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr # - # @param dimensional_price_configuration [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # @param dimensional_price_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values # # @param external_price_id [String, nil] An alias for the price. # @@ -4968,7 +5046,7 @@ class UnitWithProration < Orb::Internal::Type::BaseModel # # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice # - # @param invoicing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # @param invoicing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. # # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed # @@ -4976,7 +5054,7 @@ class UnitWithProration < Orb::Internal::Type::BaseModel # The cadence to bill for this price on. # - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration#cadence + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration#cadence module Cadence extend Orb::Internal::Type::Enum @@ -4991,7 +5069,7 @@ module Cadence # @return [Array] end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration#billing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration#billing_cycle_configuration class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -5002,10 +5080,10 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -5014,11 +5092,11 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -5030,7 +5108,7 @@ module DurationUnit end end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration#dimensional_price_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration#dimensional_price_configuration class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!attribute dimension_values # The list of dimension values matching (in order) the dimensions of the price @@ -5053,7 +5131,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::DimensionalPriceConfiguration} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::DimensionalPriceConfiguration} # for more details. # # For dimensional price: specifies a price group and dimension values @@ -5065,7 +5143,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration#invoicing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration#invoicing_cycle_configuration class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -5076,10 +5154,10 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -5088,11 +5166,11 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -5109,10 +5187,10 @@ class GroupedAllocation < Orb::Internal::Type::BaseModel # @!attribute cadence # The cadence to bill for this price on. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::Cadence] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::Cadence] required :cadence, enum: -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::Cadence } # @!attribute grouped_allocation_config @@ -5155,10 +5233,10 @@ class GroupedAllocation < Orb::Internal::Type::BaseModel # For custom cadence: specifies the duration of the billing period in days or # months. # - # @return [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration, nil] optional :billing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration }, nil?: true @@ -5178,10 +5256,10 @@ class GroupedAllocation < Orb::Internal::Type::BaseModel # @!attribute dimensional_price_configuration # For dimensional price: specifies a price group and dimension values # - # @return [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::DimensionalPriceConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::DimensionalPriceConfiguration, nil] optional :dimensional_price_configuration, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::DimensionalPriceConfiguration }, nil?: true @@ -5208,10 +5286,10 @@ class GroupedAllocation < Orb::Internal::Type::BaseModel # 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::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration, nil] optional :invoicing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration }, nil?: true @@ -5225,10 +5303,10 @@ class GroupedAllocation < Orb::Internal::Type::BaseModel # @!method initialize(cadence:, grouped_allocation_config:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :grouped_allocation) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation} # for more details. # - # @param cadence [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::Cadence] The cadence to bill for this price on. + # @param cadence [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::Cadence] The cadence to bill for this price on. # # @param grouped_allocation_config [Hash{Symbol=>Object}] # @@ -5240,13 +5318,13 @@ class GroupedAllocation < Orb::Internal::Type::BaseModel # # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi # - # @param billing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # @param billing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont # # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. # # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr # - # @param dimensional_price_configuration [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # @param dimensional_price_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values # # @param external_price_id [String, nil] An alias for the price. # @@ -5254,7 +5332,7 @@ class GroupedAllocation < Orb::Internal::Type::BaseModel # # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice # - # @param invoicing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # @param invoicing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. # # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed # @@ -5262,7 +5340,7 @@ class GroupedAllocation < Orb::Internal::Type::BaseModel # The cadence to bill for this price on. # - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation#cadence + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation#cadence module Cadence extend Orb::Internal::Type::Enum @@ -5277,7 +5355,7 @@ module Cadence # @return [Array] end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation#billing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation#billing_cycle_configuration class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -5288,10 +5366,10 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -5300,11 +5378,11 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -5316,7 +5394,7 @@ module DurationUnit end end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation#dimensional_price_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation#dimensional_price_configuration class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!attribute dimension_values # The list of dimension values matching (in order) the dimensions of the price @@ -5339,7 +5417,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::DimensionalPriceConfiguration} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::DimensionalPriceConfiguration} # for more details. # # For dimensional price: specifies a price group and dimension values @@ -5351,7 +5429,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation#invoicing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation#invoicing_cycle_configuration class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -5362,10 +5440,10 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -5374,11 +5452,11 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -5395,10 +5473,10 @@ class GroupedWithProratedMinimum < Orb::Internal::Type::BaseModel # @!attribute cadence # The cadence to bill for this price on. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::Cadence] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::Cadence] required :cadence, enum: -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::Cadence } # @!attribute grouped_with_prorated_minimum_config @@ -5442,10 +5520,10 @@ class GroupedWithProratedMinimum < Orb::Internal::Type::BaseModel # For custom cadence: specifies the duration of the billing period in days or # months. # - # @return [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration, nil] optional :billing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration }, nil?: true @@ -5465,10 +5543,10 @@ class GroupedWithProratedMinimum < Orb::Internal::Type::BaseModel # @!attribute dimensional_price_configuration # For dimensional price: specifies a price group and dimension values # - # @return [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration, nil] optional :dimensional_price_configuration, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration }, nil?: true @@ -5495,10 +5573,10 @@ class GroupedWithProratedMinimum < Orb::Internal::Type::BaseModel # 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::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration, nil] optional :invoicing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration }, nil?: true @@ -5512,10 +5590,10 @@ class GroupedWithProratedMinimum < Orb::Internal::Type::BaseModel # @!method initialize(cadence:, grouped_with_prorated_minimum_config:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :grouped_with_prorated_minimum) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum} # for more details. # - # @param cadence [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::Cadence] The cadence to bill for this price on. + # @param cadence [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::Cadence] The cadence to bill for this price on. # # @param grouped_with_prorated_minimum_config [Hash{Symbol=>Object}] # @@ -5527,13 +5605,13 @@ class GroupedWithProratedMinimum < Orb::Internal::Type::BaseModel # # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi # - # @param billing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # @param billing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont # # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. # # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr # - # @param dimensional_price_configuration [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # @param dimensional_price_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values # # @param external_price_id [String, nil] An alias for the price. # @@ -5541,7 +5619,7 @@ class GroupedWithProratedMinimum < Orb::Internal::Type::BaseModel # # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice # - # @param invoicing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # @param invoicing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. # # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed # @@ -5549,7 +5627,7 @@ class GroupedWithProratedMinimum < Orb::Internal::Type::BaseModel # The cadence to bill for this price on. # - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum#cadence + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum#cadence module Cadence extend Orb::Internal::Type::Enum @@ -5564,7 +5642,7 @@ module Cadence # @return [Array] end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum#billing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum#billing_cycle_configuration class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -5575,10 +5653,10 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -5587,11 +5665,11 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -5603,7 +5681,7 @@ module DurationUnit end end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum#dimensional_price_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum#dimensional_price_configuration class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!attribute dimension_values # The list of dimension values matching (in order) the dimensions of the price @@ -5626,7 +5704,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration} # for more details. # # For dimensional price: specifies a price group and dimension values @@ -5638,7 +5716,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum#invoicing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum#invoicing_cycle_configuration class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -5649,10 +5727,10 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -5661,11 +5739,11 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -5682,10 +5760,10 @@ class GroupedWithMeteredMinimum < Orb::Internal::Type::BaseModel # @!attribute cadence # The cadence to bill for this price on. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::Cadence] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::Cadence] required :cadence, enum: -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::Cadence } # @!attribute grouped_with_metered_minimum_config @@ -5729,10 +5807,10 @@ class GroupedWithMeteredMinimum < Orb::Internal::Type::BaseModel # For custom cadence: specifies the duration of the billing period in days or # months. # - # @return [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration, nil] optional :billing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration }, nil?: true @@ -5752,10 +5830,10 @@ class GroupedWithMeteredMinimum < Orb::Internal::Type::BaseModel # @!attribute dimensional_price_configuration # For dimensional price: specifies a price group and dimension values # - # @return [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration, nil] optional :dimensional_price_configuration, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration }, nil?: true @@ -5782,10 +5860,10 @@ class GroupedWithMeteredMinimum < Orb::Internal::Type::BaseModel # 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::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration, nil] optional :invoicing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration }, nil?: true @@ -5799,10 +5877,10 @@ class GroupedWithMeteredMinimum < Orb::Internal::Type::BaseModel # @!method initialize(cadence:, grouped_with_metered_minimum_config:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :grouped_with_metered_minimum) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum} # for more details. # - # @param cadence [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::Cadence] The cadence to bill for this price on. + # @param cadence [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::Cadence] The cadence to bill for this price on. # # @param grouped_with_metered_minimum_config [Hash{Symbol=>Object}] # @@ -5814,13 +5892,13 @@ class GroupedWithMeteredMinimum < Orb::Internal::Type::BaseModel # # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi # - # @param billing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # @param billing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont # # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. # # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr # - # @param dimensional_price_configuration [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # @param dimensional_price_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values # # @param external_price_id [String, nil] An alias for the price. # @@ -5828,7 +5906,7 @@ class GroupedWithMeteredMinimum < Orb::Internal::Type::BaseModel # # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice # - # @param invoicing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # @param invoicing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. # # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed # @@ -5836,7 +5914,7 @@ class GroupedWithMeteredMinimum < Orb::Internal::Type::BaseModel # The cadence to bill for this price on. # - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum#cadence + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum#cadence module Cadence extend Orb::Internal::Type::Enum @@ -5851,7 +5929,7 @@ module Cadence # @return [Array] end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum#billing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum#billing_cycle_configuration class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -5862,10 +5940,10 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -5874,11 +5952,11 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -5890,7 +5968,7 @@ module DurationUnit end end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum#dimensional_price_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum#dimensional_price_configuration class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!attribute dimension_values # The list of dimension values matching (in order) the dimensions of the price @@ -5913,7 +5991,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration} # for more details. # # For dimensional price: specifies a price group and dimension values @@ -5925,7 +6003,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum#invoicing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum#invoicing_cycle_configuration class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -5936,10 +6014,10 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -5948,11 +6026,11 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -5969,10 +6047,10 @@ class MatrixWithDisplayName < Orb::Internal::Type::BaseModel # @!attribute cadence # The cadence to bill for this price on. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::Cadence] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::Cadence] required :cadence, enum: -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::Cadence } # @!attribute item_id @@ -6016,10 +6094,10 @@ class MatrixWithDisplayName < Orb::Internal::Type::BaseModel # For custom cadence: specifies the duration of the billing period in days or # months. # - # @return [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration, nil] optional :billing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration }, nil?: true @@ -6039,10 +6117,10 @@ class MatrixWithDisplayName < Orb::Internal::Type::BaseModel # @!attribute dimensional_price_configuration # For dimensional price: specifies a price group and dimension values # - # @return [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration, nil] optional :dimensional_price_configuration, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration }, nil?: true @@ -6069,10 +6147,10 @@ class MatrixWithDisplayName < Orb::Internal::Type::BaseModel # 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::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration, nil] optional :invoicing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration }, nil?: true @@ -6086,10 +6164,10 @@ class MatrixWithDisplayName < Orb::Internal::Type::BaseModel # @!method initialize(cadence:, item_id:, matrix_with_display_name_config:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :matrix_with_display_name) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName} # for more details. # - # @param cadence [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::Cadence] The cadence to bill for this price on. + # @param cadence [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::Cadence] The cadence to bill for this price on. # # @param item_id [String] The id of the item the price will be associated with. # @@ -6101,13 +6179,13 @@ class MatrixWithDisplayName < Orb::Internal::Type::BaseModel # # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi # - # @param billing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # @param billing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont # # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. # # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr # - # @param dimensional_price_configuration [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # @param dimensional_price_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values # # @param external_price_id [String, nil] An alias for the price. # @@ -6115,7 +6193,7 @@ class MatrixWithDisplayName < Orb::Internal::Type::BaseModel # # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice # - # @param invoicing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # @param invoicing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. # # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed # @@ -6123,7 +6201,7 @@ class MatrixWithDisplayName < Orb::Internal::Type::BaseModel # The cadence to bill for this price on. # - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName#cadence + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName#cadence module Cadence extend Orb::Internal::Type::Enum @@ -6138,7 +6216,7 @@ module Cadence # @return [Array] end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName#billing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName#billing_cycle_configuration class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -6149,10 +6227,10 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -6161,11 +6239,11 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -6177,7 +6255,7 @@ module DurationUnit end end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName#dimensional_price_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName#dimensional_price_configuration class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!attribute dimension_values # The list of dimension values matching (in order) the dimensions of the price @@ -6200,7 +6278,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration} # for more details. # # For dimensional price: specifies a price group and dimension values @@ -6212,7 +6290,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName#invoicing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName#invoicing_cycle_configuration class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -6223,10 +6301,10 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -6235,11 +6313,11 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -6261,10 +6339,10 @@ class BulkWithProration < Orb::Internal::Type::BaseModel # @!attribute cadence # The cadence to bill for this price on. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::Cadence] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::Cadence] required :cadence, enum: -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::Cadence } # @!attribute item_id @@ -6302,10 +6380,10 @@ class BulkWithProration < Orb::Internal::Type::BaseModel # For custom cadence: specifies the duration of the billing period in days or # months. # - # @return [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration, nil] optional :billing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration }, nil?: true @@ -6325,10 +6403,10 @@ class BulkWithProration < Orb::Internal::Type::BaseModel # @!attribute dimensional_price_configuration # For dimensional price: specifies a price group and dimension values # - # @return [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::DimensionalPriceConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::DimensionalPriceConfiguration, nil] optional :dimensional_price_configuration, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::DimensionalPriceConfiguration }, nil?: true @@ -6355,10 +6433,10 @@ class BulkWithProration < Orb::Internal::Type::BaseModel # 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::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration, nil] optional :invoicing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration }, nil?: true @@ -6372,12 +6450,12 @@ class BulkWithProration < Orb::Internal::Type::BaseModel # @!method initialize(bulk_with_proration_config:, cadence:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :bulk_with_proration) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration} # for more details. # # @param bulk_with_proration_config [Hash{Symbol=>Object}] # - # @param cadence [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::Cadence] The cadence to bill for this price on. + # @param cadence [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::Cadence] The cadence to bill for this price on. # # @param item_id [String] The id of the item the price will be associated with. # @@ -6387,13 +6465,13 @@ class BulkWithProration < Orb::Internal::Type::BaseModel # # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi # - # @param billing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # @param billing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont # # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. # # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr # - # @param dimensional_price_configuration [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # @param dimensional_price_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values # # @param external_price_id [String, nil] An alias for the price. # @@ -6401,7 +6479,7 @@ class BulkWithProration < Orb::Internal::Type::BaseModel # # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice # - # @param invoicing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # @param invoicing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. # # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed # @@ -6409,7 +6487,7 @@ class BulkWithProration < Orb::Internal::Type::BaseModel # The cadence to bill for this price on. # - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration#cadence + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration#cadence module Cadence extend Orb::Internal::Type::Enum @@ -6424,7 +6502,7 @@ module Cadence # @return [Array] end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration#billing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration#billing_cycle_configuration class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -6435,10 +6513,10 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -6447,11 +6525,11 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -6463,7 +6541,7 @@ module DurationUnit end end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration#dimensional_price_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration#dimensional_price_configuration class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!attribute dimension_values # The list of dimension values matching (in order) the dimensions of the price @@ -6486,7 +6564,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::DimensionalPriceConfiguration} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::DimensionalPriceConfiguration} # for more details. # # For dimensional price: specifies a price group and dimension values @@ -6498,7 +6576,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration#invoicing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration#invoicing_cycle_configuration class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -6509,10 +6587,10 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -6521,11 +6599,11 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -6542,10 +6620,10 @@ class GroupedTieredPackage < Orb::Internal::Type::BaseModel # @!attribute cadence # The cadence to bill for this price on. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::Cadence] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::Cadence] required :cadence, enum: -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::Cadence } # @!attribute grouped_tiered_package_config @@ -6589,10 +6667,10 @@ class GroupedTieredPackage < Orb::Internal::Type::BaseModel # For custom cadence: specifies the duration of the billing period in days or # months. # - # @return [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration, nil] optional :billing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration }, nil?: true @@ -6612,10 +6690,10 @@ class GroupedTieredPackage < Orb::Internal::Type::BaseModel # @!attribute dimensional_price_configuration # For dimensional price: specifies a price group and dimension values # - # @return [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration, nil] optional :dimensional_price_configuration, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration }, nil?: true @@ -6642,10 +6720,10 @@ class GroupedTieredPackage < Orb::Internal::Type::BaseModel # 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::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration, nil] optional :invoicing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration }, nil?: true @@ -6659,10 +6737,10 @@ class GroupedTieredPackage < Orb::Internal::Type::BaseModel # @!method initialize(cadence:, grouped_tiered_package_config:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :grouped_tiered_package) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage} # for more details. # - # @param cadence [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::Cadence] The cadence to bill for this price on. + # @param cadence [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::Cadence] The cadence to bill for this price on. # # @param grouped_tiered_package_config [Hash{Symbol=>Object}] # @@ -6674,13 +6752,13 @@ class GroupedTieredPackage < Orb::Internal::Type::BaseModel # # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi # - # @param billing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # @param billing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont # # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. # # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr # - # @param dimensional_price_configuration [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # @param dimensional_price_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values # # @param external_price_id [String, nil] An alias for the price. # @@ -6688,7 +6766,7 @@ class GroupedTieredPackage < Orb::Internal::Type::BaseModel # # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice # - # @param invoicing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # @param invoicing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. # # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed # @@ -6696,7 +6774,7 @@ class GroupedTieredPackage < Orb::Internal::Type::BaseModel # The cadence to bill for this price on. # - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage#cadence + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage#cadence module Cadence extend Orb::Internal::Type::Enum @@ -6711,7 +6789,7 @@ module Cadence # @return [Array] end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage#billing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage#billing_cycle_configuration class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -6722,10 +6800,10 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -6734,11 +6812,11 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -6750,7 +6828,7 @@ module DurationUnit end end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage#dimensional_price_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage#dimensional_price_configuration class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!attribute dimension_values # The list of dimension values matching (in order) the dimensions of the price @@ -6773,7 +6851,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration} # for more details. # # For dimensional price: specifies a price group and dimension values @@ -6785,7 +6863,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage#invoicing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage#invoicing_cycle_configuration class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -6796,10 +6874,10 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -6808,11 +6886,11 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -6829,10 +6907,10 @@ class MaxGroupTieredPackage < Orb::Internal::Type::BaseModel # @!attribute cadence # The cadence to bill for this price on. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::Cadence] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::Cadence] required :cadence, enum: -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::Cadence } # @!attribute item_id @@ -6876,10 +6954,10 @@ class MaxGroupTieredPackage < Orb::Internal::Type::BaseModel # For custom cadence: specifies the duration of the billing period in days or # months. # - # @return [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration, nil] optional :billing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration }, nil?: true @@ -6899,10 +6977,10 @@ class MaxGroupTieredPackage < Orb::Internal::Type::BaseModel # @!attribute dimensional_price_configuration # For dimensional price: specifies a price group and dimension values # - # @return [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration, nil] optional :dimensional_price_configuration, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration }, nil?: true @@ -6929,10 +7007,10 @@ class MaxGroupTieredPackage < Orb::Internal::Type::BaseModel # 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::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration, nil] optional :invoicing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration }, nil?: true @@ -6946,10 +7024,10 @@ class MaxGroupTieredPackage < Orb::Internal::Type::BaseModel # @!method initialize(cadence:, item_id:, max_group_tiered_package_config:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :max_group_tiered_package) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage} # for more details. # - # @param cadence [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::Cadence] The cadence to bill for this price on. + # @param cadence [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::Cadence] The cadence to bill for this price on. # # @param item_id [String] The id of the item the price will be associated with. # @@ -6961,13 +7039,13 @@ class MaxGroupTieredPackage < Orb::Internal::Type::BaseModel # # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi # - # @param billing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # @param billing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont # # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. # # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr # - # @param dimensional_price_configuration [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # @param dimensional_price_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values # # @param external_price_id [String, nil] An alias for the price. # @@ -6975,7 +7053,7 @@ class MaxGroupTieredPackage < Orb::Internal::Type::BaseModel # # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice # - # @param invoicing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # @param invoicing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. # # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed # @@ -6983,7 +7061,7 @@ class MaxGroupTieredPackage < Orb::Internal::Type::BaseModel # The cadence to bill for this price on. # - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage#cadence + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage#cadence module Cadence extend Orb::Internal::Type::Enum @@ -6998,7 +7076,7 @@ module Cadence # @return [Array] end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage#billing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage#billing_cycle_configuration class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -7009,10 +7087,10 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -7021,11 +7099,11 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -7037,7 +7115,7 @@ module DurationUnit end end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage#dimensional_price_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage#dimensional_price_configuration class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!attribute dimension_values # The list of dimension values matching (in order) the dimensions of the price @@ -7060,7 +7138,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration} # for more details. # # For dimensional price: specifies a price group and dimension values @@ -7072,7 +7150,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage#invoicing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage#invoicing_cycle_configuration class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -7083,10 +7161,10 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -7095,11 +7173,11 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -7116,10 +7194,10 @@ class ScalableMatrixWithUnitPricing < Orb::Internal::Type::BaseModel # @!attribute cadence # The cadence to bill for this price on. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::Cadence] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::Cadence] required :cadence, enum: -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::Cadence } # @!attribute item_id @@ -7163,10 +7241,10 @@ class ScalableMatrixWithUnitPricing < Orb::Internal::Type::BaseModel # For custom cadence: specifies the duration of the billing period in days or # months. # - # @return [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration, nil] optional :billing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration }, nil?: true @@ -7186,10 +7264,10 @@ class ScalableMatrixWithUnitPricing < Orb::Internal::Type::BaseModel # @!attribute dimensional_price_configuration # For dimensional price: specifies a price group and dimension values # - # @return [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration, nil] optional :dimensional_price_configuration, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration }, nil?: true @@ -7216,10 +7294,10 @@ class ScalableMatrixWithUnitPricing < Orb::Internal::Type::BaseModel # 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::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration, nil] optional :invoicing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration }, nil?: true @@ -7233,10 +7311,10 @@ class ScalableMatrixWithUnitPricing < Orb::Internal::Type::BaseModel # @!method initialize(cadence:, item_id:, name:, scalable_matrix_with_unit_pricing_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :scalable_matrix_with_unit_pricing) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing} # for more details. # - # @param cadence [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::Cadence] The cadence to bill for this price on. + # @param cadence [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::Cadence] The cadence to bill for this price on. # # @param item_id [String] The id of the item the price will be associated with. # @@ -7248,13 +7326,13 @@ class ScalableMatrixWithUnitPricing < Orb::Internal::Type::BaseModel # # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi # - # @param billing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # @param billing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont # # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. # # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr # - # @param dimensional_price_configuration [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # @param dimensional_price_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values # # @param external_price_id [String, nil] An alias for the price. # @@ -7262,7 +7340,7 @@ class ScalableMatrixWithUnitPricing < Orb::Internal::Type::BaseModel # # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice # - # @param invoicing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # @param invoicing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. # # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed # @@ -7270,7 +7348,7 @@ class ScalableMatrixWithUnitPricing < Orb::Internal::Type::BaseModel # The cadence to bill for this price on. # - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing#cadence + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing#cadence module Cadence extend Orb::Internal::Type::Enum @@ -7285,7 +7363,7 @@ module Cadence # @return [Array] end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing#billing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing#billing_cycle_configuration class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -7296,10 +7374,10 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -7308,11 +7386,11 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -7324,7 +7402,7 @@ module DurationUnit end end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing#dimensional_price_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing#dimensional_price_configuration class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!attribute dimension_values # The list of dimension values matching (in order) the dimensions of the price @@ -7347,7 +7425,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration} # for more details. # # For dimensional price: specifies a price group and dimension values @@ -7359,7 +7437,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing#invoicing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing#invoicing_cycle_configuration class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -7370,10 +7448,10 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -7382,11 +7460,11 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -7403,10 +7481,10 @@ class ScalableMatrixWithTieredPricing < Orb::Internal::Type::BaseModel # @!attribute cadence # The cadence to bill for this price on. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::Cadence] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::Cadence] required :cadence, enum: -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::Cadence } # @!attribute item_id @@ -7450,10 +7528,10 @@ class ScalableMatrixWithTieredPricing < Orb::Internal::Type::BaseModel # For custom cadence: specifies the duration of the billing period in days or # months. # - # @return [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration, nil] optional :billing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration }, nil?: true @@ -7473,10 +7551,10 @@ class ScalableMatrixWithTieredPricing < Orb::Internal::Type::BaseModel # @!attribute dimensional_price_configuration # For dimensional price: specifies a price group and dimension values # - # @return [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration, nil] optional :dimensional_price_configuration, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration }, nil?: true @@ -7503,10 +7581,10 @@ class ScalableMatrixWithTieredPricing < Orb::Internal::Type::BaseModel # 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::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration, nil] optional :invoicing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration }, nil?: true @@ -7520,10 +7598,10 @@ class ScalableMatrixWithTieredPricing < Orb::Internal::Type::BaseModel # @!method initialize(cadence:, item_id:, name:, scalable_matrix_with_tiered_pricing_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :scalable_matrix_with_tiered_pricing) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing} # for more details. # - # @param cadence [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::Cadence] The cadence to bill for this price on. + # @param cadence [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::Cadence] The cadence to bill for this price on. # # @param item_id [String] The id of the item the price will be associated with. # @@ -7535,13 +7613,13 @@ class ScalableMatrixWithTieredPricing < Orb::Internal::Type::BaseModel # # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi # - # @param billing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # @param billing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont # # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. # # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr # - # @param dimensional_price_configuration [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # @param dimensional_price_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values # # @param external_price_id [String, nil] An alias for the price. # @@ -7549,7 +7627,7 @@ class ScalableMatrixWithTieredPricing < Orb::Internal::Type::BaseModel # # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice # - # @param invoicing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # @param invoicing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. # # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed # @@ -7557,7 +7635,7 @@ class ScalableMatrixWithTieredPricing < Orb::Internal::Type::BaseModel # The cadence to bill for this price on. # - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing#cadence + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing#cadence module Cadence extend Orb::Internal::Type::Enum @@ -7572,7 +7650,7 @@ module Cadence # @return [Array] end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing#billing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing#billing_cycle_configuration class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -7583,10 +7661,10 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -7595,11 +7673,11 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -7611,7 +7689,7 @@ module DurationUnit end end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing#dimensional_price_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing#dimensional_price_configuration class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!attribute dimension_values # The list of dimension values matching (in order) the dimensions of the price @@ -7634,7 +7712,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration} # for more details. # # For dimensional price: specifies a price group and dimension values @@ -7646,7 +7724,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing#invoicing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing#invoicing_cycle_configuration class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -7657,10 +7735,10 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -7669,11 +7747,11 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -7690,10 +7768,10 @@ class CumulativeGroupedBulk < Orb::Internal::Type::BaseModel # @!attribute cadence # The cadence to bill for this price on. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::Cadence] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::Cadence] required :cadence, enum: -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::Cadence } # @!attribute cumulative_grouped_bulk_config @@ -7737,10 +7815,10 @@ class CumulativeGroupedBulk < Orb::Internal::Type::BaseModel # For custom cadence: specifies the duration of the billing period in days or # months. # - # @return [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration, nil] optional :billing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration }, nil?: true @@ -7760,10 +7838,10 @@ class CumulativeGroupedBulk < Orb::Internal::Type::BaseModel # @!attribute dimensional_price_configuration # For dimensional price: specifies a price group and dimension values # - # @return [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration, nil] optional :dimensional_price_configuration, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration }, nil?: true @@ -7790,10 +7868,10 @@ class CumulativeGroupedBulk < Orb::Internal::Type::BaseModel # 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::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration, nil] optional :invoicing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration }, nil?: true @@ -7807,10 +7885,10 @@ class CumulativeGroupedBulk < Orb::Internal::Type::BaseModel # @!method 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, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :cumulative_grouped_bulk) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk} # for more details. # - # @param cadence [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::Cadence] The cadence to bill for this price on. + # @param cadence [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::Cadence] The cadence to bill for this price on. # # @param cumulative_grouped_bulk_config [Hash{Symbol=>Object}] # @@ -7822,13 +7900,13 @@ class CumulativeGroupedBulk < Orb::Internal::Type::BaseModel # # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi # - # @param billing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # @param billing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont # # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. # # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr # - # @param dimensional_price_configuration [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # @param dimensional_price_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values # # @param external_price_id [String, nil] An alias for the price. # @@ -7836,7 +7914,7 @@ class CumulativeGroupedBulk < Orb::Internal::Type::BaseModel # # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice # - # @param invoicing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # @param invoicing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. # # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed # @@ -7844,7 +7922,7 @@ class CumulativeGroupedBulk < Orb::Internal::Type::BaseModel # The cadence to bill for this price on. # - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk#cadence + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk#cadence module Cadence extend Orb::Internal::Type::Enum @@ -7859,7 +7937,7 @@ module Cadence # @return [Array] end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk#billing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk#billing_cycle_configuration class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -7870,10 +7948,10 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -7882,11 +7960,11 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -7898,7 +7976,7 @@ module DurationUnit end end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk#dimensional_price_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk#dimensional_price_configuration class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!attribute dimension_values # The list of dimension values matching (in order) the dimensions of the price @@ -7921,7 +7999,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration} # for more details. # # For dimensional price: specifies a price group and dimension values @@ -7933,7 +8011,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk#invoicing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk#invoicing_cycle_configuration class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -7944,10 +8022,10 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -7956,11 +8034,11 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -7977,10 +8055,10 @@ class TieredPackageWithMinimum < Orb::Internal::Type::BaseModel # @!attribute cadence # The cadence to bill for this price on. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::Cadence] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::Cadence] required :cadence, enum: -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::Cadence } # @!attribute item_id @@ -8024,10 +8102,10 @@ class TieredPackageWithMinimum < Orb::Internal::Type::BaseModel # For custom cadence: specifies the duration of the billing period in days or # months. # - # @return [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration, nil] optional :billing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration }, nil?: true @@ -8047,10 +8125,10 @@ class TieredPackageWithMinimum < Orb::Internal::Type::BaseModel # @!attribute dimensional_price_configuration # For dimensional price: specifies a price group and dimension values # - # @return [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration, nil] optional :dimensional_price_configuration, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration }, nil?: true @@ -8077,10 +8155,10 @@ class TieredPackageWithMinimum < Orb::Internal::Type::BaseModel # 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::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration, nil] optional :invoicing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration }, nil?: true @@ -8094,10 +8172,10 @@ class TieredPackageWithMinimum < Orb::Internal::Type::BaseModel # @!method initialize(cadence:, item_id:, name:, tiered_package_with_minimum_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :tiered_package_with_minimum) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum} # for more details. # - # @param cadence [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::Cadence] The cadence to bill for this price on. + # @param cadence [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::Cadence] The cadence to bill for this price on. # # @param item_id [String] The id of the item the price will be associated with. # @@ -8109,13 +8187,13 @@ class TieredPackageWithMinimum < Orb::Internal::Type::BaseModel # # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi # - # @param billing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # @param billing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont # # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. # # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr # - # @param dimensional_price_configuration [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # @param dimensional_price_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values # # @param external_price_id [String, nil] An alias for the price. # @@ -8123,7 +8201,7 @@ class TieredPackageWithMinimum < Orb::Internal::Type::BaseModel # # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice # - # @param invoicing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # @param invoicing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. # # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed # @@ -8131,7 +8209,7 @@ class TieredPackageWithMinimum < Orb::Internal::Type::BaseModel # The cadence to bill for this price on. # - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum#cadence + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum#cadence module Cadence extend Orb::Internal::Type::Enum @@ -8146,7 +8224,7 @@ module Cadence # @return [Array] end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum#billing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum#billing_cycle_configuration class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -8157,10 +8235,10 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -8169,11 +8247,11 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -8185,7 +8263,7 @@ module DurationUnit end end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum#dimensional_price_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum#dimensional_price_configuration class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!attribute dimension_values # The list of dimension values matching (in order) the dimensions of the price @@ -8208,7 +8286,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration} # for more details. # # For dimensional price: specifies a price group and dimension values @@ -8220,7 +8298,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum#invoicing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum#invoicing_cycle_configuration class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -8231,10 +8309,10 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -8243,11 +8321,11 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -8264,10 +8342,10 @@ class MatrixWithAllocation < Orb::Internal::Type::BaseModel # @!attribute cadence # The cadence to bill for this price on. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::Cadence] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::Cadence] required :cadence, enum: -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::Cadence } # @!attribute item_id @@ -8278,10 +8356,10 @@ class MatrixWithAllocation < Orb::Internal::Type::BaseModel # @!attribute matrix_with_allocation_config # - # @return [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig] required :matrix_with_allocation_config, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig } # @!attribute model_type @@ -8313,10 +8391,10 @@ class MatrixWithAllocation < Orb::Internal::Type::BaseModel # For custom cadence: specifies the duration of the billing period in days or # months. # - # @return [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration, nil] optional :billing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration }, nil?: true @@ -8336,10 +8414,10 @@ class MatrixWithAllocation < Orb::Internal::Type::BaseModel # @!attribute dimensional_price_configuration # For dimensional price: specifies a price group and dimension values # - # @return [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration, nil] optional :dimensional_price_configuration, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration }, nil?: true @@ -8366,10 +8444,10 @@ class MatrixWithAllocation < Orb::Internal::Type::BaseModel # 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::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration, nil] optional :invoicing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration }, nil?: true @@ -8383,14 +8461,14 @@ class MatrixWithAllocation < Orb::Internal::Type::BaseModel # @!method initialize(cadence:, item_id:, matrix_with_allocation_config:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :matrix_with_allocation) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation} # for more details. # - # @param cadence [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::Cadence] The cadence to bill for this price on. + # @param cadence [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::Cadence] The cadence to bill for this price on. # # @param item_id [String] The id of the item the price will be associated with. # - # @param matrix_with_allocation_config [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig] + # @param matrix_with_allocation_config [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig] # # @param name [String] The name of the price. # @@ -8398,13 +8476,13 @@ class MatrixWithAllocation < Orb::Internal::Type::BaseModel # # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi # - # @param billing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # @param billing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont # # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. # # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr # - # @param dimensional_price_configuration [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # @param dimensional_price_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values # # @param external_price_id [String, nil] An alias for the price. # @@ -8412,7 +8490,7 @@ class MatrixWithAllocation < Orb::Internal::Type::BaseModel # # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice # - # @param invoicing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # @param invoicing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. # # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed # @@ -8420,7 +8498,7 @@ class MatrixWithAllocation < Orb::Internal::Type::BaseModel # The cadence to bill for this price on. # - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation#cadence + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation#cadence module Cadence extend Orb::Internal::Type::Enum @@ -8435,7 +8513,7 @@ module Cadence # @return [Array] end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation#matrix_with_allocation_config + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation#matrix_with_allocation_config class MatrixWithAllocationConfig < Orb::Internal::Type::BaseModel # @!attribute allocation # Allocation to be used to calculate the price @@ -8458,11 +8536,11 @@ class MatrixWithAllocationConfig < Orb::Internal::Type::BaseModel # @!attribute matrix_values # Matrix values for specified matrix grouping keys # - # @return [Array] + # @return [Array] required :matrix_values, -> do Orb::Internal::Type::ArrayOf[ - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue ] end @@ -8473,7 +8551,7 @@ class MatrixWithAllocationConfig < Orb::Internal::Type::BaseModel # # @param dimensions [Array] One or two event property values to evaluate matrix groups by # - # @param matrix_values [Array] Matrix values for specified matrix grouping keys + # @param matrix_values [Array] Matrix values for specified matrix grouping keys class MatrixValue < Orb::Internal::Type::BaseModel # @!attribute dimension_values @@ -8492,7 +8570,7 @@ class MatrixValue < Orb::Internal::Type::BaseModel # @!method initialize(dimension_values:, unit_amount:) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue} # for more details. # # @param dimension_values [Array] One or two matrix keys to filter usage to this Matrix value by. For example, ["r @@ -8501,7 +8579,7 @@ class MatrixValue < Orb::Internal::Type::BaseModel end end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation#billing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation#billing_cycle_configuration class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -8512,10 +8590,10 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -8524,11 +8602,11 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -8540,7 +8618,7 @@ module DurationUnit end end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation#dimensional_price_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation#dimensional_price_configuration class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!attribute dimension_values # The list of dimension values matching (in order) the dimensions of the price @@ -8563,7 +8641,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration} # for more details. # # For dimensional price: specifies a price group and dimension values @@ -8575,7 +8653,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation#invoicing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation#invoicing_cycle_configuration class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -8586,10 +8664,10 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -8598,11 +8676,11 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -8619,10 +8697,10 @@ class GroupedTiered < Orb::Internal::Type::BaseModel # @!attribute cadence # The cadence to bill for this price on. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::Cadence] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::Cadence] required :cadence, enum: -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::Cadence } # @!attribute grouped_tiered_config @@ -8665,10 +8743,10 @@ class GroupedTiered < Orb::Internal::Type::BaseModel # For custom cadence: specifies the duration of the billing period in days or # months. # - # @return [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration, nil] optional :billing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration }, nil?: true @@ -8688,10 +8766,10 @@ class GroupedTiered < Orb::Internal::Type::BaseModel # @!attribute dimensional_price_configuration # For dimensional price: specifies a price group and dimension values # - # @return [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::DimensionalPriceConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::DimensionalPriceConfiguration, nil] optional :dimensional_price_configuration, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::DimensionalPriceConfiguration }, nil?: true @@ -8718,10 +8796,10 @@ class GroupedTiered < Orb::Internal::Type::BaseModel # 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::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration, nil] optional :invoicing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration }, nil?: true @@ -8735,10 +8813,10 @@ class GroupedTiered < Orb::Internal::Type::BaseModel # @!method initialize(cadence:, grouped_tiered_config:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :grouped_tiered) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered} for - # more details. + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered} + # for more details. # - # @param cadence [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::Cadence] The cadence to bill for this price on. + # @param cadence [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::Cadence] The cadence to bill for this price on. # # @param grouped_tiered_config [Hash{Symbol=>Object}] # @@ -8750,13 +8828,13 @@ class GroupedTiered < Orb::Internal::Type::BaseModel # # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi # - # @param billing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # @param billing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont # # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. # # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr # - # @param dimensional_price_configuration [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # @param dimensional_price_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values # # @param external_price_id [String, nil] An alias for the price. # @@ -8764,7 +8842,7 @@ class GroupedTiered < Orb::Internal::Type::BaseModel # # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice # - # @param invoicing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # @param invoicing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. # # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed # @@ -8772,7 +8850,7 @@ class GroupedTiered < Orb::Internal::Type::BaseModel # The cadence to bill for this price on. # - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered#cadence + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered#cadence module Cadence extend Orb::Internal::Type::Enum @@ -8787,7 +8865,7 @@ module Cadence # @return [Array] end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered#billing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered#billing_cycle_configuration class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -8798,10 +8876,10 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -8810,11 +8888,11 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -8826,7 +8904,7 @@ module DurationUnit end end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered#dimensional_price_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered#dimensional_price_configuration class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!attribute dimension_values # The list of dimension values matching (in order) the dimensions of the price @@ -8849,7 +8927,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::DimensionalPriceConfiguration} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::DimensionalPriceConfiguration} # for more details. # # For dimensional price: specifies a price group and dimension values @@ -8861,7 +8939,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in end - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered#invoicing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered#invoicing_cycle_configuration class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -8872,10 +8950,10 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -8884,11 +8962,11 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -8902,7 +8980,7 @@ module DurationUnit end # @!method self.variants - # @return [Array(Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Unit, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Package, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Matrix, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Tiered, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredBps, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Bps, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::BulkBps, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Bulk, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredPackage, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation, Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered)] + # @return [Array(Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered)] end end @@ -8948,8 +9026,11 @@ class ReplaceAdjustment < Orb::Internal::Type::BaseModel # @!attribute adjustment # The definition of a new adjustment to create and add to the plan. # - # @return [Orb::Models::Plans::VersionCreateParams::ReplaceAdjustment::Adjustment::PercentageDiscount, Orb::Models::Plans::VersionCreateParams::ReplaceAdjustment::Adjustment::UsageDiscount, Orb::Models::Plans::VersionCreateParams::ReplaceAdjustment::Adjustment::AmountDiscount, Orb::Models::Plans::VersionCreateParams::ReplaceAdjustment::Adjustment::Minimum, Orb::Models::Plans::VersionCreateParams::ReplaceAdjustment::Adjustment::Maximum] - required :adjustment, union: -> { Orb::Plans::VersionCreateParams::ReplaceAdjustment::Adjustment } + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplaceAdjustment::Adjustment::PercentageDiscount, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplaceAdjustment::Adjustment::UsageDiscount, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplaceAdjustment::Adjustment::AmountDiscount, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplaceAdjustment::Adjustment::Minimum, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplaceAdjustment::Adjustment::Maximum] + required :adjustment, + union: -> { + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplaceAdjustment::Adjustment + } # @!attribute replaces_adjustment_id # The id of the adjustment on the plan to replace in the plan. @@ -8964,7 +9045,7 @@ class ReplaceAdjustment < Orb::Internal::Type::BaseModel optional :plan_phase_order, Integer, nil?: true # @!method initialize(adjustment:, replaces_adjustment_id:, plan_phase_order: nil) - # @param adjustment [Orb::Models::Plans::VersionCreateParams::ReplaceAdjustment::Adjustment::PercentageDiscount, Orb::Models::Plans::VersionCreateParams::ReplaceAdjustment::Adjustment::UsageDiscount, Orb::Models::Plans::VersionCreateParams::ReplaceAdjustment::Adjustment::AmountDiscount, Orb::Models::Plans::VersionCreateParams::ReplaceAdjustment::Adjustment::Minimum, Orb::Models::Plans::VersionCreateParams::ReplaceAdjustment::Adjustment::Maximum] The definition of a new adjustment to create and add to the plan. + # @param adjustment [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplaceAdjustment::Adjustment::PercentageDiscount, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplaceAdjustment::Adjustment::UsageDiscount, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplaceAdjustment::Adjustment::AmountDiscount, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplaceAdjustment::Adjustment::Minimum, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplaceAdjustment::Adjustment::Maximum] The definition of a new adjustment to create and add to the plan. # # @param replaces_adjustment_id [String] The id of the adjustment on the plan to replace in the plan. # @@ -8972,24 +9053,36 @@ class ReplaceAdjustment < Orb::Internal::Type::BaseModel # The definition of a new adjustment to create and add to the plan. # - # @see Orb::Models::Plans::VersionCreateParams::ReplaceAdjustment#adjustment + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplaceAdjustment#adjustment module Adjustment extend Orb::Internal::Type::Union discriminator :adjustment_type variant :percentage_discount, - -> { Orb::Plans::VersionCreateParams::ReplaceAdjustment::Adjustment::PercentageDiscount } + -> { + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplaceAdjustment::Adjustment::PercentageDiscount + } variant :usage_discount, - -> { Orb::Plans::VersionCreateParams::ReplaceAdjustment::Adjustment::UsageDiscount } + -> { + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplaceAdjustment::Adjustment::UsageDiscount + } variant :amount_discount, - -> { Orb::Plans::VersionCreateParams::ReplaceAdjustment::Adjustment::AmountDiscount } + -> { + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplaceAdjustment::Adjustment::AmountDiscount + } - variant :minimum, -> { Orb::Plans::VersionCreateParams::ReplaceAdjustment::Adjustment::Minimum } + variant :minimum, + -> { + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplaceAdjustment::Adjustment::Minimum + } - variant :maximum, -> { Orb::Plans::VersionCreateParams::ReplaceAdjustment::Adjustment::Maximum } + variant :maximum, + -> { + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplaceAdjustment::Adjustment::Maximum + } class PercentageDiscount < Orb::Internal::Type::BaseModel # @!attribute adjustment_type @@ -9017,7 +9110,7 @@ class PercentageDiscount < Orb::Internal::Type::BaseModel # @!method initialize(percentage_discount:, applies_to_price_ids: nil, is_invoice_level: nil, adjustment_type: :percentage_discount) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::ReplaceAdjustment::Adjustment::PercentageDiscount} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplaceAdjustment::Adjustment::PercentageDiscount} # for more details. # # @param percentage_discount [Float] @@ -9055,7 +9148,7 @@ class UsageDiscount < Orb::Internal::Type::BaseModel # @!method initialize(usage_discount:, applies_to_price_ids: nil, is_invoice_level: nil, adjustment_type: :usage_discount) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::ReplaceAdjustment::Adjustment::UsageDiscount} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplaceAdjustment::Adjustment::UsageDiscount} # for more details. # # @param usage_discount [Float] @@ -9093,7 +9186,7 @@ class AmountDiscount < Orb::Internal::Type::BaseModel # @!method initialize(amount_discount:, applies_to_price_ids: nil, is_invoice_level: nil, adjustment_type: :amount_discount) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::ReplaceAdjustment::Adjustment::AmountDiscount} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplaceAdjustment::Adjustment::AmountDiscount} # for more details. # # @param amount_discount [String] @@ -9137,7 +9230,7 @@ class Minimum < Orb::Internal::Type::BaseModel # @!method initialize(item_id:, minimum_amount:, applies_to_price_ids: nil, is_invoice_level: nil, adjustment_type: :minimum) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::ReplaceAdjustment::Adjustment::Minimum} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplaceAdjustment::Adjustment::Minimum} # for more details. # # @param item_id [String] The item ID that revenue from this minimum will be attributed to. @@ -9177,7 +9270,7 @@ class Maximum < Orb::Internal::Type::BaseModel # @!method initialize(maximum_amount:, applies_to_price_ids: nil, is_invoice_level: nil, adjustment_type: :maximum) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::ReplaceAdjustment::Adjustment::Maximum} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplaceAdjustment::Adjustment::Maximum} # for more details. # # @param maximum_amount [String] @@ -9190,7 +9283,7 @@ class Maximum < Orb::Internal::Type::BaseModel end # @!method self.variants - # @return [Array(Orb::Models::Plans::VersionCreateParams::ReplaceAdjustment::Adjustment::PercentageDiscount, Orb::Models::Plans::VersionCreateParams::ReplaceAdjustment::Adjustment::UsageDiscount, Orb::Models::Plans::VersionCreateParams::ReplaceAdjustment::Adjustment::AmountDiscount, Orb::Models::Plans::VersionCreateParams::ReplaceAdjustment::Adjustment::Minimum, Orb::Models::Plans::VersionCreateParams::ReplaceAdjustment::Adjustment::Maximum)] + # @return [Array(Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplaceAdjustment::Adjustment::PercentageDiscount, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplaceAdjustment::Adjustment::UsageDiscount, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplaceAdjustment::Adjustment::AmountDiscount, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplaceAdjustment::Adjustment::Minimum, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplaceAdjustment::Adjustment::Maximum)] end end @@ -9204,9 +9297,9 @@ class ReplacePrice < Orb::Internal::Type::BaseModel # @!attribute allocation_price # The allocation price to add to the plan. # - # @return [Orb::Models::Plans::VersionCreateParams::ReplacePrice::AllocationPrice, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::AllocationPrice, nil] optional :allocation_price, - -> { Orb::Plans::VersionCreateParams::ReplacePrice::AllocationPrice }, + -> { Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::AllocationPrice }, nil?: true # @!attribute plan_phase_order @@ -9218,19 +9311,21 @@ class ReplacePrice < Orb::Internal::Type::BaseModel # @!attribute price # The price to add to the plan # - # @return [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Unit, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Package, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Matrix, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Tiered, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Bps, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Bulk, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered, nil] - optional :price, union: -> { Orb::Plans::VersionCreateParams::ReplacePrice::Price }, nil?: true + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered, nil] + optional :price, + union: -> { Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price }, + nil?: true # @!method initialize(replaces_price_id:, allocation_price: nil, plan_phase_order: nil, price: nil) # @param replaces_price_id [String] The id of the price on the plan to replace in the plan. # - # @param allocation_price [Orb::Models::Plans::VersionCreateParams::ReplacePrice::AllocationPrice, nil] The allocation price to add to the plan. + # @param allocation_price [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::AllocationPrice, nil] The allocation price to add to the plan. # # @param plan_phase_order [Integer, nil] The phase to replace this price from. # - # @param price [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Unit, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Package, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Matrix, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Tiered, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Bps, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Bulk, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered, nil] The price to add to the plan + # @param price [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered, nil] The price to add to the plan - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice#allocation_price + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice#allocation_price class AllocationPrice < Orb::Internal::Type::BaseModel # @!attribute amount # An amount of the currency to allocate to the customer at the specified cadence. @@ -9241,10 +9336,10 @@ class AllocationPrice < Orb::Internal::Type::BaseModel # @!attribute cadence # The cadence at which to allocate the amount to the customer. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::AllocationPrice::Cadence] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::AllocationPrice::Cadence] required :cadence, enum: -> { - Orb::Plans::VersionCreateParams::ReplacePrice::AllocationPrice::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::AllocationPrice::Cadence } # @!attribute currency @@ -9263,14 +9358,14 @@ class AllocationPrice < Orb::Internal::Type::BaseModel # @!method initialize(amount:, cadence:, currency:, expires_at_end_of_cadence:) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::ReplacePrice::AllocationPrice} for - # more details. + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::AllocationPrice} + # for more details. # # The allocation price to add to the plan. # # @param amount [String] An amount of the currency to allocate to the customer at the specified cadence. # - # @param cadence [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::AllocationPrice::Cadence] The cadence at which to allocate the amount to the customer. + # @param cadence [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::AllocationPrice::Cadence] The cadence at which to allocate the amount to the customer. # # @param currency [String] An ISO 4217 currency string or a custom pricing unit identifier in which to bill # @@ -9278,7 +9373,7 @@ class AllocationPrice < Orb::Internal::Type::BaseModel # The cadence at which to allocate the amount to the customer. # - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::AllocationPrice#cadence + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::AllocationPrice#cadence module Cadence extend Orb::Internal::Type::Enum @@ -9296,104 +9391,149 @@ module Cadence # The price to add to the plan # - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice#price + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice#price module Price extend Orb::Internal::Type::Union discriminator :model_type - variant :unit, -> { Orb::Plans::VersionCreateParams::ReplacePrice::Price::Unit } + variant :unit, -> { Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit } - variant :package, -> { Orb::Plans::VersionCreateParams::ReplacePrice::Price::Package } + variant :package, + -> { + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package + } - variant :matrix, -> { Orb::Plans::VersionCreateParams::ReplacePrice::Price::Matrix } + variant :matrix, + -> { + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix + } - variant :tiered, -> { Orb::Plans::VersionCreateParams::ReplacePrice::Price::Tiered } + variant :tiered, + -> { + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered + } - variant :tiered_bps, -> { Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps } + variant :tiered_bps, + -> { Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps } - variant :bps, -> { Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bps } + variant :bps, -> { Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps } - variant :bulk_bps, -> { Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps } + variant :bulk_bps, + -> { + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps + } - variant :bulk, -> { Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bulk } + variant :bulk, -> { Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk } variant :threshold_total_amount, - -> { Orb::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount } + -> { + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount + } variant :tiered_package, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage } variant :tiered_with_minimum, - -> { Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum } + -> { + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum + } variant :unit_with_percent, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent } variant :package_with_allocation, - -> { Orb::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation } + -> { + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation + } variant :tiered_with_proration, - -> { Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration } + -> { + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration + } variant :unit_with_proration, - -> { Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration } + -> { + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration + } variant :grouped_allocation, - -> { Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation } + -> { + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation + } variant :grouped_with_prorated_minimum, - -> { Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum } + -> { + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum + } variant :grouped_with_metered_minimum, - -> { Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum } + -> { + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum + } variant :matrix_with_display_name, - -> { Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName } + -> { + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName + } variant :bulk_with_proration, - -> { Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration } + -> { + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration + } variant :grouped_tiered_package, - -> { Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage } + -> { + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage + } variant :max_group_tiered_package, - -> { Orb::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage } + -> { + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage + } variant :scalable_matrix_with_unit_pricing, - -> { Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing } + -> { + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing + } variant :scalable_matrix_with_tiered_pricing, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing } variant :cumulative_grouped_bulk, - -> { Orb::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk } + -> { + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk + } variant :tiered_package_with_minimum, - -> { Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum } + -> { + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum + } variant :matrix_with_allocation, - -> { Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation } + -> { + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation + } variant :grouped_tiered, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered } class Unit < Orb::Internal::Type::BaseModel # @!attribute cadence # The cadence to bill for this price on. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Unit::Cadence] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::Cadence] required :cadence, enum: -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Unit::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::Cadence } # @!attribute item_id @@ -9415,10 +9555,10 @@ class Unit < Orb::Internal::Type::BaseModel # @!attribute unit_config # - # @return [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Unit::UnitConfig] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::UnitConfig] required :unit_config, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Unit::UnitConfig + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::UnitConfig } # @!attribute billable_metric_id @@ -9439,10 +9579,10 @@ class Unit < Orb::Internal::Type::BaseModel # For custom cadence: specifies the duration of the billing period in days or # months. # - # @return [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Unit::BillingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::BillingCycleConfiguration, nil] optional :billing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Unit::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::BillingCycleConfiguration }, nil?: true @@ -9462,10 +9602,10 @@ class Unit < Orb::Internal::Type::BaseModel # @!attribute dimensional_price_configuration # For dimensional price: specifies a price group and dimension values # - # @return [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Unit::DimensionalPriceConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::DimensionalPriceConfiguration, nil] optional :dimensional_price_configuration, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Unit::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::DimensionalPriceConfiguration }, nil?: true @@ -9492,10 +9632,10 @@ class Unit < Orb::Internal::Type::BaseModel # 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::Plans::VersionCreateParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration, nil] optional :invoicing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration }, nil?: true @@ -9509,28 +9649,28 @@ class Unit < Orb::Internal::Type::BaseModel # @!method initialize(cadence:, item_id:, name:, unit_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :unit) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Unit} for more - # details. + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit} + # for more details. # - # @param cadence [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Unit::Cadence] The cadence to bill for this price on. + # @param cadence [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::Cadence] The cadence to bill for this price on. # # @param item_id [String] The id of the item the price will be associated with. # # @param name [String] The name of the price. # - # @param unit_config [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Unit::UnitConfig] + # @param unit_config [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::UnitConfig] # # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b # # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi # - # @param billing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Unit::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # @param billing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont # # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. # # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr # - # @param dimensional_price_configuration [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Unit::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # @param dimensional_price_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values # # @param external_price_id [String, nil] An alias for the price. # @@ -9538,7 +9678,7 @@ class Unit < Orb::Internal::Type::BaseModel # # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice # - # @param invoicing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # @param invoicing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. # # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed # @@ -9546,7 +9686,7 @@ class Unit < Orb::Internal::Type::BaseModel # The cadence to bill for this price on. # - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Unit#cadence + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit#cadence module Cadence extend Orb::Internal::Type::Enum @@ -9561,7 +9701,7 @@ module Cadence # @return [Array] end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Unit#unit_config + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit#unit_config class UnitConfig < Orb::Internal::Type::BaseModel # @!attribute unit_amount # Rate per unit of usage @@ -9573,7 +9713,7 @@ class UnitConfig < Orb::Internal::Type::BaseModel # @param unit_amount [String] Rate per unit of usage end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Unit#billing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit#billing_cycle_configuration class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -9584,10 +9724,10 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Unit::BillingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::BillingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Unit::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::BillingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -9596,11 +9736,11 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Unit::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Unit::BillingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::BillingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -9612,7 +9752,7 @@ module DurationUnit end end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Unit#dimensional_price_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit#dimensional_price_configuration class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!attribute dimension_values # The list of dimension values matching (in order) the dimensions of the price @@ -9635,7 +9775,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Unit::DimensionalPriceConfiguration} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::DimensionalPriceConfiguration} # for more details. # # For dimensional price: specifies a price group and dimension values @@ -9647,7 +9787,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Unit#invoicing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit#invoicing_cycle_configuration class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -9658,10 +9798,10 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -9670,11 +9810,11 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -9691,10 +9831,10 @@ class Package < Orb::Internal::Type::BaseModel # @!attribute cadence # The cadence to bill for this price on. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Package::Cadence] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::Cadence] required :cadence, enum: -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Package::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::Cadence } # @!attribute item_id @@ -9716,9 +9856,11 @@ class Package < Orb::Internal::Type::BaseModel # @!attribute package_config # - # @return [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Package::PackageConfig] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::PackageConfig] required :package_config, - -> { Orb::Plans::VersionCreateParams::ReplacePrice::Price::Package::PackageConfig } + -> { + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::PackageConfig + } # @!attribute billable_metric_id # The id of the billable metric for the price. Only needed if the price is @@ -9738,10 +9880,10 @@ class Package < Orb::Internal::Type::BaseModel # For custom cadence: specifies the duration of the billing period in days or # months. # - # @return [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Package::BillingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::BillingCycleConfiguration, nil] optional :billing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Package::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::BillingCycleConfiguration }, nil?: true @@ -9761,10 +9903,10 @@ class Package < Orb::Internal::Type::BaseModel # @!attribute dimensional_price_configuration # For dimensional price: specifies a price group and dimension values # - # @return [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Package::DimensionalPriceConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::DimensionalPriceConfiguration, nil] optional :dimensional_price_configuration, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Package::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::DimensionalPriceConfiguration }, nil?: true @@ -9791,10 +9933,10 @@ class Package < Orb::Internal::Type::BaseModel # 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::Plans::VersionCreateParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration, nil] optional :invoicing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration }, nil?: true @@ -9808,28 +9950,28 @@ class Package < Orb::Internal::Type::BaseModel # @!method initialize(cadence:, item_id:, name:, package_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :package) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Package} for more - # details. + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package} + # for more details. # - # @param cadence [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Package::Cadence] The cadence to bill for this price on. + # @param cadence [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::Cadence] The cadence to bill for this price on. # # @param item_id [String] The id of the item the price will be associated with. # # @param name [String] The name of the price. # - # @param package_config [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Package::PackageConfig] + # @param package_config [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::PackageConfig] # # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b # # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi # - # @param billing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Package::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # @param billing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont # # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. # # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr # - # @param dimensional_price_configuration [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Package::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # @param dimensional_price_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values # # @param external_price_id [String, nil] An alias for the price. # @@ -9837,7 +9979,7 @@ class Package < Orb::Internal::Type::BaseModel # # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice # - # @param invoicing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # @param invoicing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. # # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed # @@ -9845,7 +9987,7 @@ class Package < Orb::Internal::Type::BaseModel # The cadence to bill for this price on. # - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Package#cadence + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package#cadence module Cadence extend Orb::Internal::Type::Enum @@ -9860,7 +10002,7 @@ module Cadence # @return [Array] end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Package#package_config + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package#package_config class PackageConfig < Orb::Internal::Type::BaseModel # @!attribute package_amount # A currency amount to rate usage by @@ -9877,7 +10019,7 @@ class PackageConfig < Orb::Internal::Type::BaseModel # @!method initialize(package_amount:, package_size:) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Package::PackageConfig} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::PackageConfig} # for more details. # # @param package_amount [String] A currency amount to rate usage by @@ -9885,7 +10027,7 @@ class PackageConfig < Orb::Internal::Type::BaseModel # @param package_size [Integer] An integer amount to represent package size. For example, 1000 here would divide end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Package#billing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package#billing_cycle_configuration class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -9896,10 +10038,10 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Package::BillingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::BillingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Package::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::BillingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -9908,11 +10050,11 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Package::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Package::BillingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::BillingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -9924,7 +10066,7 @@ module DurationUnit end end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Package#dimensional_price_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package#dimensional_price_configuration class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!attribute dimension_values # The list of dimension values matching (in order) the dimensions of the price @@ -9947,7 +10089,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Package::DimensionalPriceConfiguration} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::DimensionalPriceConfiguration} # for more details. # # For dimensional price: specifies a price group and dimension values @@ -9959,7 +10101,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Package#invoicing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package#invoicing_cycle_configuration class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -9970,10 +10112,10 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -9982,11 +10124,11 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -10003,10 +10145,10 @@ class Matrix < Orb::Internal::Type::BaseModel # @!attribute cadence # The cadence to bill for this price on. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::Cadence] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::Cadence] required :cadence, enum: -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::Cadence } # @!attribute item_id @@ -10017,10 +10159,10 @@ class Matrix < Orb::Internal::Type::BaseModel # @!attribute matrix_config # - # @return [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::MatrixConfig] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::MatrixConfig] required :matrix_config, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::MatrixConfig + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::MatrixConfig } # @!attribute model_type @@ -10052,10 +10194,10 @@ class Matrix < Orb::Internal::Type::BaseModel # For custom cadence: specifies the duration of the billing period in days or # months. # - # @return [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration, nil] optional :billing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration }, nil?: true @@ -10075,10 +10217,10 @@ class Matrix < Orb::Internal::Type::BaseModel # @!attribute dimensional_price_configuration # For dimensional price: specifies a price group and dimension values # - # @return [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::DimensionalPriceConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::DimensionalPriceConfiguration, nil] optional :dimensional_price_configuration, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::DimensionalPriceConfiguration }, nil?: true @@ -10105,10 +10247,10 @@ class Matrix < Orb::Internal::Type::BaseModel # 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::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration, nil] optional :invoicing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration }, nil?: true @@ -10122,14 +10264,14 @@ class Matrix < Orb::Internal::Type::BaseModel # @!method initialize(cadence:, item_id:, matrix_config:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :matrix) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Matrix} for more - # details. + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix} + # for more details. # - # @param cadence [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::Cadence] The cadence to bill for this price on. + # @param cadence [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::Cadence] The cadence to bill for this price on. # # @param item_id [String] The id of the item the price will be associated with. # - # @param matrix_config [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::MatrixConfig] + # @param matrix_config [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::MatrixConfig] # # @param name [String] The name of the price. # @@ -10137,13 +10279,13 @@ class Matrix < Orb::Internal::Type::BaseModel # # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi # - # @param billing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # @param billing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont # # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. # # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr # - # @param dimensional_price_configuration [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # @param dimensional_price_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values # # @param external_price_id [String, nil] An alias for the price. # @@ -10151,7 +10293,7 @@ class Matrix < Orb::Internal::Type::BaseModel # # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice # - # @param invoicing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # @param invoicing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. # # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed # @@ -10159,7 +10301,7 @@ class Matrix < Orb::Internal::Type::BaseModel # The cadence to bill for this price on. # - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Matrix#cadence + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix#cadence module Cadence extend Orb::Internal::Type::Enum @@ -10174,7 +10316,7 @@ module Cadence # @return [Array] end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Matrix#matrix_config + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix#matrix_config class MatrixConfig < Orb::Internal::Type::BaseModel # @!attribute default_unit_amount # Default per unit rate for any usage not bucketed into a specified matrix_value @@ -10191,10 +10333,10 @@ class MatrixConfig < Orb::Internal::Type::BaseModel # @!attribute matrix_values # Matrix values for specified matrix grouping keys # - # @return [Array] + # @return [Array] required :matrix_values, -> { - Orb::Internal::Type::ArrayOf[Orb::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::MatrixConfig::MatrixValue] + Orb::Internal::Type::ArrayOf[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::MatrixConfig::MatrixValue] } # @!method initialize(default_unit_amount:, dimensions:, matrix_values:) @@ -10202,7 +10344,7 @@ class MatrixConfig < Orb::Internal::Type::BaseModel # # @param dimensions [Array] One or two event property values to evaluate matrix groups by # - # @param matrix_values [Array] Matrix values for specified matrix grouping keys + # @param matrix_values [Array] Matrix values for specified matrix grouping keys class MatrixValue < Orb::Internal::Type::BaseModel # @!attribute dimension_values @@ -10221,7 +10363,7 @@ class MatrixValue < Orb::Internal::Type::BaseModel # @!method initialize(dimension_values:, unit_amount:) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::MatrixConfig::MatrixValue} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::MatrixConfig::MatrixValue} # for more details. # # @param dimension_values [Array] One or two matrix keys to filter usage to this Matrix value by. For example, ["r @@ -10230,7 +10372,7 @@ class MatrixValue < Orb::Internal::Type::BaseModel end end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Matrix#billing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix#billing_cycle_configuration class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -10241,10 +10383,10 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -10253,11 +10395,11 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -10269,7 +10411,7 @@ module DurationUnit end end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Matrix#dimensional_price_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix#dimensional_price_configuration class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!attribute dimension_values # The list of dimension values matching (in order) the dimensions of the price @@ -10292,7 +10434,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::DimensionalPriceConfiguration} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::DimensionalPriceConfiguration} # for more details. # # For dimensional price: specifies a price group and dimension values @@ -10304,7 +10446,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Matrix#invoicing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix#invoicing_cycle_configuration class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -10315,10 +10457,10 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -10327,11 +10469,11 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -10348,10 +10490,10 @@ class Tiered < Orb::Internal::Type::BaseModel # @!attribute cadence # The cadence to bill for this price on. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::Cadence] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::Cadence] required :cadence, enum: -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::Cadence } # @!attribute item_id @@ -10373,10 +10515,10 @@ class Tiered < Orb::Internal::Type::BaseModel # @!attribute tiered_config # - # @return [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::TieredConfig] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::TieredConfig] required :tiered_config, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::TieredConfig + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::TieredConfig } # @!attribute billable_metric_id @@ -10397,10 +10539,10 @@ class Tiered < Orb::Internal::Type::BaseModel # For custom cadence: specifies the duration of the billing period in days or # months. # - # @return [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration, nil] optional :billing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration }, nil?: true @@ -10420,10 +10562,10 @@ class Tiered < Orb::Internal::Type::BaseModel # @!attribute dimensional_price_configuration # For dimensional price: specifies a price group and dimension values # - # @return [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::DimensionalPriceConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::DimensionalPriceConfiguration, nil] optional :dimensional_price_configuration, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::DimensionalPriceConfiguration }, nil?: true @@ -10450,10 +10592,10 @@ class Tiered < Orb::Internal::Type::BaseModel # 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::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration, nil] optional :invoicing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration }, nil?: true @@ -10467,28 +10609,28 @@ class Tiered < Orb::Internal::Type::BaseModel # @!method initialize(cadence:, item_id:, name:, tiered_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :tiered) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Tiered} for more - # details. + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered} + # for more details. # - # @param cadence [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::Cadence] The cadence to bill for this price on. + # @param cadence [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::Cadence] The cadence to bill for this price on. # # @param item_id [String] The id of the item the price will be associated with. # # @param name [String] The name of the price. # - # @param tiered_config [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::TieredConfig] + # @param tiered_config [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::TieredConfig] # # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b # # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi # - # @param billing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # @param billing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont # # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. # # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr # - # @param dimensional_price_configuration [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # @param dimensional_price_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values # # @param external_price_id [String, nil] An alias for the price. # @@ -10496,7 +10638,7 @@ class Tiered < Orb::Internal::Type::BaseModel # # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice # - # @param invoicing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # @param invoicing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. # # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed # @@ -10504,7 +10646,7 @@ class Tiered < Orb::Internal::Type::BaseModel # The cadence to bill for this price on. # - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Tiered#cadence + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered#cadence module Cadence extend Orb::Internal::Type::Enum @@ -10519,19 +10661,19 @@ module Cadence # @return [Array] end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Tiered#tiered_config + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered#tiered_config class TieredConfig < Orb::Internal::Type::BaseModel # @!attribute tiers # Tiers for rating based on total usage quantities into the specified tier # - # @return [Array] + # @return [Array] required :tiers, -> { - Orb::Internal::Type::ArrayOf[Orb::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::TieredConfig::Tier] + Orb::Internal::Type::ArrayOf[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::TieredConfig::Tier] } # @!method initialize(tiers:) - # @param tiers [Array] Tiers for rating based on total usage quantities into the specified tier + # @param tiers [Array] Tiers for rating based on total usage quantities into the specified tier class Tier < Orb::Internal::Type::BaseModel # @!attribute first_unit @@ -10561,7 +10703,7 @@ class Tier < Orb::Internal::Type::BaseModel end end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Tiered#billing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered#billing_cycle_configuration class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -10572,10 +10714,10 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -10584,11 +10726,11 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -10600,7 +10742,7 @@ module DurationUnit end end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Tiered#dimensional_price_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered#dimensional_price_configuration class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!attribute dimension_values # The list of dimension values matching (in order) the dimensions of the price @@ -10623,7 +10765,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::DimensionalPriceConfiguration} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::DimensionalPriceConfiguration} # for more details. # # For dimensional price: specifies a price group and dimension values @@ -10635,7 +10777,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Tiered#invoicing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered#invoicing_cycle_configuration class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -10646,10 +10788,10 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -10658,11 +10800,11 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -10679,10 +10821,10 @@ class TieredBps < Orb::Internal::Type::BaseModel # @!attribute cadence # The cadence to bill for this price on. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::Cadence] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::Cadence] required :cadence, enum: -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::Cadence } # @!attribute item_id @@ -10704,9 +10846,11 @@ class TieredBps < Orb::Internal::Type::BaseModel # @!attribute tiered_bps_config # - # @return [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::TieredBpsConfig] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::TieredBpsConfig] required :tiered_bps_config, - -> { Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::TieredBpsConfig } + -> { + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::TieredBpsConfig + } # @!attribute billable_metric_id # The id of the billable metric for the price. Only needed if the price is @@ -10726,10 +10870,10 @@ class TieredBps < Orb::Internal::Type::BaseModel # For custom cadence: specifies the duration of the billing period in days or # months. # - # @return [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration, nil] optional :billing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration }, nil?: true @@ -10749,10 +10893,10 @@ class TieredBps < Orb::Internal::Type::BaseModel # @!attribute dimensional_price_configuration # For dimensional price: specifies a price group and dimension values # - # @return [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::DimensionalPriceConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::DimensionalPriceConfiguration, nil] optional :dimensional_price_configuration, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::DimensionalPriceConfiguration }, nil?: true @@ -10779,10 +10923,10 @@ class TieredBps < Orb::Internal::Type::BaseModel # 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::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration, nil] optional :invoicing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration }, nil?: true @@ -10796,28 +10940,28 @@ class TieredBps < Orb::Internal::Type::BaseModel # @!method initialize(cadence:, item_id:, name:, tiered_bps_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :tiered_bps) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps} for - # more details. + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps} + # for more details. # - # @param cadence [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::Cadence] The cadence to bill for this price on. + # @param cadence [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::Cadence] The cadence to bill for this price on. # # @param item_id [String] The id of the item the price will be associated with. # # @param name [String] The name of the price. # - # @param tiered_bps_config [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::TieredBpsConfig] + # @param tiered_bps_config [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::TieredBpsConfig] # # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b # # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi # - # @param billing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # @param billing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont # # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. # # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr # - # @param dimensional_price_configuration [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # @param dimensional_price_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values # # @param external_price_id [String, nil] An alias for the price. # @@ -10825,7 +10969,7 @@ class TieredBps < Orb::Internal::Type::BaseModel # # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice # - # @param invoicing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # @param invoicing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. # # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed # @@ -10833,7 +10977,7 @@ class TieredBps < Orb::Internal::Type::BaseModel # The cadence to bill for this price on. # - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps#cadence + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps#cadence module Cadence extend Orb::Internal::Type::Enum @@ -10848,24 +10992,24 @@ module Cadence # @return [Array] end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps#tiered_bps_config + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps#tiered_bps_config class TieredBpsConfig < Orb::Internal::Type::BaseModel # @!attribute tiers # Tiers for a Graduated BPS pricing model, where usage is bucketed into specified # tiers # - # @return [Array] + # @return [Array] required :tiers, -> { - Orb::Internal::Type::ArrayOf[Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::TieredBpsConfig::Tier] + Orb::Internal::Type::ArrayOf[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::TieredBpsConfig::Tier] } # @!method initialize(tiers:) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::TieredBpsConfig} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::TieredBpsConfig} # for more details. # - # @param tiers [Array] Tiers for a Graduated BPS pricing model, where usage is bucketed into specified + # @param tiers [Array] Tiers for a Graduated BPS pricing model, where usage is bucketed into specified class Tier < Orb::Internal::Type::BaseModel # @!attribute bps @@ -10903,7 +11047,7 @@ class Tier < Orb::Internal::Type::BaseModel end end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps#billing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps#billing_cycle_configuration class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -10914,10 +11058,10 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -10926,11 +11070,11 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -10942,7 +11086,7 @@ module DurationUnit end end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps#dimensional_price_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps#dimensional_price_configuration class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!attribute dimension_values # The list of dimension values matching (in order) the dimensions of the price @@ -10965,7 +11109,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::DimensionalPriceConfiguration} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::DimensionalPriceConfiguration} # for more details. # # For dimensional price: specifies a price group and dimension values @@ -10977,7 +11121,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps#invoicing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps#invoicing_cycle_configuration class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -10988,10 +11132,10 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -11000,11 +11144,11 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -11020,19 +11164,19 @@ module DurationUnit class Bps < Orb::Internal::Type::BaseModel # @!attribute bps_config # - # @return [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Bps::BpsConfig] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::BpsConfig] required :bps_config, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bps::BpsConfig + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::BpsConfig } # @!attribute cadence # The cadence to bill for this price on. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Bps::Cadence] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::Cadence] required :cadence, enum: -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bps::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::Cadence } # @!attribute item_id @@ -11070,10 +11214,10 @@ class Bps < Orb::Internal::Type::BaseModel # For custom cadence: specifies the duration of the billing period in days or # months. # - # @return [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Bps::BillingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::BillingCycleConfiguration, nil] optional :billing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bps::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::BillingCycleConfiguration }, nil?: true @@ -11093,10 +11237,10 @@ class Bps < Orb::Internal::Type::BaseModel # @!attribute dimensional_price_configuration # For dimensional price: specifies a price group and dimension values # - # @return [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Bps::DimensionalPriceConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::DimensionalPriceConfiguration, nil] optional :dimensional_price_configuration, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bps::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::DimensionalPriceConfiguration }, nil?: true @@ -11123,10 +11267,10 @@ class Bps < Orb::Internal::Type::BaseModel # 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::Plans::VersionCreateParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration, nil] optional :invoicing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration }, nil?: true @@ -11140,12 +11284,12 @@ class Bps < Orb::Internal::Type::BaseModel # @!method initialize(bps_config:, cadence:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :bps) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Bps} for more - # details. + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps} + # for more details. # - # @param bps_config [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Bps::BpsConfig] + # @param bps_config [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::BpsConfig] # - # @param cadence [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Bps::Cadence] The cadence to bill for this price on. + # @param cadence [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::Cadence] The cadence to bill for this price on. # # @param item_id [String] The id of the item the price will be associated with. # @@ -11155,13 +11299,13 @@ class Bps < Orb::Internal::Type::BaseModel # # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi # - # @param billing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Bps::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # @param billing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont # # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. # # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr # - # @param dimensional_price_configuration [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Bps::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # @param dimensional_price_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values # # @param external_price_id [String, nil] An alias for the price. # @@ -11169,13 +11313,13 @@ class Bps < Orb::Internal::Type::BaseModel # # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice # - # @param invoicing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # @param invoicing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. # # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed # # @param model_type [Symbol, :bps] - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Bps#bps_config + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps#bps_config class BpsConfig < Orb::Internal::Type::BaseModel # @!attribute bps # Basis point take rate per event @@ -11197,7 +11341,7 @@ class BpsConfig < Orb::Internal::Type::BaseModel # The cadence to bill for this price on. # - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Bps#cadence + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps#cadence module Cadence extend Orb::Internal::Type::Enum @@ -11212,7 +11356,7 @@ module Cadence # @return [Array] end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Bps#billing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps#billing_cycle_configuration class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -11223,10 +11367,10 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Bps::BillingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::BillingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bps::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::BillingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -11235,11 +11379,11 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Bps::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Bps::BillingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::BillingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -11251,7 +11395,7 @@ module DurationUnit end end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Bps#dimensional_price_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps#dimensional_price_configuration class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!attribute dimension_values # The list of dimension values matching (in order) the dimensions of the price @@ -11274,7 +11418,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Bps::DimensionalPriceConfiguration} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::DimensionalPriceConfiguration} # for more details. # # For dimensional price: specifies a price group and dimension values @@ -11286,7 +11430,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Bps#invoicing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps#invoicing_cycle_configuration class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -11297,10 +11441,10 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -11309,11 +11453,11 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -11329,17 +11473,19 @@ module DurationUnit class BulkBps < Orb::Internal::Type::BaseModel # @!attribute bulk_bps_config # - # @return [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::BulkBpsConfig] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BulkBpsConfig] required :bulk_bps_config, - -> { Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::BulkBpsConfig } + -> { + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BulkBpsConfig + } # @!attribute cadence # The cadence to bill for this price on. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::Cadence] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::Cadence] required :cadence, enum: -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::Cadence } # @!attribute item_id @@ -11377,10 +11523,10 @@ class BulkBps < Orb::Internal::Type::BaseModel # For custom cadence: specifies the duration of the billing period in days or # months. # - # @return [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration, nil] optional :billing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration }, nil?: true @@ -11400,10 +11546,10 @@ class BulkBps < Orb::Internal::Type::BaseModel # @!attribute dimensional_price_configuration # For dimensional price: specifies a price group and dimension values # - # @return [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::DimensionalPriceConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::DimensionalPriceConfiguration, nil] optional :dimensional_price_configuration, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::DimensionalPriceConfiguration }, nil?: true @@ -11430,10 +11576,10 @@ class BulkBps < Orb::Internal::Type::BaseModel # 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::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration, nil] optional :invoicing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration }, nil?: true @@ -11447,12 +11593,12 @@ class BulkBps < Orb::Internal::Type::BaseModel # @!method initialize(bulk_bps_config:, cadence:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :bulk_bps) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps} for more - # details. + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps} + # for more details. # - # @param bulk_bps_config [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::BulkBpsConfig] + # @param bulk_bps_config [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BulkBpsConfig] # - # @param cadence [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::Cadence] The cadence to bill for this price on. + # @param cadence [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::Cadence] The cadence to bill for this price on. # # @param item_id [String] The id of the item the price will be associated with. # @@ -11462,13 +11608,13 @@ class BulkBps < Orb::Internal::Type::BaseModel # # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi # - # @param billing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # @param billing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont # # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. # # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr # - # @param dimensional_price_configuration [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # @param dimensional_price_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values # # @param external_price_id [String, nil] An alias for the price. # @@ -11476,30 +11622,30 @@ class BulkBps < Orb::Internal::Type::BaseModel # # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice # - # @param invoicing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # @param invoicing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. # # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed # # @param model_type [Symbol, :bulk_bps] - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps#bulk_bps_config + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps#bulk_bps_config class BulkBpsConfig < Orb::Internal::Type::BaseModel # @!attribute tiers # Tiers for a bulk BPS pricing model where all usage is aggregated to a single # tier based on total volume # - # @return [Array] + # @return [Array] required :tiers, -> { - Orb::Internal::Type::ArrayOf[Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::BulkBpsConfig::Tier] + Orb::Internal::Type::ArrayOf[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BulkBpsConfig::Tier] } # @!method initialize(tiers:) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::BulkBpsConfig} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BulkBpsConfig} # for more details. # - # @param tiers [Array] Tiers for a bulk BPS pricing model where all usage is aggregated to a single tie + # @param tiers [Array] Tiers for a bulk BPS pricing model where all usage is aggregated to a single tie class Tier < Orb::Internal::Type::BaseModel # @!attribute bps @@ -11531,7 +11677,7 @@ class Tier < Orb::Internal::Type::BaseModel # The cadence to bill for this price on. # - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps#cadence + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps#cadence module Cadence extend Orb::Internal::Type::Enum @@ -11546,7 +11692,7 @@ module Cadence # @return [Array] end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps#billing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps#billing_cycle_configuration class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -11557,10 +11703,10 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -11569,11 +11715,11 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -11585,7 +11731,7 @@ module DurationUnit end end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps#dimensional_price_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps#dimensional_price_configuration class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!attribute dimension_values # The list of dimension values matching (in order) the dimensions of the price @@ -11608,7 +11754,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::DimensionalPriceConfiguration} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::DimensionalPriceConfiguration} # for more details. # # For dimensional price: specifies a price group and dimension values @@ -11620,7 +11766,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps#invoicing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps#invoicing_cycle_configuration class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -11631,10 +11777,10 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -11643,11 +11789,11 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -11663,19 +11809,19 @@ module DurationUnit class Bulk < Orb::Internal::Type::BaseModel # @!attribute bulk_config # - # @return [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::BulkConfig] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::BulkConfig] required :bulk_config, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::BulkConfig + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::BulkConfig } # @!attribute cadence # The cadence to bill for this price on. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::Cadence] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::Cadence] required :cadence, enum: -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::Cadence } # @!attribute item_id @@ -11713,10 +11859,10 @@ class Bulk < Orb::Internal::Type::BaseModel # For custom cadence: specifies the duration of the billing period in days or # months. # - # @return [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration, nil] optional :billing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration }, nil?: true @@ -11736,10 +11882,10 @@ class Bulk < Orb::Internal::Type::BaseModel # @!attribute dimensional_price_configuration # For dimensional price: specifies a price group and dimension values # - # @return [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::DimensionalPriceConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::DimensionalPriceConfiguration, nil] optional :dimensional_price_configuration, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::DimensionalPriceConfiguration }, nil?: true @@ -11766,10 +11912,10 @@ class Bulk < Orb::Internal::Type::BaseModel # 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::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration, nil] optional :invoicing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration }, nil?: true @@ -11783,12 +11929,12 @@ class Bulk < Orb::Internal::Type::BaseModel # @!method initialize(bulk_config:, cadence:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :bulk) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Bulk} for more - # details. + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk} + # for more details. # - # @param bulk_config [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::BulkConfig] + # @param bulk_config [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::BulkConfig] # - # @param cadence [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::Cadence] The cadence to bill for this price on. + # @param cadence [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::Cadence] The cadence to bill for this price on. # # @param item_id [String] The id of the item the price will be associated with. # @@ -11798,13 +11944,13 @@ class Bulk < Orb::Internal::Type::BaseModel # # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi # - # @param billing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # @param billing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont # # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. # # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr # - # @param dimensional_price_configuration [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # @param dimensional_price_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values # # @param external_price_id [String, nil] An alias for the price. # @@ -11812,25 +11958,25 @@ class Bulk < Orb::Internal::Type::BaseModel # # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice # - # @param invoicing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # @param invoicing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. # # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed # # @param model_type [Symbol, :bulk] - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Bulk#bulk_config + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk#bulk_config class BulkConfig < Orb::Internal::Type::BaseModel # @!attribute tiers # Bulk tiers for rating based on total usage volume # - # @return [Array] + # @return [Array] required :tiers, -> { - Orb::Internal::Type::ArrayOf[Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::BulkConfig::Tier] + Orb::Internal::Type::ArrayOf[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::BulkConfig::Tier] } # @!method initialize(tiers:) - # @param tiers [Array] Bulk tiers for rating based on total usage volume + # @param tiers [Array] Bulk tiers for rating based on total usage volume class Tier < Orb::Internal::Type::BaseModel # @!attribute unit_amount @@ -11854,7 +12000,7 @@ class Tier < Orb::Internal::Type::BaseModel # The cadence to bill for this price on. # - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Bulk#cadence + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk#cadence module Cadence extend Orb::Internal::Type::Enum @@ -11869,7 +12015,7 @@ module Cadence # @return [Array] end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Bulk#billing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk#billing_cycle_configuration class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -11880,10 +12026,10 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -11892,11 +12038,11 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -11908,7 +12054,7 @@ module DurationUnit end end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Bulk#dimensional_price_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk#dimensional_price_configuration class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!attribute dimension_values # The list of dimension values matching (in order) the dimensions of the price @@ -11931,7 +12077,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::DimensionalPriceConfiguration} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::DimensionalPriceConfiguration} # for more details. # # For dimensional price: specifies a price group and dimension values @@ -11943,7 +12089,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Bulk#invoicing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk#invoicing_cycle_configuration class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -11954,10 +12100,10 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -11966,11 +12112,11 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -11987,10 +12133,10 @@ class ThresholdTotalAmount < Orb::Internal::Type::BaseModel # @!attribute cadence # The cadence to bill for this price on. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::Cadence] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::Cadence] required :cadence, enum: -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::Cadence } # @!attribute item_id @@ -12034,10 +12180,10 @@ class ThresholdTotalAmount < Orb::Internal::Type::BaseModel # For custom cadence: specifies the duration of the billing period in days or # months. # - # @return [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration, nil] optional :billing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration }, nil?: true @@ -12057,10 +12203,10 @@ class ThresholdTotalAmount < Orb::Internal::Type::BaseModel # @!attribute dimensional_price_configuration # For dimensional price: specifies a price group and dimension values # - # @return [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration, nil] optional :dimensional_price_configuration, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration }, nil?: true @@ -12087,10 +12233,10 @@ class ThresholdTotalAmount < Orb::Internal::Type::BaseModel # 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::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration, nil] optional :invoicing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration }, nil?: true @@ -12104,10 +12250,10 @@ class ThresholdTotalAmount < Orb::Internal::Type::BaseModel # @!method initialize(cadence:, item_id:, name:, threshold_total_amount_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :threshold_total_amount) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount} # for more details. # - # @param cadence [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::Cadence] The cadence to bill for this price on. + # @param cadence [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::Cadence] The cadence to bill for this price on. # # @param item_id [String] The id of the item the price will be associated with. # @@ -12119,13 +12265,13 @@ class ThresholdTotalAmount < Orb::Internal::Type::BaseModel # # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi # - # @param billing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # @param billing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont # # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. # # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr # - # @param dimensional_price_configuration [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # @param dimensional_price_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values # # @param external_price_id [String, nil] An alias for the price. # @@ -12133,7 +12279,7 @@ class ThresholdTotalAmount < Orb::Internal::Type::BaseModel # # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice # - # @param invoicing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # @param invoicing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. # # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed # @@ -12141,7 +12287,7 @@ class ThresholdTotalAmount < Orb::Internal::Type::BaseModel # The cadence to bill for this price on. # - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount#cadence + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount#cadence module Cadence extend Orb::Internal::Type::Enum @@ -12156,7 +12302,7 @@ module Cadence # @return [Array] end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount#billing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount#billing_cycle_configuration class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -12167,10 +12313,10 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -12179,11 +12325,11 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -12195,7 +12341,7 @@ module DurationUnit end end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount#dimensional_price_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount#dimensional_price_configuration class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!attribute dimension_values # The list of dimension values matching (in order) the dimensions of the price @@ -12218,7 +12364,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration} # for more details. # # For dimensional price: specifies a price group and dimension values @@ -12230,7 +12376,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount#invoicing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount#invoicing_cycle_configuration class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -12241,10 +12387,10 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -12253,11 +12399,11 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -12274,10 +12420,10 @@ class TieredPackage < Orb::Internal::Type::BaseModel # @!attribute cadence # The cadence to bill for this price on. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::Cadence] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::Cadence] required :cadence, enum: -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::Cadence } # @!attribute item_id @@ -12320,10 +12466,10 @@ class TieredPackage < Orb::Internal::Type::BaseModel # For custom cadence: specifies the duration of the billing period in days or # months. # - # @return [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration, nil] optional :billing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration }, nil?: true @@ -12343,10 +12489,10 @@ class TieredPackage < Orb::Internal::Type::BaseModel # @!attribute dimensional_price_configuration # For dimensional price: specifies a price group and dimension values # - # @return [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::DimensionalPriceConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::DimensionalPriceConfiguration, nil] optional :dimensional_price_configuration, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::DimensionalPriceConfiguration }, nil?: true @@ -12373,10 +12519,10 @@ class TieredPackage < Orb::Internal::Type::BaseModel # 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::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration, nil] optional :invoicing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration }, nil?: true @@ -12390,10 +12536,10 @@ class TieredPackage < Orb::Internal::Type::BaseModel # @!method initialize(cadence:, item_id:, name:, tiered_package_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :tiered_package) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage} # for more details. # - # @param cadence [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::Cadence] The cadence to bill for this price on. + # @param cadence [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::Cadence] The cadence to bill for this price on. # # @param item_id [String] The id of the item the price will be associated with. # @@ -12405,13 +12551,13 @@ class TieredPackage < Orb::Internal::Type::BaseModel # # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi # - # @param billing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # @param billing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont # # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. # # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr # - # @param dimensional_price_configuration [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # @param dimensional_price_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values # # @param external_price_id [String, nil] An alias for the price. # @@ -12419,7 +12565,7 @@ class TieredPackage < Orb::Internal::Type::BaseModel # # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice # - # @param invoicing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # @param invoicing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. # # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed # @@ -12427,7 +12573,7 @@ class TieredPackage < Orb::Internal::Type::BaseModel # The cadence to bill for this price on. # - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage#cadence + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage#cadence module Cadence extend Orb::Internal::Type::Enum @@ -12442,7 +12588,7 @@ module Cadence # @return [Array] end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage#billing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage#billing_cycle_configuration class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -12453,10 +12599,10 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -12465,11 +12611,11 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -12481,7 +12627,7 @@ module DurationUnit end end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage#dimensional_price_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage#dimensional_price_configuration class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!attribute dimension_values # The list of dimension values matching (in order) the dimensions of the price @@ -12504,7 +12650,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::DimensionalPriceConfiguration} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::DimensionalPriceConfiguration} # for more details. # # For dimensional price: specifies a price group and dimension values @@ -12516,7 +12662,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage#invoicing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage#invoicing_cycle_configuration class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -12527,10 +12673,10 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -12539,11 +12685,11 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -12560,10 +12706,10 @@ class TieredWithMinimum < Orb::Internal::Type::BaseModel # @!attribute cadence # The cadence to bill for this price on. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::Cadence] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::Cadence] required :cadence, enum: -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::Cadence } # @!attribute item_id @@ -12606,10 +12752,10 @@ class TieredWithMinimum < Orb::Internal::Type::BaseModel # For custom cadence: specifies the duration of the billing period in days or # months. # - # @return [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration, nil] optional :billing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration }, nil?: true @@ -12629,10 +12775,10 @@ class TieredWithMinimum < Orb::Internal::Type::BaseModel # @!attribute dimensional_price_configuration # For dimensional price: specifies a price group and dimension values # - # @return [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::DimensionalPriceConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::DimensionalPriceConfiguration, nil] optional :dimensional_price_configuration, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::DimensionalPriceConfiguration }, nil?: true @@ -12659,10 +12805,10 @@ class TieredWithMinimum < Orb::Internal::Type::BaseModel # 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::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration, nil] optional :invoicing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration }, nil?: true @@ -12676,10 +12822,10 @@ class TieredWithMinimum < Orb::Internal::Type::BaseModel # @!method initialize(cadence:, item_id:, name:, tiered_with_minimum_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :tiered_with_minimum) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum} # for more details. # - # @param cadence [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::Cadence] The cadence to bill for this price on. + # @param cadence [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::Cadence] The cadence to bill for this price on. # # @param item_id [String] The id of the item the price will be associated with. # @@ -12691,13 +12837,13 @@ class TieredWithMinimum < Orb::Internal::Type::BaseModel # # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi # - # @param billing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # @param billing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont # # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. # # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr # - # @param dimensional_price_configuration [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # @param dimensional_price_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values # # @param external_price_id [String, nil] An alias for the price. # @@ -12705,7 +12851,7 @@ class TieredWithMinimum < Orb::Internal::Type::BaseModel # # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice # - # @param invoicing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # @param invoicing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. # # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed # @@ -12713,7 +12859,7 @@ class TieredWithMinimum < Orb::Internal::Type::BaseModel # The cadence to bill for this price on. # - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum#cadence + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum#cadence module Cadence extend Orb::Internal::Type::Enum @@ -12728,7 +12874,7 @@ module Cadence # @return [Array] end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum#billing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum#billing_cycle_configuration class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -12739,10 +12885,10 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -12751,11 +12897,11 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -12767,7 +12913,7 @@ module DurationUnit end end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum#dimensional_price_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum#dimensional_price_configuration class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!attribute dimension_values # The list of dimension values matching (in order) the dimensions of the price @@ -12790,7 +12936,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::DimensionalPriceConfiguration} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::DimensionalPriceConfiguration} # for more details. # # For dimensional price: specifies a price group and dimension values @@ -12802,7 +12948,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum#invoicing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum#invoicing_cycle_configuration class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -12813,10 +12959,10 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -12825,11 +12971,11 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -12846,10 +12992,10 @@ class UnitWithPercent < Orb::Internal::Type::BaseModel # @!attribute cadence # The cadence to bill for this price on. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::Cadence] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::Cadence] required :cadence, enum: -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::Cadence } # @!attribute item_id @@ -12892,10 +13038,10 @@ class UnitWithPercent < Orb::Internal::Type::BaseModel # For custom cadence: specifies the duration of the billing period in days or # months. # - # @return [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration, nil] optional :billing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration }, nil?: true @@ -12915,10 +13061,10 @@ class UnitWithPercent < Orb::Internal::Type::BaseModel # @!attribute dimensional_price_configuration # For dimensional price: specifies a price group and dimension values # - # @return [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::DimensionalPriceConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::DimensionalPriceConfiguration, nil] optional :dimensional_price_configuration, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::DimensionalPriceConfiguration }, nil?: true @@ -12945,10 +13091,10 @@ class UnitWithPercent < Orb::Internal::Type::BaseModel # 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::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration, nil] optional :invoicing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration }, nil?: true @@ -12962,10 +13108,10 @@ class UnitWithPercent < Orb::Internal::Type::BaseModel # @!method initialize(cadence:, item_id:, name:, unit_with_percent_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :unit_with_percent) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent} # for more details. # - # @param cadence [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::Cadence] The cadence to bill for this price on. + # @param cadence [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::Cadence] The cadence to bill for this price on. # # @param item_id [String] The id of the item the price will be associated with. # @@ -12977,13 +13123,13 @@ class UnitWithPercent < Orb::Internal::Type::BaseModel # # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi # - # @param billing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # @param billing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont # # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. # # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr # - # @param dimensional_price_configuration [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # @param dimensional_price_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values # # @param external_price_id [String, nil] An alias for the price. # @@ -12991,7 +13137,7 @@ class UnitWithPercent < Orb::Internal::Type::BaseModel # # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice # - # @param invoicing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # @param invoicing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. # # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed # @@ -12999,7 +13145,7 @@ class UnitWithPercent < Orb::Internal::Type::BaseModel # The cadence to bill for this price on. # - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent#cadence + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent#cadence module Cadence extend Orb::Internal::Type::Enum @@ -13014,7 +13160,7 @@ module Cadence # @return [Array] end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent#billing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent#billing_cycle_configuration class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -13025,10 +13171,10 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -13037,11 +13183,11 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -13053,7 +13199,7 @@ module DurationUnit end end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent#dimensional_price_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent#dimensional_price_configuration class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!attribute dimension_values # The list of dimension values matching (in order) the dimensions of the price @@ -13076,7 +13222,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::DimensionalPriceConfiguration} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::DimensionalPriceConfiguration} # for more details. # # For dimensional price: specifies a price group and dimension values @@ -13088,7 +13234,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent#invoicing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent#invoicing_cycle_configuration class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -13099,10 +13245,10 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -13111,11 +13257,11 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -13132,10 +13278,10 @@ class PackageWithAllocation < Orb::Internal::Type::BaseModel # @!attribute cadence # The cadence to bill for this price on. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::Cadence] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::Cadence] required :cadence, enum: -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::Cadence } # @!attribute item_id @@ -13179,10 +13325,10 @@ class PackageWithAllocation < Orb::Internal::Type::BaseModel # For custom cadence: specifies the duration of the billing period in days or # months. # - # @return [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration, nil] optional :billing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration }, nil?: true @@ -13202,10 +13348,10 @@ class PackageWithAllocation < Orb::Internal::Type::BaseModel # @!attribute dimensional_price_configuration # For dimensional price: specifies a price group and dimension values # - # @return [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::DimensionalPriceConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::DimensionalPriceConfiguration, nil] optional :dimensional_price_configuration, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::DimensionalPriceConfiguration }, nil?: true @@ -13232,10 +13378,10 @@ class PackageWithAllocation < Orb::Internal::Type::BaseModel # 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::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration, nil] optional :invoicing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration }, nil?: true @@ -13249,10 +13395,10 @@ class PackageWithAllocation < Orb::Internal::Type::BaseModel # @!method initialize(cadence:, item_id:, name:, package_with_allocation_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :package_with_allocation) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation} # for more details. # - # @param cadence [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::Cadence] The cadence to bill for this price on. + # @param cadence [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::Cadence] The cadence to bill for this price on. # # @param item_id [String] The id of the item the price will be associated with. # @@ -13264,13 +13410,13 @@ class PackageWithAllocation < Orb::Internal::Type::BaseModel # # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi # - # @param billing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # @param billing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont # # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. # # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr # - # @param dimensional_price_configuration [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # @param dimensional_price_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values # # @param external_price_id [String, nil] An alias for the price. # @@ -13278,7 +13424,7 @@ class PackageWithAllocation < Orb::Internal::Type::BaseModel # # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice # - # @param invoicing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # @param invoicing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. # # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed # @@ -13286,7 +13432,7 @@ class PackageWithAllocation < Orb::Internal::Type::BaseModel # The cadence to bill for this price on. # - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation#cadence + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation#cadence module Cadence extend Orb::Internal::Type::Enum @@ -13301,7 +13447,7 @@ module Cadence # @return [Array] end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation#billing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation#billing_cycle_configuration class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -13312,10 +13458,10 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -13324,11 +13470,11 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -13340,7 +13486,7 @@ module DurationUnit end end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation#dimensional_price_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation#dimensional_price_configuration class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!attribute dimension_values # The list of dimension values matching (in order) the dimensions of the price @@ -13363,7 +13509,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::DimensionalPriceConfiguration} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::DimensionalPriceConfiguration} # for more details. # # For dimensional price: specifies a price group and dimension values @@ -13375,7 +13521,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation#invoicing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation#invoicing_cycle_configuration class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -13386,10 +13532,10 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -13398,11 +13544,11 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -13419,10 +13565,10 @@ class TieredWithProration < Orb::Internal::Type::BaseModel # @!attribute cadence # The cadence to bill for this price on. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::Cadence] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::Cadence] required :cadence, enum: -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::Cadence } # @!attribute item_id @@ -13466,10 +13612,10 @@ class TieredWithProration < Orb::Internal::Type::BaseModel # For custom cadence: specifies the duration of the billing period in days or # months. # - # @return [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration, nil] optional :billing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration }, nil?: true @@ -13489,10 +13635,10 @@ class TieredWithProration < Orb::Internal::Type::BaseModel # @!attribute dimensional_price_configuration # For dimensional price: specifies a price group and dimension values # - # @return [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::DimensionalPriceConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::DimensionalPriceConfiguration, nil] optional :dimensional_price_configuration, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::DimensionalPriceConfiguration }, nil?: true @@ -13519,10 +13665,10 @@ class TieredWithProration < Orb::Internal::Type::BaseModel # 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::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration, nil] optional :invoicing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration }, nil?: true @@ -13536,10 +13682,10 @@ class TieredWithProration < Orb::Internal::Type::BaseModel # @!method initialize(cadence:, item_id:, name:, tiered_with_proration_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :tiered_with_proration) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration} # for more details. # - # @param cadence [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::Cadence] The cadence to bill for this price on. + # @param cadence [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::Cadence] The cadence to bill for this price on. # # @param item_id [String] The id of the item the price will be associated with. # @@ -13551,13 +13697,13 @@ class TieredWithProration < Orb::Internal::Type::BaseModel # # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi # - # @param billing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # @param billing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont # # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. # # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr # - # @param dimensional_price_configuration [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # @param dimensional_price_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values # # @param external_price_id [String, nil] An alias for the price. # @@ -13565,7 +13711,7 @@ class TieredWithProration < Orb::Internal::Type::BaseModel # # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice # - # @param invoicing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # @param invoicing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. # # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed # @@ -13573,7 +13719,7 @@ class TieredWithProration < Orb::Internal::Type::BaseModel # The cadence to bill for this price on. # - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration#cadence + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration#cadence module Cadence extend Orb::Internal::Type::Enum @@ -13588,7 +13734,7 @@ module Cadence # @return [Array] end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration#billing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration#billing_cycle_configuration class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -13599,10 +13745,10 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -13611,11 +13757,11 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -13627,7 +13773,7 @@ module DurationUnit end end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration#dimensional_price_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration#dimensional_price_configuration class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!attribute dimension_values # The list of dimension values matching (in order) the dimensions of the price @@ -13650,7 +13796,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::DimensionalPriceConfiguration} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::DimensionalPriceConfiguration} # for more details. # # For dimensional price: specifies a price group and dimension values @@ -13662,7 +13808,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration#invoicing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration#invoicing_cycle_configuration class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -13673,10 +13819,10 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -13685,11 +13831,11 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -13706,10 +13852,10 @@ class UnitWithProration < Orb::Internal::Type::BaseModel # @!attribute cadence # The cadence to bill for this price on. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::Cadence] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::Cadence] required :cadence, enum: -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::Cadence } # @!attribute item_id @@ -13752,10 +13898,10 @@ class UnitWithProration < Orb::Internal::Type::BaseModel # For custom cadence: specifies the duration of the billing period in days or # months. # - # @return [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration, nil] optional :billing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration }, nil?: true @@ -13775,10 +13921,10 @@ class UnitWithProration < Orb::Internal::Type::BaseModel # @!attribute dimensional_price_configuration # For dimensional price: specifies a price group and dimension values # - # @return [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::DimensionalPriceConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::DimensionalPriceConfiguration, nil] optional :dimensional_price_configuration, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::DimensionalPriceConfiguration }, nil?: true @@ -13805,10 +13951,10 @@ class UnitWithProration < Orb::Internal::Type::BaseModel # 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::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration, nil] optional :invoicing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration }, nil?: true @@ -13822,10 +13968,10 @@ class UnitWithProration < Orb::Internal::Type::BaseModel # @!method initialize(cadence:, item_id:, name:, unit_with_proration_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :unit_with_proration) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration} # for more details. # - # @param cadence [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::Cadence] The cadence to bill for this price on. + # @param cadence [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::Cadence] The cadence to bill for this price on. # # @param item_id [String] The id of the item the price will be associated with. # @@ -13837,13 +13983,13 @@ class UnitWithProration < Orb::Internal::Type::BaseModel # # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi # - # @param billing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # @param billing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont # # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. # # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr # - # @param dimensional_price_configuration [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # @param dimensional_price_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values # # @param external_price_id [String, nil] An alias for the price. # @@ -13851,7 +13997,7 @@ class UnitWithProration < Orb::Internal::Type::BaseModel # # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice # - # @param invoicing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # @param invoicing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. # # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed # @@ -13859,7 +14005,7 @@ class UnitWithProration < Orb::Internal::Type::BaseModel # The cadence to bill for this price on. # - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration#cadence + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration#cadence module Cadence extend Orb::Internal::Type::Enum @@ -13874,7 +14020,7 @@ module Cadence # @return [Array] end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration#billing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration#billing_cycle_configuration class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -13885,10 +14031,10 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -13897,11 +14043,11 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -13913,7 +14059,7 @@ module DurationUnit end end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration#dimensional_price_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration#dimensional_price_configuration class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!attribute dimension_values # The list of dimension values matching (in order) the dimensions of the price @@ -13936,7 +14082,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::DimensionalPriceConfiguration} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::DimensionalPriceConfiguration} # for more details. # # For dimensional price: specifies a price group and dimension values @@ -13948,7 +14094,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration#invoicing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration#invoicing_cycle_configuration class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -13959,10 +14105,10 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -13971,11 +14117,11 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -13992,10 +14138,10 @@ class GroupedAllocation < Orb::Internal::Type::BaseModel # @!attribute cadence # The cadence to bill for this price on. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::Cadence] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::Cadence] required :cadence, enum: -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::Cadence } # @!attribute grouped_allocation_config @@ -14038,10 +14184,10 @@ class GroupedAllocation < Orb::Internal::Type::BaseModel # For custom cadence: specifies the duration of the billing period in days or # months. # - # @return [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration, nil] optional :billing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration }, nil?: true @@ -14061,10 +14207,10 @@ class GroupedAllocation < Orb::Internal::Type::BaseModel # @!attribute dimensional_price_configuration # For dimensional price: specifies a price group and dimension values # - # @return [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::DimensionalPriceConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::DimensionalPriceConfiguration, nil] optional :dimensional_price_configuration, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::DimensionalPriceConfiguration }, nil?: true @@ -14091,10 +14237,10 @@ class GroupedAllocation < Orb::Internal::Type::BaseModel # 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::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration, nil] optional :invoicing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration }, nil?: true @@ -14108,10 +14254,10 @@ class GroupedAllocation < Orb::Internal::Type::BaseModel # @!method initialize(cadence:, grouped_allocation_config:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :grouped_allocation) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation} # for more details. # - # @param cadence [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::Cadence] The cadence to bill for this price on. + # @param cadence [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::Cadence] The cadence to bill for this price on. # # @param grouped_allocation_config [Hash{Symbol=>Object}] # @@ -14123,13 +14269,13 @@ class GroupedAllocation < Orb::Internal::Type::BaseModel # # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi # - # @param billing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # @param billing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont # # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. # # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr # - # @param dimensional_price_configuration [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # @param dimensional_price_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values # # @param external_price_id [String, nil] An alias for the price. # @@ -14137,7 +14283,7 @@ class GroupedAllocation < Orb::Internal::Type::BaseModel # # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice # - # @param invoicing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # @param invoicing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. # # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed # @@ -14145,7 +14291,7 @@ class GroupedAllocation < Orb::Internal::Type::BaseModel # The cadence to bill for this price on. # - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation#cadence + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation#cadence module Cadence extend Orb::Internal::Type::Enum @@ -14160,7 +14306,7 @@ module Cadence # @return [Array] end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation#billing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation#billing_cycle_configuration class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -14171,10 +14317,10 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -14183,11 +14329,11 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -14199,7 +14345,7 @@ module DurationUnit end end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation#dimensional_price_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation#dimensional_price_configuration class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!attribute dimension_values # The list of dimension values matching (in order) the dimensions of the price @@ -14222,7 +14368,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::DimensionalPriceConfiguration} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::DimensionalPriceConfiguration} # for more details. # # For dimensional price: specifies a price group and dimension values @@ -14234,7 +14380,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation#invoicing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation#invoicing_cycle_configuration class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -14245,10 +14391,10 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -14257,11 +14403,11 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -14278,10 +14424,10 @@ class GroupedWithProratedMinimum < Orb::Internal::Type::BaseModel # @!attribute cadence # The cadence to bill for this price on. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::Cadence] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::Cadence] required :cadence, enum: -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::Cadence } # @!attribute grouped_with_prorated_minimum_config @@ -14325,10 +14471,10 @@ class GroupedWithProratedMinimum < Orb::Internal::Type::BaseModel # For custom cadence: specifies the duration of the billing period in days or # months. # - # @return [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration, nil] optional :billing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration }, nil?: true @@ -14348,10 +14494,10 @@ class GroupedWithProratedMinimum < Orb::Internal::Type::BaseModel # @!attribute dimensional_price_configuration # For dimensional price: specifies a price group and dimension values # - # @return [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration, nil] optional :dimensional_price_configuration, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration }, nil?: true @@ -14378,10 +14524,10 @@ class GroupedWithProratedMinimum < Orb::Internal::Type::BaseModel # 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::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration, nil] optional :invoicing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration }, nil?: true @@ -14395,10 +14541,10 @@ class GroupedWithProratedMinimum < Orb::Internal::Type::BaseModel # @!method initialize(cadence:, grouped_with_prorated_minimum_config:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :grouped_with_prorated_minimum) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum} # for more details. # - # @param cadence [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::Cadence] The cadence to bill for this price on. + # @param cadence [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::Cadence] The cadence to bill for this price on. # # @param grouped_with_prorated_minimum_config [Hash{Symbol=>Object}] # @@ -14410,13 +14556,13 @@ class GroupedWithProratedMinimum < Orb::Internal::Type::BaseModel # # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi # - # @param billing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # @param billing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont # # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. # # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr # - # @param dimensional_price_configuration [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # @param dimensional_price_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values # # @param external_price_id [String, nil] An alias for the price. # @@ -14424,7 +14570,7 @@ class GroupedWithProratedMinimum < Orb::Internal::Type::BaseModel # # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice # - # @param invoicing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # @param invoicing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. # # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed # @@ -14432,7 +14578,7 @@ class GroupedWithProratedMinimum < Orb::Internal::Type::BaseModel # The cadence to bill for this price on. # - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum#cadence + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum#cadence module Cadence extend Orb::Internal::Type::Enum @@ -14447,7 +14593,7 @@ module Cadence # @return [Array] end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum#billing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum#billing_cycle_configuration class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -14458,10 +14604,10 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -14470,11 +14616,11 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -14486,7 +14632,7 @@ module DurationUnit end end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum#dimensional_price_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum#dimensional_price_configuration class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!attribute dimension_values # The list of dimension values matching (in order) the dimensions of the price @@ -14509,7 +14655,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration} # for more details. # # For dimensional price: specifies a price group and dimension values @@ -14521,7 +14667,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum#invoicing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum#invoicing_cycle_configuration class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -14532,10 +14678,10 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -14544,11 +14690,11 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -14565,10 +14711,10 @@ class GroupedWithMeteredMinimum < Orb::Internal::Type::BaseModel # @!attribute cadence # The cadence to bill for this price on. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::Cadence] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::Cadence] required :cadence, enum: -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::Cadence } # @!attribute grouped_with_metered_minimum_config @@ -14612,10 +14758,10 @@ class GroupedWithMeteredMinimum < Orb::Internal::Type::BaseModel # For custom cadence: specifies the duration of the billing period in days or # months. # - # @return [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration, nil] optional :billing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration }, nil?: true @@ -14635,10 +14781,10 @@ class GroupedWithMeteredMinimum < Orb::Internal::Type::BaseModel # @!attribute dimensional_price_configuration # For dimensional price: specifies a price group and dimension values # - # @return [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration, nil] optional :dimensional_price_configuration, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration }, nil?: true @@ -14665,10 +14811,10 @@ class GroupedWithMeteredMinimum < Orb::Internal::Type::BaseModel # 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::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration, nil] optional :invoicing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration }, nil?: true @@ -14682,10 +14828,10 @@ class GroupedWithMeteredMinimum < Orb::Internal::Type::BaseModel # @!method initialize(cadence:, grouped_with_metered_minimum_config:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :grouped_with_metered_minimum) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum} # for more details. # - # @param cadence [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::Cadence] The cadence to bill for this price on. + # @param cadence [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::Cadence] The cadence to bill for this price on. # # @param grouped_with_metered_minimum_config [Hash{Symbol=>Object}] # @@ -14697,13 +14843,13 @@ class GroupedWithMeteredMinimum < Orb::Internal::Type::BaseModel # # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi # - # @param billing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # @param billing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont # # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. # # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr # - # @param dimensional_price_configuration [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # @param dimensional_price_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values # # @param external_price_id [String, nil] An alias for the price. # @@ -14711,7 +14857,7 @@ class GroupedWithMeteredMinimum < Orb::Internal::Type::BaseModel # # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice # - # @param invoicing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # @param invoicing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. # # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed # @@ -14719,7 +14865,7 @@ class GroupedWithMeteredMinimum < Orb::Internal::Type::BaseModel # The cadence to bill for this price on. # - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum#cadence + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum#cadence module Cadence extend Orb::Internal::Type::Enum @@ -14734,7 +14880,7 @@ module Cadence # @return [Array] end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum#billing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum#billing_cycle_configuration class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -14745,10 +14891,10 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -14757,11 +14903,11 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -14773,7 +14919,7 @@ module DurationUnit end end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum#dimensional_price_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum#dimensional_price_configuration class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!attribute dimension_values # The list of dimension values matching (in order) the dimensions of the price @@ -14796,7 +14942,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration} # for more details. # # For dimensional price: specifies a price group and dimension values @@ -14808,7 +14954,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum#invoicing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum#invoicing_cycle_configuration class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -14819,10 +14965,10 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -14831,11 +14977,11 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -14852,10 +14998,10 @@ class MatrixWithDisplayName < Orb::Internal::Type::BaseModel # @!attribute cadence # The cadence to bill for this price on. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::Cadence] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::Cadence] required :cadence, enum: -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::Cadence } # @!attribute item_id @@ -14899,10 +15045,10 @@ class MatrixWithDisplayName < Orb::Internal::Type::BaseModel # For custom cadence: specifies the duration of the billing period in days or # months. # - # @return [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration, nil] optional :billing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration }, nil?: true @@ -14922,10 +15068,10 @@ class MatrixWithDisplayName < Orb::Internal::Type::BaseModel # @!attribute dimensional_price_configuration # For dimensional price: specifies a price group and dimension values # - # @return [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration, nil] optional :dimensional_price_configuration, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration }, nil?: true @@ -14952,10 +15098,10 @@ class MatrixWithDisplayName < Orb::Internal::Type::BaseModel # 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::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration, nil] optional :invoicing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration }, nil?: true @@ -14969,10 +15115,10 @@ class MatrixWithDisplayName < Orb::Internal::Type::BaseModel # @!method initialize(cadence:, item_id:, matrix_with_display_name_config:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :matrix_with_display_name) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName} # for more details. # - # @param cadence [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::Cadence] The cadence to bill for this price on. + # @param cadence [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::Cadence] The cadence to bill for this price on. # # @param item_id [String] The id of the item the price will be associated with. # @@ -14984,13 +15130,13 @@ class MatrixWithDisplayName < Orb::Internal::Type::BaseModel # # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi # - # @param billing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # @param billing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont # # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. # # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr # - # @param dimensional_price_configuration [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # @param dimensional_price_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values # # @param external_price_id [String, nil] An alias for the price. # @@ -14998,7 +15144,7 @@ class MatrixWithDisplayName < Orb::Internal::Type::BaseModel # # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice # - # @param invoicing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # @param invoicing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. # # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed # @@ -15006,7 +15152,7 @@ class MatrixWithDisplayName < Orb::Internal::Type::BaseModel # The cadence to bill for this price on. # - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName#cadence + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName#cadence module Cadence extend Orb::Internal::Type::Enum @@ -15021,7 +15167,7 @@ module Cadence # @return [Array] end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName#billing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName#billing_cycle_configuration class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -15032,10 +15178,10 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -15044,11 +15190,11 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -15060,7 +15206,7 @@ module DurationUnit end end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName#dimensional_price_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName#dimensional_price_configuration class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!attribute dimension_values # The list of dimension values matching (in order) the dimensions of the price @@ -15083,7 +15229,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration} # for more details. # # For dimensional price: specifies a price group and dimension values @@ -15095,7 +15241,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName#invoicing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName#invoicing_cycle_configuration class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -15106,10 +15252,10 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -15118,11 +15264,11 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -15144,10 +15290,10 @@ class BulkWithProration < Orb::Internal::Type::BaseModel # @!attribute cadence # The cadence to bill for this price on. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::Cadence] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::Cadence] required :cadence, enum: -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::Cadence } # @!attribute item_id @@ -15185,10 +15331,10 @@ class BulkWithProration < Orb::Internal::Type::BaseModel # For custom cadence: specifies the duration of the billing period in days or # months. # - # @return [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration, nil] optional :billing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration }, nil?: true @@ -15208,10 +15354,10 @@ class BulkWithProration < Orb::Internal::Type::BaseModel # @!attribute dimensional_price_configuration # For dimensional price: specifies a price group and dimension values # - # @return [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::DimensionalPriceConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::DimensionalPriceConfiguration, nil] optional :dimensional_price_configuration, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::DimensionalPriceConfiguration }, nil?: true @@ -15238,10 +15384,10 @@ class BulkWithProration < Orb::Internal::Type::BaseModel # 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::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration, nil] optional :invoicing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration }, nil?: true @@ -15255,12 +15401,12 @@ class BulkWithProration < Orb::Internal::Type::BaseModel # @!method initialize(bulk_with_proration_config:, cadence:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :bulk_with_proration) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration} # for more details. # # @param bulk_with_proration_config [Hash{Symbol=>Object}] # - # @param cadence [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::Cadence] The cadence to bill for this price on. + # @param cadence [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::Cadence] The cadence to bill for this price on. # # @param item_id [String] The id of the item the price will be associated with. # @@ -15270,13 +15416,13 @@ class BulkWithProration < Orb::Internal::Type::BaseModel # # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi # - # @param billing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # @param billing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont # # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. # # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr # - # @param dimensional_price_configuration [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # @param dimensional_price_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values # # @param external_price_id [String, nil] An alias for the price. # @@ -15284,7 +15430,7 @@ class BulkWithProration < Orb::Internal::Type::BaseModel # # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice # - # @param invoicing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # @param invoicing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. # # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed # @@ -15292,7 +15438,7 @@ class BulkWithProration < Orb::Internal::Type::BaseModel # The cadence to bill for this price on. # - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration#cadence + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration#cadence module Cadence extend Orb::Internal::Type::Enum @@ -15307,7 +15453,7 @@ module Cadence # @return [Array] end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration#billing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration#billing_cycle_configuration class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -15318,10 +15464,10 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -15330,11 +15476,11 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -15346,7 +15492,7 @@ module DurationUnit end end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration#dimensional_price_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration#dimensional_price_configuration class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!attribute dimension_values # The list of dimension values matching (in order) the dimensions of the price @@ -15369,7 +15515,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::DimensionalPriceConfiguration} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::DimensionalPriceConfiguration} # for more details. # # For dimensional price: specifies a price group and dimension values @@ -15381,7 +15527,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration#invoicing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration#invoicing_cycle_configuration class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -15392,10 +15538,10 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -15404,11 +15550,11 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -15425,10 +15571,10 @@ class GroupedTieredPackage < Orb::Internal::Type::BaseModel # @!attribute cadence # The cadence to bill for this price on. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::Cadence] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::Cadence] required :cadence, enum: -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::Cadence } # @!attribute grouped_tiered_package_config @@ -15472,10 +15618,10 @@ class GroupedTieredPackage < Orb::Internal::Type::BaseModel # For custom cadence: specifies the duration of the billing period in days or # months. # - # @return [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration, nil] optional :billing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration }, nil?: true @@ -15495,10 +15641,10 @@ class GroupedTieredPackage < Orb::Internal::Type::BaseModel # @!attribute dimensional_price_configuration # For dimensional price: specifies a price group and dimension values # - # @return [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration, nil] optional :dimensional_price_configuration, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration }, nil?: true @@ -15525,10 +15671,10 @@ class GroupedTieredPackage < Orb::Internal::Type::BaseModel # 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::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration, nil] optional :invoicing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration }, nil?: true @@ -15542,10 +15688,10 @@ class GroupedTieredPackage < Orb::Internal::Type::BaseModel # @!method initialize(cadence:, grouped_tiered_package_config:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :grouped_tiered_package) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage} # for more details. # - # @param cadence [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::Cadence] The cadence to bill for this price on. + # @param cadence [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::Cadence] The cadence to bill for this price on. # # @param grouped_tiered_package_config [Hash{Symbol=>Object}] # @@ -15557,13 +15703,13 @@ class GroupedTieredPackage < Orb::Internal::Type::BaseModel # # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi # - # @param billing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # @param billing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont # # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. # # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr # - # @param dimensional_price_configuration [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # @param dimensional_price_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values # # @param external_price_id [String, nil] An alias for the price. # @@ -15571,7 +15717,7 @@ class GroupedTieredPackage < Orb::Internal::Type::BaseModel # # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice # - # @param invoicing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # @param invoicing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. # # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed # @@ -15579,7 +15725,7 @@ class GroupedTieredPackage < Orb::Internal::Type::BaseModel # The cadence to bill for this price on. # - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage#cadence + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage#cadence module Cadence extend Orb::Internal::Type::Enum @@ -15594,7 +15740,7 @@ module Cadence # @return [Array] end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage#billing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage#billing_cycle_configuration class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -15605,10 +15751,10 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -15617,11 +15763,11 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -15633,7 +15779,7 @@ module DurationUnit end end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage#dimensional_price_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage#dimensional_price_configuration class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!attribute dimension_values # The list of dimension values matching (in order) the dimensions of the price @@ -15656,7 +15802,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration} # for more details. # # For dimensional price: specifies a price group and dimension values @@ -15668,7 +15814,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage#invoicing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage#invoicing_cycle_configuration class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -15679,10 +15825,10 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -15691,11 +15837,11 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -15712,10 +15858,10 @@ class MaxGroupTieredPackage < Orb::Internal::Type::BaseModel # @!attribute cadence # The cadence to bill for this price on. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::Cadence] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::Cadence] required :cadence, enum: -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::Cadence } # @!attribute item_id @@ -15759,10 +15905,10 @@ class MaxGroupTieredPackage < Orb::Internal::Type::BaseModel # For custom cadence: specifies the duration of the billing period in days or # months. # - # @return [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration, nil] optional :billing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration }, nil?: true @@ -15782,10 +15928,10 @@ class MaxGroupTieredPackage < Orb::Internal::Type::BaseModel # @!attribute dimensional_price_configuration # For dimensional price: specifies a price group and dimension values # - # @return [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration, nil] optional :dimensional_price_configuration, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration }, nil?: true @@ -15812,10 +15958,10 @@ class MaxGroupTieredPackage < Orb::Internal::Type::BaseModel # 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::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration, nil] optional :invoicing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration }, nil?: true @@ -15829,10 +15975,10 @@ class MaxGroupTieredPackage < Orb::Internal::Type::BaseModel # @!method initialize(cadence:, item_id:, max_group_tiered_package_config:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :max_group_tiered_package) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage} # for more details. # - # @param cadence [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::Cadence] The cadence to bill for this price on. + # @param cadence [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::Cadence] The cadence to bill for this price on. # # @param item_id [String] The id of the item the price will be associated with. # @@ -15844,13 +15990,13 @@ class MaxGroupTieredPackage < Orb::Internal::Type::BaseModel # # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi # - # @param billing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # @param billing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont # # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. # # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr # - # @param dimensional_price_configuration [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # @param dimensional_price_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values # # @param external_price_id [String, nil] An alias for the price. # @@ -15858,7 +16004,7 @@ class MaxGroupTieredPackage < Orb::Internal::Type::BaseModel # # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice # - # @param invoicing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # @param invoicing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. # # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed # @@ -15866,7 +16012,7 @@ class MaxGroupTieredPackage < Orb::Internal::Type::BaseModel # The cadence to bill for this price on. # - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage#cadence + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage#cadence module Cadence extend Orb::Internal::Type::Enum @@ -15881,7 +16027,7 @@ module Cadence # @return [Array] end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage#billing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage#billing_cycle_configuration class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -15892,10 +16038,10 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -15904,11 +16050,11 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -15920,7 +16066,7 @@ module DurationUnit end end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage#dimensional_price_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage#dimensional_price_configuration class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!attribute dimension_values # The list of dimension values matching (in order) the dimensions of the price @@ -15943,7 +16089,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration} # for more details. # # For dimensional price: specifies a price group and dimension values @@ -15955,7 +16101,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage#invoicing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage#invoicing_cycle_configuration class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -15966,10 +16112,10 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -15978,11 +16124,11 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -15999,10 +16145,10 @@ class ScalableMatrixWithUnitPricing < Orb::Internal::Type::BaseModel # @!attribute cadence # The cadence to bill for this price on. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::Cadence] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::Cadence] required :cadence, enum: -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::Cadence } # @!attribute item_id @@ -16046,10 +16192,10 @@ class ScalableMatrixWithUnitPricing < Orb::Internal::Type::BaseModel # For custom cadence: specifies the duration of the billing period in days or # months. # - # @return [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration, nil] optional :billing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration }, nil?: true @@ -16069,10 +16215,10 @@ class ScalableMatrixWithUnitPricing < Orb::Internal::Type::BaseModel # @!attribute dimensional_price_configuration # For dimensional price: specifies a price group and dimension values # - # @return [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration, nil] optional :dimensional_price_configuration, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration }, nil?: true @@ -16099,10 +16245,10 @@ class ScalableMatrixWithUnitPricing < Orb::Internal::Type::BaseModel # 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::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration, nil] optional :invoicing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration }, nil?: true @@ -16116,10 +16262,10 @@ class ScalableMatrixWithUnitPricing < Orb::Internal::Type::BaseModel # @!method initialize(cadence:, item_id:, name:, scalable_matrix_with_unit_pricing_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :scalable_matrix_with_unit_pricing) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing} # for more details. # - # @param cadence [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::Cadence] The cadence to bill for this price on. + # @param cadence [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::Cadence] The cadence to bill for this price on. # # @param item_id [String] The id of the item the price will be associated with. # @@ -16131,13 +16277,13 @@ class ScalableMatrixWithUnitPricing < Orb::Internal::Type::BaseModel # # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi # - # @param billing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # @param billing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont # # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. # # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr # - # @param dimensional_price_configuration [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # @param dimensional_price_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values # # @param external_price_id [String, nil] An alias for the price. # @@ -16145,7 +16291,7 @@ class ScalableMatrixWithUnitPricing < Orb::Internal::Type::BaseModel # # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice # - # @param invoicing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # @param invoicing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. # # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed # @@ -16153,7 +16299,7 @@ class ScalableMatrixWithUnitPricing < Orb::Internal::Type::BaseModel # The cadence to bill for this price on. # - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing#cadence + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing#cadence module Cadence extend Orb::Internal::Type::Enum @@ -16168,7 +16314,7 @@ module Cadence # @return [Array] end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing#billing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing#billing_cycle_configuration class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -16179,10 +16325,10 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -16191,11 +16337,11 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -16207,7 +16353,7 @@ module DurationUnit end end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing#dimensional_price_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing#dimensional_price_configuration class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!attribute dimension_values # The list of dimension values matching (in order) the dimensions of the price @@ -16230,7 +16376,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration} # for more details. # # For dimensional price: specifies a price group and dimension values @@ -16242,7 +16388,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing#invoicing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing#invoicing_cycle_configuration class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -16253,10 +16399,10 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -16265,11 +16411,11 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -16286,10 +16432,10 @@ class ScalableMatrixWithTieredPricing < Orb::Internal::Type::BaseModel # @!attribute cadence # The cadence to bill for this price on. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::Cadence] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::Cadence] required :cadence, enum: -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::Cadence } # @!attribute item_id @@ -16333,10 +16479,10 @@ class ScalableMatrixWithTieredPricing < Orb::Internal::Type::BaseModel # For custom cadence: specifies the duration of the billing period in days or # months. # - # @return [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration, nil] optional :billing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration }, nil?: true @@ -16356,10 +16502,10 @@ class ScalableMatrixWithTieredPricing < Orb::Internal::Type::BaseModel # @!attribute dimensional_price_configuration # For dimensional price: specifies a price group and dimension values # - # @return [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration, nil] optional :dimensional_price_configuration, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration }, nil?: true @@ -16386,10 +16532,10 @@ class ScalableMatrixWithTieredPricing < Orb::Internal::Type::BaseModel # 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::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration, nil] optional :invoicing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration }, nil?: true @@ -16403,10 +16549,10 @@ class ScalableMatrixWithTieredPricing < Orb::Internal::Type::BaseModel # @!method initialize(cadence:, item_id:, name:, scalable_matrix_with_tiered_pricing_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :scalable_matrix_with_tiered_pricing) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing} # for more details. # - # @param cadence [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::Cadence] The cadence to bill for this price on. + # @param cadence [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::Cadence] The cadence to bill for this price on. # # @param item_id [String] The id of the item the price will be associated with. # @@ -16418,13 +16564,13 @@ class ScalableMatrixWithTieredPricing < Orb::Internal::Type::BaseModel # # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi # - # @param billing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # @param billing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont # # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. # # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr # - # @param dimensional_price_configuration [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # @param dimensional_price_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values # # @param external_price_id [String, nil] An alias for the price. # @@ -16432,7 +16578,7 @@ class ScalableMatrixWithTieredPricing < Orb::Internal::Type::BaseModel # # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice # - # @param invoicing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # @param invoicing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. # # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed # @@ -16440,7 +16586,7 @@ class ScalableMatrixWithTieredPricing < Orb::Internal::Type::BaseModel # The cadence to bill for this price on. # - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing#cadence + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing#cadence module Cadence extend Orb::Internal::Type::Enum @@ -16455,7 +16601,7 @@ module Cadence # @return [Array] end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing#billing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing#billing_cycle_configuration class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -16466,10 +16612,10 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -16478,11 +16624,11 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -16494,7 +16640,7 @@ module DurationUnit end end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing#dimensional_price_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing#dimensional_price_configuration class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!attribute dimension_values # The list of dimension values matching (in order) the dimensions of the price @@ -16517,7 +16663,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration} # for more details. # # For dimensional price: specifies a price group and dimension values @@ -16529,7 +16675,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing#invoicing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing#invoicing_cycle_configuration class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -16540,10 +16686,10 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -16552,11 +16698,11 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -16573,10 +16719,10 @@ class CumulativeGroupedBulk < Orb::Internal::Type::BaseModel # @!attribute cadence # The cadence to bill for this price on. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::Cadence] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::Cadence] required :cadence, enum: -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::Cadence } # @!attribute cumulative_grouped_bulk_config @@ -16620,10 +16766,10 @@ class CumulativeGroupedBulk < Orb::Internal::Type::BaseModel # For custom cadence: specifies the duration of the billing period in days or # months. # - # @return [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration, nil] optional :billing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration }, nil?: true @@ -16643,10 +16789,10 @@ class CumulativeGroupedBulk < Orb::Internal::Type::BaseModel # @!attribute dimensional_price_configuration # For dimensional price: specifies a price group and dimension values # - # @return [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration, nil] optional :dimensional_price_configuration, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration }, nil?: true @@ -16673,10 +16819,10 @@ class CumulativeGroupedBulk < Orb::Internal::Type::BaseModel # 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::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration, nil] optional :invoicing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration }, nil?: true @@ -16690,10 +16836,10 @@ class CumulativeGroupedBulk < Orb::Internal::Type::BaseModel # @!method 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, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :cumulative_grouped_bulk) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk} # for more details. # - # @param cadence [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::Cadence] The cadence to bill for this price on. + # @param cadence [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::Cadence] The cadence to bill for this price on. # # @param cumulative_grouped_bulk_config [Hash{Symbol=>Object}] # @@ -16705,13 +16851,13 @@ class CumulativeGroupedBulk < Orb::Internal::Type::BaseModel # # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi # - # @param billing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # @param billing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont # # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. # # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr # - # @param dimensional_price_configuration [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # @param dimensional_price_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values # # @param external_price_id [String, nil] An alias for the price. # @@ -16719,7 +16865,7 @@ class CumulativeGroupedBulk < Orb::Internal::Type::BaseModel # # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice # - # @param invoicing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # @param invoicing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. # # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed # @@ -16727,7 +16873,7 @@ class CumulativeGroupedBulk < Orb::Internal::Type::BaseModel # The cadence to bill for this price on. # - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk#cadence + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk#cadence module Cadence extend Orb::Internal::Type::Enum @@ -16742,7 +16888,7 @@ module Cadence # @return [Array] end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk#billing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk#billing_cycle_configuration class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -16753,10 +16899,10 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -16765,11 +16911,11 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -16781,7 +16927,7 @@ module DurationUnit end end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk#dimensional_price_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk#dimensional_price_configuration class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!attribute dimension_values # The list of dimension values matching (in order) the dimensions of the price @@ -16804,7 +16950,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration} # for more details. # # For dimensional price: specifies a price group and dimension values @@ -16816,7 +16962,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk#invoicing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk#invoicing_cycle_configuration class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -16827,10 +16973,10 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -16839,11 +16985,11 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -16860,10 +17006,10 @@ class TieredPackageWithMinimum < Orb::Internal::Type::BaseModel # @!attribute cadence # The cadence to bill for this price on. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::Cadence] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::Cadence] required :cadence, enum: -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::Cadence } # @!attribute item_id @@ -16907,10 +17053,10 @@ class TieredPackageWithMinimum < Orb::Internal::Type::BaseModel # For custom cadence: specifies the duration of the billing period in days or # months. # - # @return [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration, nil] optional :billing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration }, nil?: true @@ -16930,10 +17076,10 @@ class TieredPackageWithMinimum < Orb::Internal::Type::BaseModel # @!attribute dimensional_price_configuration # For dimensional price: specifies a price group and dimension values # - # @return [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration, nil] optional :dimensional_price_configuration, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration }, nil?: true @@ -16960,10 +17106,10 @@ class TieredPackageWithMinimum < Orb::Internal::Type::BaseModel # 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::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration, nil] optional :invoicing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration }, nil?: true @@ -16977,10 +17123,10 @@ class TieredPackageWithMinimum < Orb::Internal::Type::BaseModel # @!method initialize(cadence:, item_id:, name:, tiered_package_with_minimum_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :tiered_package_with_minimum) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum} # for more details. # - # @param cadence [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::Cadence] The cadence to bill for this price on. + # @param cadence [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::Cadence] The cadence to bill for this price on. # # @param item_id [String] The id of the item the price will be associated with. # @@ -16992,13 +17138,13 @@ class TieredPackageWithMinimum < Orb::Internal::Type::BaseModel # # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi # - # @param billing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # @param billing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont # # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. # # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr # - # @param dimensional_price_configuration [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # @param dimensional_price_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values # # @param external_price_id [String, nil] An alias for the price. # @@ -17006,7 +17152,7 @@ class TieredPackageWithMinimum < Orb::Internal::Type::BaseModel # # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice # - # @param invoicing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # @param invoicing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. # # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed # @@ -17014,7 +17160,7 @@ class TieredPackageWithMinimum < Orb::Internal::Type::BaseModel # The cadence to bill for this price on. # - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum#cadence + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum#cadence module Cadence extend Orb::Internal::Type::Enum @@ -17029,7 +17175,7 @@ module Cadence # @return [Array] end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum#billing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum#billing_cycle_configuration class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -17040,10 +17186,10 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -17052,11 +17198,11 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -17068,7 +17214,7 @@ module DurationUnit end end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum#dimensional_price_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum#dimensional_price_configuration class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!attribute dimension_values # The list of dimension values matching (in order) the dimensions of the price @@ -17091,7 +17237,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration} # for more details. # # For dimensional price: specifies a price group and dimension values @@ -17103,7 +17249,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum#invoicing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum#invoicing_cycle_configuration class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -17114,10 +17260,10 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -17126,11 +17272,11 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -17147,10 +17293,10 @@ class MatrixWithAllocation < Orb::Internal::Type::BaseModel # @!attribute cadence # The cadence to bill for this price on. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::Cadence] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::Cadence] required :cadence, enum: -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::Cadence } # @!attribute item_id @@ -17161,10 +17307,10 @@ class MatrixWithAllocation < Orb::Internal::Type::BaseModel # @!attribute matrix_with_allocation_config # - # @return [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig] required :matrix_with_allocation_config, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig } # @!attribute model_type @@ -17196,10 +17342,10 @@ class MatrixWithAllocation < Orb::Internal::Type::BaseModel # For custom cadence: specifies the duration of the billing period in days or # months. # - # @return [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration, nil] optional :billing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration }, nil?: true @@ -17219,10 +17365,10 @@ class MatrixWithAllocation < Orb::Internal::Type::BaseModel # @!attribute dimensional_price_configuration # For dimensional price: specifies a price group and dimension values # - # @return [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration, nil] optional :dimensional_price_configuration, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration }, nil?: true @@ -17249,10 +17395,10 @@ class MatrixWithAllocation < Orb::Internal::Type::BaseModel # 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::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration, nil] optional :invoicing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration }, nil?: true @@ -17266,14 +17412,14 @@ class MatrixWithAllocation < Orb::Internal::Type::BaseModel # @!method initialize(cadence:, item_id:, matrix_with_allocation_config:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :matrix_with_allocation) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation} # for more details. # - # @param cadence [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::Cadence] The cadence to bill for this price on. + # @param cadence [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::Cadence] The cadence to bill for this price on. # # @param item_id [String] The id of the item the price will be associated with. # - # @param matrix_with_allocation_config [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig] + # @param matrix_with_allocation_config [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig] # # @param name [String] The name of the price. # @@ -17281,13 +17427,13 @@ class MatrixWithAllocation < Orb::Internal::Type::BaseModel # # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi # - # @param billing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # @param billing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont # # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. # # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr # - # @param dimensional_price_configuration [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # @param dimensional_price_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values # # @param external_price_id [String, nil] An alias for the price. # @@ -17295,7 +17441,7 @@ class MatrixWithAllocation < Orb::Internal::Type::BaseModel # # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice # - # @param invoicing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # @param invoicing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. # # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed # @@ -17303,7 +17449,7 @@ class MatrixWithAllocation < Orb::Internal::Type::BaseModel # The cadence to bill for this price on. # - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation#cadence + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation#cadence module Cadence extend Orb::Internal::Type::Enum @@ -17318,7 +17464,7 @@ module Cadence # @return [Array] end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation#matrix_with_allocation_config + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation#matrix_with_allocation_config class MatrixWithAllocationConfig < Orb::Internal::Type::BaseModel # @!attribute allocation # Allocation to be used to calculate the price @@ -17341,11 +17487,11 @@ class MatrixWithAllocationConfig < Orb::Internal::Type::BaseModel # @!attribute matrix_values # Matrix values for specified matrix grouping keys # - # @return [Array] + # @return [Array] required :matrix_values, -> do Orb::Internal::Type::ArrayOf[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue ] end @@ -17356,7 +17502,7 @@ class MatrixWithAllocationConfig < Orb::Internal::Type::BaseModel # # @param dimensions [Array] One or two event property values to evaluate matrix groups by # - # @param matrix_values [Array] Matrix values for specified matrix grouping keys + # @param matrix_values [Array] Matrix values for specified matrix grouping keys class MatrixValue < Orb::Internal::Type::BaseModel # @!attribute dimension_values @@ -17375,7 +17521,7 @@ class MatrixValue < Orb::Internal::Type::BaseModel # @!method initialize(dimension_values:, unit_amount:) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue} # for more details. # # @param dimension_values [Array] One or two matrix keys to filter usage to this Matrix value by. For example, ["r @@ -17384,7 +17530,7 @@ class MatrixValue < Orb::Internal::Type::BaseModel end end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation#billing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation#billing_cycle_configuration class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -17395,10 +17541,10 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -17407,11 +17553,11 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -17423,7 +17569,7 @@ module DurationUnit end end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation#dimensional_price_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation#dimensional_price_configuration class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!attribute dimension_values # The list of dimension values matching (in order) the dimensions of the price @@ -17446,7 +17592,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration} # for more details. # # For dimensional price: specifies a price group and dimension values @@ -17458,7 +17604,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation#invoicing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation#invoicing_cycle_configuration class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -17469,10 +17615,10 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -17481,11 +17627,11 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -17502,10 +17648,10 @@ class GroupedTiered < Orb::Internal::Type::BaseModel # @!attribute cadence # The cadence to bill for this price on. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::Cadence] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::Cadence] required :cadence, enum: -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::Cadence } # @!attribute grouped_tiered_config @@ -17548,10 +17694,10 @@ class GroupedTiered < Orb::Internal::Type::BaseModel # For custom cadence: specifies the duration of the billing period in days or # months. # - # @return [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration, nil] optional :billing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration }, nil?: true @@ -17571,10 +17717,10 @@ class GroupedTiered < Orb::Internal::Type::BaseModel # @!attribute dimensional_price_configuration # For dimensional price: specifies a price group and dimension values # - # @return [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::DimensionalPriceConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::DimensionalPriceConfiguration, nil] optional :dimensional_price_configuration, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::DimensionalPriceConfiguration }, nil?: true @@ -17601,10 +17747,10 @@ class GroupedTiered < Orb::Internal::Type::BaseModel # 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::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration, nil] + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration, nil] optional :invoicing_cycle_configuration, -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration }, nil?: true @@ -17618,10 +17764,10 @@ class GroupedTiered < Orb::Internal::Type::BaseModel # @!method initialize(cadence:, grouped_tiered_config:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :grouped_tiered) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered} # for more details. # - # @param cadence [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::Cadence] The cadence to bill for this price on. + # @param cadence [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::Cadence] The cadence to bill for this price on. # # @param grouped_tiered_config [Hash{Symbol=>Object}] # @@ -17633,13 +17779,13 @@ class GroupedTiered < Orb::Internal::Type::BaseModel # # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi # - # @param billing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # @param billing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont # # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. # # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr # - # @param dimensional_price_configuration [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # @param dimensional_price_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values # # @param external_price_id [String, nil] An alias for the price. # @@ -17647,7 +17793,7 @@ class GroupedTiered < Orb::Internal::Type::BaseModel # # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice # - # @param invoicing_cycle_configuration [Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # @param invoicing_cycle_configuration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. # # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed # @@ -17655,7 +17801,7 @@ class GroupedTiered < Orb::Internal::Type::BaseModel # The cadence to bill for this price on. # - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered#cadence + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered#cadence module Cadence extend Orb::Internal::Type::Enum @@ -17670,7 +17816,7 @@ module Cadence # @return [Array] end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered#billing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered#billing_cycle_configuration class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -17681,10 +17827,10 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -17693,11 +17839,11 @@ class BillingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -17709,7 +17855,7 @@ module DurationUnit end end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered#dimensional_price_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered#dimensional_price_configuration class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!attribute dimension_values # The list of dimension values matching (in order) the dimensions of the price @@ -17732,7 +17878,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::DimensionalPriceConfiguration} + # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::DimensionalPriceConfiguration} # for more details. # # For dimensional price: specifies a price group and dimension values @@ -17744,7 +17890,7 @@ class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in end - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered#invoicing_cycle_configuration + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered#invoicing_cycle_configuration class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration # The duration of the billing period. @@ -17755,10 +17901,10 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # @!attribute duration_unit # The unit of billing period duration. # - # @return [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit] + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit] required :duration_unit, enum: -> { - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit } # @!method initialize(duration:, duration_unit:) @@ -17767,11 +17913,11 @@ class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel # # @param duration [Integer] The duration of the billing period. # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. # The unit of billing period duration. # - # @see Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration#duration_unit + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration#duration_unit module DurationUnit extend Orb::Internal::Type::Enum @@ -17785,7 +17931,7 @@ module DurationUnit end # @!method self.variants - # @return [Array(Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Unit, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Package, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Matrix, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Tiered, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Bps, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Bulk, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation, Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered)] + # @return [Array(Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered)] end end end diff --git a/lib/orb/models/beta/external_plan_id_fetch_plan_version_params.rb b/lib/orb/models/beta/external_plan_id_fetch_plan_version_params.rb new file mode 100644 index 00000000..e88e358b --- /dev/null +++ b/lib/orb/models/beta/external_plan_id_fetch_plan_version_params.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +module Orb + module Models + module Beta + # @see Orb::Resources::Beta::ExternalPlanID#fetch_plan_version + class ExternalPlanIDFetchPlanVersionParams < Orb::Internal::Type::BaseModel + extend Orb::Internal::Type::RequestParameters::Converter + include Orb::Internal::Type::RequestParameters + + # @!attribute external_plan_id + # + # @return [String] + required :external_plan_id, String + + # @!method initialize(external_plan_id:, request_options: {}) + # @param external_plan_id [String] + # @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}] + end + end + end +end diff --git a/lib/orb/models/plans/external_plan_id_set_default_version_params.rb b/lib/orb/models/beta/external_plan_id_set_default_plan_version_params.rb similarity index 76% rename from lib/orb/models/plans/external_plan_id_set_default_version_params.rb rename to lib/orb/models/beta/external_plan_id_set_default_plan_version_params.rb index 4210c406..b333c7b7 100644 --- a/lib/orb/models/plans/external_plan_id_set_default_version_params.rb +++ b/lib/orb/models/beta/external_plan_id_set_default_plan_version_params.rb @@ -2,9 +2,9 @@ module Orb module Models - module Plans - # @see Orb::Resources::Plans::ExternalPlanID#set_default_version - class ExternalPlanIDSetDefaultVersionParams < Orb::Internal::Type::BaseModel + module Beta + # @see Orb::Resources::Beta::ExternalPlanID#set_default_plan_version + class ExternalPlanIDSetDefaultPlanVersionParams < Orb::Internal::Type::BaseModel extend Orb::Internal::Type::RequestParameters::Converter include Orb::Internal::Type::RequestParameters diff --git a/lib/orb/models/beta_create_plan_version_params.rb b/lib/orb/models/beta_create_plan_version_params.rb new file mode 100644 index 00000000..e2cc8975 --- /dev/null +++ b/lib/orb/models/beta_create_plan_version_params.rb @@ -0,0 +1,17758 @@ +# frozen_string_literal: true + +module Orb + module Models + # @see Orb::Resources::Beta#create_plan_version + class BetaCreatePlanVersionParams < Orb::Internal::Type::BaseModel + extend Orb::Internal::Type::RequestParameters::Converter + include Orb::Internal::Type::RequestParameters + + # @!attribute version + # New version number. + # + # @return [Integer] + required :version, Integer + + # @!attribute add_adjustments + # Additional adjustments to be added to the plan. + # + # @return [Array, nil] + optional :add_adjustments, + -> { Orb::Internal::Type::ArrayOf[Orb::BetaCreatePlanVersionParams::AddAdjustment] }, + nil?: true + + # @!attribute add_prices + # Additional prices to be added to the plan. + # + # @return [Array, nil] + optional :add_prices, + -> { Orb::Internal::Type::ArrayOf[Orb::BetaCreatePlanVersionParams::AddPrice] }, + nil?: true + + # @!attribute remove_adjustments + # Adjustments to be removed from the plan. + # + # @return [Array, nil] + optional :remove_adjustments, + -> { Orb::Internal::Type::ArrayOf[Orb::BetaCreatePlanVersionParams::RemoveAdjustment] }, + nil?: true + + # @!attribute remove_prices + # Prices to be removed from the plan. + # + # @return [Array, nil] + optional :remove_prices, + -> { Orb::Internal::Type::ArrayOf[Orb::BetaCreatePlanVersionParams::RemovePrice] }, + nil?: true + + # @!attribute replace_adjustments + # Adjustments to be replaced with additional adjustments on the plan. + # + # @return [Array, nil] + optional :replace_adjustments, + -> { Orb::Internal::Type::ArrayOf[Orb::BetaCreatePlanVersionParams::ReplaceAdjustment] }, + nil?: true + + # @!attribute replace_prices + # Prices to be replaced with additional prices on the plan. + # + # @return [Array, nil] + optional :replace_prices, + -> { Orb::Internal::Type::ArrayOf[Orb::BetaCreatePlanVersionParams::ReplacePrice] }, + nil?: true + + # @!attribute set_as_default + # Set this new plan version as the default + # + # @return [Boolean, nil] + optional :set_as_default, Orb::Internal::Type::Boolean, nil?: true + + # @!method initialize(version:, add_adjustments: nil, add_prices: nil, remove_adjustments: nil, remove_prices: nil, replace_adjustments: nil, replace_prices: nil, set_as_default: nil, request_options: {}) + # @param version [Integer] New version number. + # + # @param add_adjustments [Array, nil] Additional adjustments to be added to the plan. + # + # @param add_prices [Array, nil] Additional prices to be added to the plan. + # + # @param remove_adjustments [Array, nil] Adjustments to be removed from the plan. + # + # @param remove_prices [Array, nil] Prices to be removed from the plan. + # + # @param replace_adjustments [Array, nil] Adjustments to be replaced with additional adjustments on the plan. + # + # @param replace_prices [Array, nil] Prices to be replaced with additional prices on the plan. + # + # @param set_as_default [Boolean, nil] Set this new plan version as the default + # + # @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}] + + class AddAdjustment < Orb::Internal::Type::BaseModel + # @!attribute adjustment + # The definition of a new adjustment to create and add to the plan. + # + # @return [Orb::Models::BetaCreatePlanVersionParams::AddAdjustment::Adjustment::PercentageDiscount, Orb::Models::BetaCreatePlanVersionParams::AddAdjustment::Adjustment::UsageDiscount, Orb::Models::BetaCreatePlanVersionParams::AddAdjustment::Adjustment::AmountDiscount, Orb::Models::BetaCreatePlanVersionParams::AddAdjustment::Adjustment::Minimum, Orb::Models::BetaCreatePlanVersionParams::AddAdjustment::Adjustment::Maximum] + required :adjustment, union: -> { Orb::BetaCreatePlanVersionParams::AddAdjustment::Adjustment } + + # @!attribute plan_phase_order + # The phase to add this adjustment to. + # + # @return [Integer, nil] + optional :plan_phase_order, Integer, nil?: true + + # @!method initialize(adjustment:, plan_phase_order: nil) + # @param adjustment [Orb::Models::BetaCreatePlanVersionParams::AddAdjustment::Adjustment::PercentageDiscount, Orb::Models::BetaCreatePlanVersionParams::AddAdjustment::Adjustment::UsageDiscount, Orb::Models::BetaCreatePlanVersionParams::AddAdjustment::Adjustment::AmountDiscount, Orb::Models::BetaCreatePlanVersionParams::AddAdjustment::Adjustment::Minimum, Orb::Models::BetaCreatePlanVersionParams::AddAdjustment::Adjustment::Maximum] The definition of a new adjustment to create and add to the plan. + # + # @param plan_phase_order [Integer, nil] The phase to add this adjustment to. + + # The definition of a new adjustment to create and add to the plan. + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddAdjustment#adjustment + module Adjustment + extend Orb::Internal::Type::Union + + discriminator :adjustment_type + + variant :percentage_discount, + -> { Orb::BetaCreatePlanVersionParams::AddAdjustment::Adjustment::PercentageDiscount } + + variant :usage_discount, + -> { + Orb::BetaCreatePlanVersionParams::AddAdjustment::Adjustment::UsageDiscount + } + + variant :amount_discount, + -> { Orb::BetaCreatePlanVersionParams::AddAdjustment::Adjustment::AmountDiscount } + + variant :minimum, -> { Orb::BetaCreatePlanVersionParams::AddAdjustment::Adjustment::Minimum } + + variant :maximum, -> { Orb::BetaCreatePlanVersionParams::AddAdjustment::Adjustment::Maximum } + + class PercentageDiscount < Orb::Internal::Type::BaseModel + # @!attribute adjustment_type + # + # @return [Symbol, :percentage_discount] + required :adjustment_type, const: :percentage_discount + + # @!attribute percentage_discount + # + # @return [Float] + required :percentage_discount, Float + + # @!attribute applies_to_price_ids + # The set of price IDs to which this adjustment applies. + # + # @return [Array, nil] + optional :applies_to_price_ids, Orb::Internal::Type::ArrayOf[String], nil?: true + + # @!attribute is_invoice_level + # When false, this adjustment will be applied to a single price. Otherwise, it + # will be applied at the invoice level, possibly to multiple prices. + # + # @return [Boolean, nil] + optional :is_invoice_level, Orb::Internal::Type::Boolean + + # @!method initialize(percentage_discount:, applies_to_price_ids: nil, is_invoice_level: nil, adjustment_type: :percentage_discount) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::AddAdjustment::Adjustment::PercentageDiscount} + # for more details. + # + # @param percentage_discount [Float] + # + # @param applies_to_price_ids [Array, nil] The set of price IDs to which this adjustment applies. + # + # @param is_invoice_level [Boolean] When false, this adjustment will be applied to a single price. Otherwise, it wil + # + # @param adjustment_type [Symbol, :percentage_discount] + end + + class UsageDiscount < Orb::Internal::Type::BaseModel + # @!attribute adjustment_type + # + # @return [Symbol, :usage_discount] + required :adjustment_type, const: :usage_discount + + # @!attribute usage_discount + # + # @return [Float] + required :usage_discount, Float + + # @!attribute applies_to_price_ids + # The set of price IDs to which this adjustment applies. + # + # @return [Array, nil] + optional :applies_to_price_ids, Orb::Internal::Type::ArrayOf[String], nil?: true + + # @!attribute is_invoice_level + # When false, this adjustment will be applied to a single price. Otherwise, it + # will be applied at the invoice level, possibly to multiple prices. + # + # @return [Boolean, nil] + optional :is_invoice_level, Orb::Internal::Type::Boolean + + # @!method initialize(usage_discount:, applies_to_price_ids: nil, is_invoice_level: nil, adjustment_type: :usage_discount) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::AddAdjustment::Adjustment::UsageDiscount} + # for more details. + # + # @param usage_discount [Float] + # + # @param applies_to_price_ids [Array, nil] The set of price IDs to which this adjustment applies. + # + # @param is_invoice_level [Boolean] When false, this adjustment will be applied to a single price. Otherwise, it wil + # + # @param adjustment_type [Symbol, :usage_discount] + end + + class AmountDiscount < Orb::Internal::Type::BaseModel + # @!attribute adjustment_type + # + # @return [Symbol, :amount_discount] + required :adjustment_type, const: :amount_discount + + # @!attribute amount_discount + # + # @return [String] + required :amount_discount, String + + # @!attribute applies_to_price_ids + # The set of price IDs to which this adjustment applies. + # + # @return [Array, nil] + optional :applies_to_price_ids, Orb::Internal::Type::ArrayOf[String], nil?: true + + # @!attribute is_invoice_level + # When false, this adjustment will be applied to a single price. Otherwise, it + # will be applied at the invoice level, possibly to multiple prices. + # + # @return [Boolean, nil] + optional :is_invoice_level, Orb::Internal::Type::Boolean + + # @!method initialize(amount_discount:, applies_to_price_ids: nil, is_invoice_level: nil, adjustment_type: :amount_discount) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::AddAdjustment::Adjustment::AmountDiscount} + # for more details. + # + # @param amount_discount [String] + # + # @param applies_to_price_ids [Array, nil] The set of price IDs to which this adjustment applies. + # + # @param is_invoice_level [Boolean] When false, this adjustment will be applied to a single price. Otherwise, it wil + # + # @param adjustment_type [Symbol, :amount_discount] + end + + class Minimum < Orb::Internal::Type::BaseModel + # @!attribute adjustment_type + # + # @return [Symbol, :minimum] + required :adjustment_type, const: :minimum + + # @!attribute item_id + # The item ID that revenue from this minimum will be attributed to. + # + # @return [String] + required :item_id, String + + # @!attribute minimum_amount + # + # @return [String] + required :minimum_amount, String + + # @!attribute applies_to_price_ids + # The set of price IDs to which this adjustment applies. + # + # @return [Array, nil] + optional :applies_to_price_ids, Orb::Internal::Type::ArrayOf[String], nil?: true + + # @!attribute is_invoice_level + # When false, this adjustment will be applied to a single price. Otherwise, it + # will be applied at the invoice level, possibly to multiple prices. + # + # @return [Boolean, nil] + optional :is_invoice_level, Orb::Internal::Type::Boolean + + # @!method initialize(item_id:, minimum_amount:, applies_to_price_ids: nil, is_invoice_level: nil, adjustment_type: :minimum) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::AddAdjustment::Adjustment::Minimum} + # for more details. + # + # @param item_id [String] The item ID that revenue from this minimum will be attributed to. + # + # @param minimum_amount [String] + # + # @param applies_to_price_ids [Array, nil] The set of price IDs to which this adjustment applies. + # + # @param is_invoice_level [Boolean] When false, this adjustment will be applied to a single price. Otherwise, it wil + # + # @param adjustment_type [Symbol, :minimum] + end + + class Maximum < Orb::Internal::Type::BaseModel + # @!attribute adjustment_type + # + # @return [Symbol, :maximum] + required :adjustment_type, const: :maximum + + # @!attribute maximum_amount + # + # @return [String] + required :maximum_amount, String + + # @!attribute applies_to_price_ids + # The set of price IDs to which this adjustment applies. + # + # @return [Array, nil] + optional :applies_to_price_ids, Orb::Internal::Type::ArrayOf[String], nil?: true + + # @!attribute is_invoice_level + # When false, this adjustment will be applied to a single price. Otherwise, it + # will be applied at the invoice level, possibly to multiple prices. + # + # @return [Boolean, nil] + optional :is_invoice_level, Orb::Internal::Type::Boolean + + # @!method initialize(maximum_amount:, applies_to_price_ids: nil, is_invoice_level: nil, adjustment_type: :maximum) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::AddAdjustment::Adjustment::Maximum} + # for more details. + # + # @param maximum_amount [String] + # + # @param applies_to_price_ids [Array, nil] The set of price IDs to which this adjustment applies. + # + # @param is_invoice_level [Boolean] When false, this adjustment will be applied to a single price. Otherwise, it wil + # + # @param adjustment_type [Symbol, :maximum] + end + + # @!method self.variants + # @return [Array(Orb::Models::BetaCreatePlanVersionParams::AddAdjustment::Adjustment::PercentageDiscount, Orb::Models::BetaCreatePlanVersionParams::AddAdjustment::Adjustment::UsageDiscount, Orb::Models::BetaCreatePlanVersionParams::AddAdjustment::Adjustment::AmountDiscount, Orb::Models::BetaCreatePlanVersionParams::AddAdjustment::Adjustment::Minimum, Orb::Models::BetaCreatePlanVersionParams::AddAdjustment::Adjustment::Maximum)] + end + end + + class AddPrice < Orb::Internal::Type::BaseModel + # @!attribute allocation_price + # The allocation price to add to the plan. + # + # @return [Orb::Models::BetaCreatePlanVersionParams::AddPrice::AllocationPrice, nil] + optional :allocation_price, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::AllocationPrice + }, + nil?: true + + # @!attribute plan_phase_order + # The phase to add this price to. + # + # @return [Integer, nil] + optional :plan_phase_order, Integer, nil?: true + + # @!attribute price + # The price to add to the plan + # + # @return [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Unit, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Package, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Matrix, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Tiered, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Bps, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Bulk, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered, nil] + optional :price, union: -> { Orb::BetaCreatePlanVersionParams::AddPrice::Price }, nil?: true + + # @!method initialize(allocation_price: nil, plan_phase_order: nil, price: nil) + # @param allocation_price [Orb::Models::BetaCreatePlanVersionParams::AddPrice::AllocationPrice, nil] The allocation price to add to the plan. + # + # @param plan_phase_order [Integer, nil] The phase to add this price to. + # + # @param price [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Unit, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Package, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Matrix, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Tiered, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Bps, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Bulk, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered, nil] The price to add to the plan + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice#allocation_price + class AllocationPrice < Orb::Internal::Type::BaseModel + # @!attribute amount + # An amount of the currency to allocate to the customer at the specified cadence. + # + # @return [String] + required :amount, String + + # @!attribute cadence + # The cadence at which to allocate the amount to the customer. + # + # @return [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::AllocationPrice::Cadence] + required :cadence, enum: -> { Orb::BetaCreatePlanVersionParams::AddPrice::AllocationPrice::Cadence } + + # @!attribute currency + # An ISO 4217 currency string or a custom pricing unit identifier in which to bill + # this price. + # + # @return [String] + required :currency, String + + # @!attribute expires_at_end_of_cadence + # Whether the allocated amount should expire at the end of the cadence or roll + # over to the next period. + # + # @return [Boolean] + required :expires_at_end_of_cadence, Orb::Internal::Type::Boolean + + # @!method initialize(amount:, cadence:, currency:, expires_at_end_of_cadence:) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::AddPrice::AllocationPrice} for more + # details. + # + # The allocation price to add to the plan. + # + # @param amount [String] An amount of the currency to allocate to the customer at the specified cadence. + # + # @param cadence [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::AllocationPrice::Cadence] The cadence at which to allocate the amount to the customer. + # + # @param currency [String] An ISO 4217 currency string or a custom pricing unit identifier in which to bill + # + # @param expires_at_end_of_cadence [Boolean] Whether the allocated amount should expire at the end of the cadence or roll ove + + # The cadence at which to allocate the amount to the customer. + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::AllocationPrice#cadence + module Cadence + extend Orb::Internal::Type::Enum + + ONE_TIME = :one_time + MONTHLY = :monthly + QUARTERLY = :quarterly + SEMI_ANNUAL = :semi_annual + ANNUAL = :annual + CUSTOM = :custom + + # @!method self.values + # @return [Array] + end + end + + # The price to add to the plan + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice#price + module Price + extend Orb::Internal::Type::Union + + discriminator :model_type + + variant :unit, -> { Orb::BetaCreatePlanVersionParams::AddPrice::Price::Unit } + + variant :package, -> { Orb::BetaCreatePlanVersionParams::AddPrice::Price::Package } + + variant :matrix, -> { Orb::BetaCreatePlanVersionParams::AddPrice::Price::Matrix } + + variant :tiered, -> { Orb::BetaCreatePlanVersionParams::AddPrice::Price::Tiered } + + variant :tiered_bps, -> { Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps } + + variant :bps, -> { Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bps } + + variant :bulk_bps, -> { Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps } + + variant :bulk, -> { Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bulk } + + variant :threshold_total_amount, + -> { Orb::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount } + + variant :tiered_package, -> { Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage } + + variant :tiered_with_minimum, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum + } + + variant :unit_with_percent, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent + } + + variant :package_with_allocation, + -> { Orb::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation } + + variant :tiered_with_proration, + -> { Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration } + + variant :unit_with_proration, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration + } + + variant :grouped_allocation, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation + } + + variant :grouped_with_prorated_minimum, + -> { Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum } + + variant :grouped_with_metered_minimum, + -> { Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum } + + variant :matrix_with_display_name, + -> { Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName } + + variant :bulk_with_proration, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration + } + + variant :grouped_tiered_package, + -> { Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage } + + variant :max_group_tiered_package, + -> { Orb::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage } + + variant :scalable_matrix_with_unit_pricing, + -> { Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing } + + variant :scalable_matrix_with_tiered_pricing, + -> { Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing } + + variant :cumulative_grouped_bulk, + -> { Orb::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk } + + variant :tiered_package_with_minimum, + -> { Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum } + + variant :matrix_with_allocation, + -> { Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation } + + variant :grouped_tiered, -> { Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered } + + class Unit < Orb::Internal::Type::BaseModel + # @!attribute cadence + # The cadence to bill for this price on. + # + # @return [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Unit::Cadence] + required :cadence, enum: -> { Orb::BetaCreatePlanVersionParams::AddPrice::Price::Unit::Cadence } + + # @!attribute item_id + # The id of the item the price will be associated with. + # + # @return [String] + required :item_id, String + + # @!attribute model_type + # + # @return [Symbol, :unit] + required :model_type, const: :unit + + # @!attribute name + # The name of the price. + # + # @return [String] + required :name, String + + # @!attribute unit_config + # + # @return [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Unit::UnitConfig] + required :unit_config, -> { Orb::BetaCreatePlanVersionParams::AddPrice::Price::Unit::UnitConfig } + + # @!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::Internal::Type::Boolean, nil?: true + + # @!attribute billing_cycle_configuration + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @return [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Unit::BillingCycleConfiguration, nil] + optional :billing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Unit::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 dimensional_price_configuration + # For dimensional price: specifies a price group and dimension values + # + # @return [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Unit::DimensionalPriceConfiguration, nil] + optional :dimensional_price_configuration, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Unit::DimensionalPriceConfiguration + }, + 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::BetaCreatePlanVersionParams::AddPrice::Price::Unit::InvoicingCycleConfiguration, nil] + optional :invoicing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Unit::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::Internal::Type::HashOf[String, nil?: true], nil?: true + + # @!method initialize(cadence:, item_id:, name:, unit_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :unit) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Unit} for more + # details. + # + # @param cadence [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Unit::Cadence] The cadence to bill for this price on. + # + # @param item_id [String] The id of the item the price will be associated with. + # + # @param name [String] The name of the price. + # + # @param unit_config [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Unit::UnitConfig] + # + # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b + # + # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi + # + # @param billing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Unit::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # + # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. + # + # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr + # + # @param dimensional_price_configuration [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Unit::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # + # @param external_price_id [String, nil] An alias for the price. + # + # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl + # + # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice + # + # @param invoicing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Unit::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # + # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed + # + # @param model_type [Symbol, :unit] + + # The cadence to bill for this price on. + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Unit#cadence + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + # @!method self.values + # @return [Array] + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Unit#unit_config + class UnitConfig < Orb::Internal::Type::BaseModel + # @!attribute unit_amount + # Rate per unit of usage + # + # @return [String] + required :unit_amount, String + + # @!method initialize(unit_amount:) + # @param unit_amount [String] Rate per unit of usage + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Unit#billing_cycle_configuration + class BillingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::AddPrice::Price::Unit::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Unit::BillingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @param duration [Integer] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Unit::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Unit::BillingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Unit#dimensional_price_configuration + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # The list of dimension values matching (in order) the dimensions of the price + # group + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String] + + # @!attribute dimensional_price_group_id + # The id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :dimensional_price_group_id, String, nil?: true + + # @!attribute external_dimensional_price_group_id + # The external id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :external_dimensional_price_group_id, String, nil?: true + + # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Unit::DimensionalPriceConfiguration} + # for more details. + # + # For dimensional price: specifies a price group and dimension values + # + # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro + # + # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in + # + # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Unit#invoicing_cycle_configuration + class InvoicingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::AddPrice::Price::Unit::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Unit::InvoicingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # 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] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Unit::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Unit::InvoicingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + end + + class Package < Orb::Internal::Type::BaseModel + # @!attribute cadence + # The cadence to bill for this price on. + # + # @return [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Package::Cadence] + required :cadence, + enum: -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Package::Cadence + } + + # @!attribute item_id + # The id of the item the price will be associated with. + # + # @return [String] + required :item_id, String + + # @!attribute model_type + # + # @return [Symbol, :package] + required :model_type, const: :package + + # @!attribute name + # The name of the price. + # + # @return [String] + required :name, String + + # @!attribute package_config + # + # @return [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Package::PackageConfig] + required :package_config, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Package::PackageConfig + } + + # @!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::Internal::Type::Boolean, nil?: true + + # @!attribute billing_cycle_configuration + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @return [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Package::BillingCycleConfiguration, nil] + optional :billing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Package::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 dimensional_price_configuration + # For dimensional price: specifies a price group and dimension values + # + # @return [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Package::DimensionalPriceConfiguration, nil] + optional :dimensional_price_configuration, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Package::DimensionalPriceConfiguration + }, + 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::BetaCreatePlanVersionParams::AddPrice::Price::Package::InvoicingCycleConfiguration, nil] + optional :invoicing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Package::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::Internal::Type::HashOf[String, nil?: true], nil?: true + + # @!method initialize(cadence:, item_id:, name:, package_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :package) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Package} for more + # details. + # + # @param cadence [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Package::Cadence] The cadence to bill for this price on. + # + # @param item_id [String] The id of the item the price will be associated with. + # + # @param name [String] The name of the price. + # + # @param package_config [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Package::PackageConfig] + # + # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b + # + # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi + # + # @param billing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Package::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # + # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. + # + # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr + # + # @param dimensional_price_configuration [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Package::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # + # @param external_price_id [String, nil] An alias for the price. + # + # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl + # + # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice + # + # @param invoicing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Package::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # + # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed + # + # @param model_type [Symbol, :package] + + # The cadence to bill for this price on. + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Package#cadence + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + # @!method self.values + # @return [Array] + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Package#package_config + class PackageConfig < Orb::Internal::Type::BaseModel + # @!attribute package_amount + # A currency amount to rate usage by + # + # @return [String] + required :package_amount, String + + # @!attribute package_size + # An integer amount to represent package size. For example, 1000 here would divide + # usage by 1000 before multiplying by package_amount in rating + # + # @return [Integer] + required :package_size, Integer + + # @!method initialize(package_amount:, package_size:) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Package::PackageConfig} + # for more details. + # + # @param package_amount [String] A currency amount to rate usage by + # + # @param package_size [Integer] An integer amount to represent package size. For example, 1000 here would divide + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Package#billing_cycle_configuration + class BillingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::AddPrice::Price::Package::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Package::BillingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @param duration [Integer] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Package::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Package::BillingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Package#dimensional_price_configuration + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # The list of dimension values matching (in order) the dimensions of the price + # group + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String] + + # @!attribute dimensional_price_group_id + # The id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :dimensional_price_group_id, String, nil?: true + + # @!attribute external_dimensional_price_group_id + # The external id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :external_dimensional_price_group_id, String, nil?: true + + # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Package::DimensionalPriceConfiguration} + # for more details. + # + # For dimensional price: specifies a price group and dimension values + # + # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro + # + # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in + # + # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Package#invoicing_cycle_configuration + class InvoicingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::AddPrice::Price::Package::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Package::InvoicingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # 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] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Package::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Package::InvoicingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + end + + class Matrix < Orb::Internal::Type::BaseModel + # @!attribute cadence + # The cadence to bill for this price on. + # + # @return [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::Cadence] + required :cadence, enum: -> { Orb::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::Cadence } + + # @!attribute item_id + # The id of the item the price will be associated with. + # + # @return [String] + required :item_id, String + + # @!attribute matrix_config + # + # @return [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::MatrixConfig] + required :matrix_config, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::MatrixConfig + } + + # @!attribute model_type + # + # @return [Symbol, :matrix] + required :model_type, const: :matrix + + # @!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::Internal::Type::Boolean, nil?: true + + # @!attribute billing_cycle_configuration + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @return [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::BillingCycleConfiguration, nil] + optional :billing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::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 dimensional_price_configuration + # For dimensional price: specifies a price group and dimension values + # + # @return [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::DimensionalPriceConfiguration, nil] + optional :dimensional_price_configuration, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::DimensionalPriceConfiguration + }, + 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::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration, nil] + optional :invoicing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::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::Internal::Type::HashOf[String, nil?: true], nil?: true + + # @!method initialize(cadence:, item_id:, matrix_config:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :matrix) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Matrix} for more + # details. + # + # @param cadence [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::Cadence] The cadence to bill for this price on. + # + # @param item_id [String] The id of the item the price will be associated with. + # + # @param matrix_config [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::MatrixConfig] + # + # @param name [String] The name of the price. + # + # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b + # + # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi + # + # @param billing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # + # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. + # + # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr + # + # @param dimensional_price_configuration [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # + # @param external_price_id [String, nil] An alias for the price. + # + # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl + # + # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice + # + # @param invoicing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # + # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed + # + # @param model_type [Symbol, :matrix] + + # The cadence to bill for this price on. + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Matrix#cadence + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + # @!method self.values + # @return [Array] + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Matrix#matrix_config + class MatrixConfig < Orb::Internal::Type::BaseModel + # @!attribute default_unit_amount + # Default per unit rate for any usage not bucketed into a specified matrix_value + # + # @return [String] + required :default_unit_amount, String + + # @!attribute dimensions + # One or two event property values to evaluate matrix groups by + # + # @return [Array] + required :dimensions, Orb::Internal::Type::ArrayOf[String, nil?: true] + + # @!attribute matrix_values + # Matrix values for specified matrix grouping keys + # + # @return [Array] + required :matrix_values, + -> { + Orb::Internal::Type::ArrayOf[Orb::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::MatrixConfig::MatrixValue] + } + + # @!method initialize(default_unit_amount:, dimensions:, matrix_values:) + # @param default_unit_amount [String] Default per unit rate for any usage not bucketed into a specified matrix_value + # + # @param dimensions [Array] One or two event property values to evaluate matrix groups by + # + # @param matrix_values [Array] Matrix values for specified matrix grouping keys + + class MatrixValue < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # One or two matrix keys to filter usage to this Matrix value by. For example, + # ["region", "tier"] could be used to filter cloud usage by a cloud region and an + # instance tier. + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String, nil?: true] + + # @!attribute unit_amount + # Unit price for the specified dimension_values + # + # @return [String] + required :unit_amount, String + + # @!method initialize(dimension_values:, unit_amount:) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::MatrixConfig::MatrixValue} + # for more details. + # + # @param dimension_values [Array] One or two matrix keys to filter usage to this Matrix value by. For example, ["r + # + # @param unit_amount [String] Unit price for the specified dimension_values + end + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Matrix#billing_cycle_configuration + class BillingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::BillingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @param duration [Integer] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::BillingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Matrix#dimensional_price_configuration + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # The list of dimension values matching (in order) the dimensions of the price + # group + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String] + + # @!attribute dimensional_price_group_id + # The id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :dimensional_price_group_id, String, nil?: true + + # @!attribute external_dimensional_price_group_id + # The external id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :external_dimensional_price_group_id, String, nil?: true + + # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::DimensionalPriceConfiguration} + # for more details. + # + # For dimensional price: specifies a price group and dimension values + # + # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro + # + # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in + # + # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Matrix#invoicing_cycle_configuration + class InvoicingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # 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] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + end + + class Tiered < Orb::Internal::Type::BaseModel + # @!attribute cadence + # The cadence to bill for this price on. + # + # @return [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::Cadence] + required :cadence, enum: -> { Orb::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::Cadence } + + # @!attribute item_id + # The id of the item the price will be associated with. + # + # @return [String] + required :item_id, String + + # @!attribute model_type + # + # @return [Symbol, :tiered] + required :model_type, const: :tiered + + # @!attribute name + # The name of the price. + # + # @return [String] + required :name, String + + # @!attribute tiered_config + # + # @return [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::TieredConfig] + required :tiered_config, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::TieredConfig + } + + # @!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::Internal::Type::Boolean, nil?: true + + # @!attribute billing_cycle_configuration + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @return [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::BillingCycleConfiguration, nil] + optional :billing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::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 dimensional_price_configuration + # For dimensional price: specifies a price group and dimension values + # + # @return [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::DimensionalPriceConfiguration, nil] + optional :dimensional_price_configuration, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::DimensionalPriceConfiguration + }, + 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::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration, nil] + optional :invoicing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::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::Internal::Type::HashOf[String, nil?: true], nil?: true + + # @!method initialize(cadence:, item_id:, name:, tiered_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :tiered) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Tiered} for more + # details. + # + # @param cadence [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::Cadence] The cadence to bill for this price on. + # + # @param item_id [String] The id of the item the price will be associated with. + # + # @param name [String] The name of the price. + # + # @param tiered_config [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::TieredConfig] + # + # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b + # + # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi + # + # @param billing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # + # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. + # + # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr + # + # @param dimensional_price_configuration [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # + # @param external_price_id [String, nil] An alias for the price. + # + # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl + # + # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice + # + # @param invoicing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # + # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed + # + # @param model_type [Symbol, :tiered] + + # The cadence to bill for this price on. + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Tiered#cadence + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + # @!method self.values + # @return [Array] + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Tiered#tiered_config + class TieredConfig < Orb::Internal::Type::BaseModel + # @!attribute tiers + # Tiers for rating based on total usage quantities into the specified tier + # + # @return [Array] + required :tiers, + -> { + Orb::Internal::Type::ArrayOf[Orb::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::TieredConfig::Tier] + } + + # @!method initialize(tiers:) + # @param tiers [Array] Tiers for rating based on total usage quantities into the specified tier + + class Tier < Orb::Internal::Type::BaseModel + # @!attribute first_unit + # Exclusive tier starting value + # + # @return [Float] + required :first_unit, Float + + # @!attribute unit_amount + # Amount per unit + # + # @return [String] + required :unit_amount, String + + # @!attribute last_unit + # Inclusive tier ending value. If null, this is treated as the last tier + # + # @return [Float, nil] + optional :last_unit, Float, nil?: true + + # @!method initialize(first_unit:, unit_amount:, last_unit: nil) + # @param first_unit [Float] Exclusive tier starting value + # + # @param unit_amount [String] Amount per unit + # + # @param last_unit [Float, nil] Inclusive tier ending value. If null, this is treated as the last tier + end + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Tiered#billing_cycle_configuration + class BillingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::BillingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @param duration [Integer] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::BillingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Tiered#dimensional_price_configuration + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # The list of dimension values matching (in order) the dimensions of the price + # group + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String] + + # @!attribute dimensional_price_group_id + # The id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :dimensional_price_group_id, String, nil?: true + + # @!attribute external_dimensional_price_group_id + # The external id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :external_dimensional_price_group_id, String, nil?: true + + # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::DimensionalPriceConfiguration} + # for more details. + # + # For dimensional price: specifies a price group and dimension values + # + # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro + # + # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in + # + # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Tiered#invoicing_cycle_configuration + class InvoicingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # 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] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + end + + class TieredBps < Orb::Internal::Type::BaseModel + # @!attribute cadence + # The cadence to bill for this price on. + # + # @return [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::Cadence] + required :cadence, + enum: -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::Cadence + } + + # @!attribute item_id + # The id of the item the price will be associated with. + # + # @return [String] + required :item_id, String + + # @!attribute model_type + # + # @return [Symbol, :tiered_bps] + required :model_type, const: :tiered_bps + + # @!attribute name + # The name of the price. + # + # @return [String] + required :name, String + + # @!attribute tiered_bps_config + # + # @return [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::TieredBpsConfig] + required :tiered_bps_config, + -> { Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::TieredBpsConfig } + + # @!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::Internal::Type::Boolean, nil?: true + + # @!attribute billing_cycle_configuration + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @return [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::BillingCycleConfiguration, nil] + optional :billing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::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 dimensional_price_configuration + # For dimensional price: specifies a price group and dimension values + # + # @return [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::DimensionalPriceConfiguration, nil] + optional :dimensional_price_configuration, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::DimensionalPriceConfiguration + }, + 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::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration, nil] + optional :invoicing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::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::Internal::Type::HashOf[String, nil?: true], nil?: true + + # @!method initialize(cadence:, item_id:, name:, tiered_bps_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :tiered_bps) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps} for more + # details. + # + # @param cadence [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::Cadence] The cadence to bill for this price on. + # + # @param item_id [String] The id of the item the price will be associated with. + # + # @param name [String] The name of the price. + # + # @param tiered_bps_config [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::TieredBpsConfig] + # + # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b + # + # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi + # + # @param billing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # + # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. + # + # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr + # + # @param dimensional_price_configuration [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # + # @param external_price_id [String, nil] An alias for the price. + # + # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl + # + # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice + # + # @param invoicing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # + # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed + # + # @param model_type [Symbol, :tiered_bps] + + # The cadence to bill for this price on. + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps#cadence + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + # @!method self.values + # @return [Array] + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps#tiered_bps_config + class TieredBpsConfig < Orb::Internal::Type::BaseModel + # @!attribute tiers + # Tiers for a Graduated BPS pricing model, where usage is bucketed into specified + # tiers + # + # @return [Array] + required :tiers, + -> { + Orb::Internal::Type::ArrayOf[Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::TieredBpsConfig::Tier] + } + + # @!method initialize(tiers:) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::TieredBpsConfig} + # for more details. + # + # @param tiers [Array] Tiers for a Graduated BPS pricing model, where usage is bucketed into specified + + class Tier < Orb::Internal::Type::BaseModel + # @!attribute bps + # Per-event basis point rate + # + # @return [Float] + required :bps, Float + + # @!attribute minimum_amount + # Exclusive tier starting value + # + # @return [String] + required :minimum_amount, String + + # @!attribute maximum_amount + # Inclusive tier ending value + # + # @return [String, nil] + optional :maximum_amount, String, nil?: true + + # @!attribute per_unit_maximum + # Per unit maximum to charge + # + # @return [String, nil] + optional :per_unit_maximum, String, nil?: true + + # @!method initialize(bps:, minimum_amount:, maximum_amount: nil, per_unit_maximum: nil) + # @param bps [Float] Per-event basis point rate + # + # @param minimum_amount [String] Exclusive tier starting value + # + # @param maximum_amount [String, nil] Inclusive tier ending value + # + # @param per_unit_maximum [String, nil] Per unit maximum to charge + end + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps#billing_cycle_configuration + class BillingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::BillingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @param duration [Integer] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::BillingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps#dimensional_price_configuration + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # The list of dimension values matching (in order) the dimensions of the price + # group + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String] + + # @!attribute dimensional_price_group_id + # The id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :dimensional_price_group_id, String, nil?: true + + # @!attribute external_dimensional_price_group_id + # The external id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :external_dimensional_price_group_id, String, nil?: true + + # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::DimensionalPriceConfiguration} + # for more details. + # + # For dimensional price: specifies a price group and dimension values + # + # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro + # + # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in + # + # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps#invoicing_cycle_configuration + class InvoicingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # 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] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + end + + class Bps < Orb::Internal::Type::BaseModel + # @!attribute bps_config + # + # @return [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Bps::BpsConfig] + required :bps_config, -> { Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bps::BpsConfig } + + # @!attribute cadence + # The cadence to bill for this price on. + # + # @return [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Bps::Cadence] + required :cadence, enum: -> { Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bps::Cadence } + + # @!attribute item_id + # The id of the item the price will be associated with. + # + # @return [String] + required :item_id, String + + # @!attribute model_type + # + # @return [Symbol, :bps] + required :model_type, const: :bps + + # @!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::Internal::Type::Boolean, nil?: true + + # @!attribute billing_cycle_configuration + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @return [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Bps::BillingCycleConfiguration, nil] + optional :billing_cycle_configuration, + -> { Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bps::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 dimensional_price_configuration + # For dimensional price: specifies a price group and dimension values + # + # @return [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Bps::DimensionalPriceConfiguration, nil] + optional :dimensional_price_configuration, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bps::DimensionalPriceConfiguration + }, + 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::BetaCreatePlanVersionParams::AddPrice::Price::Bps::InvoicingCycleConfiguration, nil] + optional :invoicing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bps::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::Internal::Type::HashOf[String, nil?: true], nil?: true + + # @!method initialize(bps_config:, cadence:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :bps) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Bps} for more + # details. + # + # @param bps_config [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Bps::BpsConfig] + # + # @param cadence [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Bps::Cadence] The cadence to bill for this price on. + # + # @param item_id [String] The id of the item the price will be associated with. + # + # @param name [String] The name of the price. + # + # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b + # + # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi + # + # @param billing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Bps::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # + # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. + # + # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr + # + # @param dimensional_price_configuration [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Bps::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # + # @param external_price_id [String, nil] An alias for the price. + # + # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl + # + # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice + # + # @param invoicing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Bps::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # + # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed + # + # @param model_type [Symbol, :bps] + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Bps#bps_config + class BpsConfig < Orb::Internal::Type::BaseModel + # @!attribute bps + # Basis point take rate per event + # + # @return [Float] + required :bps, Float + + # @!attribute per_unit_maximum + # Optional currency amount maximum to cap spend per event + # + # @return [String, nil] + optional :per_unit_maximum, String, nil?: true + + # @!method initialize(bps:, per_unit_maximum: nil) + # @param bps [Float] Basis point take rate per event + # + # @param per_unit_maximum [String, nil] Optional currency amount maximum to cap spend per event + end + + # The cadence to bill for this price on. + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Bps#cadence + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + # @!method self.values + # @return [Array] + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Bps#billing_cycle_configuration + class BillingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::AddPrice::Price::Bps::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bps::BillingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @param duration [Integer] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Bps::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Bps::BillingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Bps#dimensional_price_configuration + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # The list of dimension values matching (in order) the dimensions of the price + # group + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String] + + # @!attribute dimensional_price_group_id + # The id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :dimensional_price_group_id, String, nil?: true + + # @!attribute external_dimensional_price_group_id + # The external id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :external_dimensional_price_group_id, String, nil?: true + + # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Bps::DimensionalPriceConfiguration} + # for more details. + # + # For dimensional price: specifies a price group and dimension values + # + # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro + # + # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in + # + # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Bps#invoicing_cycle_configuration + class InvoicingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::AddPrice::Price::Bps::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bps::InvoicingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # 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] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Bps::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Bps::InvoicingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + end + + class BulkBps < Orb::Internal::Type::BaseModel + # @!attribute bulk_bps_config + # + # @return [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::BulkBpsConfig] + required :bulk_bps_config, + -> { Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::BulkBpsConfig } + + # @!attribute cadence + # The cadence to bill for this price on. + # + # @return [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::Cadence] + required :cadence, + enum: -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::Cadence + } + + # @!attribute item_id + # The id of the item the price will be associated with. + # + # @return [String] + required :item_id, String + + # @!attribute model_type + # + # @return [Symbol, :bulk_bps] + required :model_type, const: :bulk_bps + + # @!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::Internal::Type::Boolean, nil?: true + + # @!attribute billing_cycle_configuration + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @return [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::BillingCycleConfiguration, nil] + optional :billing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::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 dimensional_price_configuration + # For dimensional price: specifies a price group and dimension values + # + # @return [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::DimensionalPriceConfiguration, nil] + optional :dimensional_price_configuration, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::DimensionalPriceConfiguration + }, + 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::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration, nil] + optional :invoicing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::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::Internal::Type::HashOf[String, nil?: true], nil?: true + + # @!method initialize(bulk_bps_config:, cadence:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :bulk_bps) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps} for more + # details. + # + # @param bulk_bps_config [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::BulkBpsConfig] + # + # @param cadence [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::Cadence] The cadence to bill for this price on. + # + # @param item_id [String] The id of the item the price will be associated with. + # + # @param name [String] The name of the price. + # + # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b + # + # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi + # + # @param billing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # + # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. + # + # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr + # + # @param dimensional_price_configuration [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # + # @param external_price_id [String, nil] An alias for the price. + # + # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl + # + # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice + # + # @param invoicing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # + # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed + # + # @param model_type [Symbol, :bulk_bps] + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps#bulk_bps_config + class BulkBpsConfig < Orb::Internal::Type::BaseModel + # @!attribute tiers + # Tiers for a bulk BPS pricing model where all usage is aggregated to a single + # tier based on total volume + # + # @return [Array] + required :tiers, + -> { + Orb::Internal::Type::ArrayOf[Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::BulkBpsConfig::Tier] + } + + # @!method initialize(tiers:) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::BulkBpsConfig} + # for more details. + # + # @param tiers [Array] Tiers for a bulk BPS pricing model where all usage is aggregated to a single tie + + class Tier < Orb::Internal::Type::BaseModel + # @!attribute bps + # Basis points to rate on + # + # @return [Float] + required :bps, Float + + # @!attribute maximum_amount + # Upper bound for tier + # + # @return [String, nil] + optional :maximum_amount, String, nil?: true + + # @!attribute per_unit_maximum + # The maximum amount to charge for any one event + # + # @return [String, nil] + optional :per_unit_maximum, String, nil?: true + + # @!method initialize(bps:, maximum_amount: nil, per_unit_maximum: nil) + # @param bps [Float] Basis points to rate on + # + # @param maximum_amount [String, nil] Upper bound for tier + # + # @param per_unit_maximum [String, nil] The maximum amount to charge for any one event + end + end + + # The cadence to bill for this price on. + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps#cadence + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + # @!method self.values + # @return [Array] + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps#billing_cycle_configuration + class BillingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::BillingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @param duration [Integer] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::BillingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps#dimensional_price_configuration + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # The list of dimension values matching (in order) the dimensions of the price + # group + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String] + + # @!attribute dimensional_price_group_id + # The id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :dimensional_price_group_id, String, nil?: true + + # @!attribute external_dimensional_price_group_id + # The external id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :external_dimensional_price_group_id, String, nil?: true + + # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::DimensionalPriceConfiguration} + # for more details. + # + # For dimensional price: specifies a price group and dimension values + # + # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro + # + # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in + # + # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps#invoicing_cycle_configuration + class InvoicingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # 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] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + end + + class Bulk < Orb::Internal::Type::BaseModel + # @!attribute bulk_config + # + # @return [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::BulkConfig] + required :bulk_config, -> { Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::BulkConfig } + + # @!attribute cadence + # The cadence to bill for this price on. + # + # @return [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::Cadence] + required :cadence, enum: -> { Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::Cadence } + + # @!attribute item_id + # The id of the item the price will be associated with. + # + # @return [String] + required :item_id, String + + # @!attribute model_type + # + # @return [Symbol, :bulk] + required :model_type, const: :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::Internal::Type::Boolean, nil?: true + + # @!attribute billing_cycle_configuration + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @return [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::BillingCycleConfiguration, nil] + optional :billing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::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 dimensional_price_configuration + # For dimensional price: specifies a price group and dimension values + # + # @return [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::DimensionalPriceConfiguration, nil] + optional :dimensional_price_configuration, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::DimensionalPriceConfiguration + }, + 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::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration, nil] + optional :invoicing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::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::Internal::Type::HashOf[String, nil?: true], nil?: true + + # @!method initialize(bulk_config:, cadence:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :bulk) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Bulk} for more + # details. + # + # @param bulk_config [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::BulkConfig] + # + # @param cadence [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::Cadence] The cadence to bill for this price on. + # + # @param item_id [String] The id of the item the price will be associated with. + # + # @param name [String] The name of the price. + # + # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b + # + # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi + # + # @param billing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # + # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. + # + # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr + # + # @param dimensional_price_configuration [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # + # @param external_price_id [String, nil] An alias for the price. + # + # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl + # + # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice + # + # @param invoicing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # + # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed + # + # @param model_type [Symbol, :bulk] + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Bulk#bulk_config + class BulkConfig < Orb::Internal::Type::BaseModel + # @!attribute tiers + # Bulk tiers for rating based on total usage volume + # + # @return [Array] + required :tiers, + -> { + Orb::Internal::Type::ArrayOf[Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::BulkConfig::Tier] + } + + # @!method initialize(tiers:) + # @param tiers [Array] Bulk tiers for rating based on total usage volume + + class Tier < Orb::Internal::Type::BaseModel + # @!attribute unit_amount + # Amount per unit + # + # @return [String] + required :unit_amount, String + + # @!attribute maximum_units + # Upper bound for this tier + # + # @return [Float, nil] + optional :maximum_units, Float, nil?: true + + # @!method initialize(unit_amount:, maximum_units: nil) + # @param unit_amount [String] Amount per unit + # + # @param maximum_units [Float, nil] Upper bound for this tier + end + end + + # The cadence to bill for this price on. + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Bulk#cadence + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + # @!method self.values + # @return [Array] + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Bulk#billing_cycle_configuration + class BillingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::BillingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @param duration [Integer] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::BillingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Bulk#dimensional_price_configuration + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # The list of dimension values matching (in order) the dimensions of the price + # group + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String] + + # @!attribute dimensional_price_group_id + # The id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :dimensional_price_group_id, String, nil?: true + + # @!attribute external_dimensional_price_group_id + # The external id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :external_dimensional_price_group_id, String, nil?: true + + # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::DimensionalPriceConfiguration} + # for more details. + # + # For dimensional price: specifies a price group and dimension values + # + # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro + # + # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in + # + # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Bulk#invoicing_cycle_configuration + class InvoicingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # 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] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + end + + class ThresholdTotalAmount < Orb::Internal::Type::BaseModel + # @!attribute cadence + # The cadence to bill for this price on. + # + # @return [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::Cadence] + required :cadence, + enum: -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::Cadence + } + + # @!attribute item_id + # The id of the item the price will be associated with. + # + # @return [String] + required :item_id, String + + # @!attribute model_type + # + # @return [Symbol, :threshold_total_amount] + required :model_type, const: :threshold_total_amount + + # @!attribute name + # The name of the price. + # + # @return [String] + required :name, String + + # @!attribute threshold_total_amount_config + # + # @return [Hash{Symbol=>Object}] + required :threshold_total_amount_config, Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] + + # @!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::Internal::Type::Boolean, nil?: true + + # @!attribute billing_cycle_configuration + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @return [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration, nil] + optional :billing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::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 dimensional_price_configuration + # For dimensional price: specifies a price group and dimension values + # + # @return [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration, nil] + optional :dimensional_price_configuration, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration + }, + 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::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration, nil] + optional :invoicing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::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::Internal::Type::HashOf[String, nil?: true], nil?: true + + # @!method initialize(cadence:, item_id:, name:, threshold_total_amount_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :threshold_total_amount) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount} + # for more details. + # + # @param cadence [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::Cadence] The cadence to bill for this price on. + # + # @param item_id [String] The id of the item the price will be associated with. + # + # @param name [String] The name of the price. + # + # @param threshold_total_amount_config [Hash{Symbol=>Object}] + # + # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b + # + # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi + # + # @param billing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # + # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. + # + # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr + # + # @param dimensional_price_configuration [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # + # @param external_price_id [String, nil] An alias for the price. + # + # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl + # + # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice + # + # @param invoicing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # + # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed + # + # @param model_type [Symbol, :threshold_total_amount] + + # The cadence to bill for this price on. + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount#cadence + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + # @!method self.values + # @return [Array] + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount#billing_cycle_configuration + class BillingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @param duration [Integer] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount#dimensional_price_configuration + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # The list of dimension values matching (in order) the dimensions of the price + # group + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String] + + # @!attribute dimensional_price_group_id + # The id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :dimensional_price_group_id, String, nil?: true + + # @!attribute external_dimensional_price_group_id + # The external id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :external_dimensional_price_group_id, String, nil?: true + + # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration} + # for more details. + # + # For dimensional price: specifies a price group and dimension values + # + # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro + # + # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in + # + # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount#invoicing_cycle_configuration + class InvoicingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # 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] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + end + + class TieredPackage < Orb::Internal::Type::BaseModel + # @!attribute cadence + # The cadence to bill for this price on. + # + # @return [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::Cadence] + required :cadence, + enum: -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::Cadence + } + + # @!attribute item_id + # The id of the item the price will be associated with. + # + # @return [String] + required :item_id, String + + # @!attribute model_type + # + # @return [Symbol, :tiered_package] + required :model_type, const: :tiered_package + + # @!attribute name + # The name of the price. + # + # @return [String] + required :name, String + + # @!attribute tiered_package_config + # + # @return [Hash{Symbol=>Object}] + required :tiered_package_config, Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] + + # @!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::Internal::Type::Boolean, nil?: true + + # @!attribute billing_cycle_configuration + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @return [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration, nil] + optional :billing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::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 dimensional_price_configuration + # For dimensional price: specifies a price group and dimension values + # + # @return [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::DimensionalPriceConfiguration, nil] + optional :dimensional_price_configuration, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::DimensionalPriceConfiguration + }, + 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::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration, nil] + optional :invoicing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::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::Internal::Type::HashOf[String, nil?: true], nil?: true + + # @!method initialize(cadence:, item_id:, name:, tiered_package_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :tiered_package) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage} for + # more details. + # + # @param cadence [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::Cadence] The cadence to bill for this price on. + # + # @param item_id [String] The id of the item the price will be associated with. + # + # @param name [String] The name of the price. + # + # @param tiered_package_config [Hash{Symbol=>Object}] + # + # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b + # + # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi + # + # @param billing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # + # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. + # + # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr + # + # @param dimensional_price_configuration [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # + # @param external_price_id [String, nil] An alias for the price. + # + # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl + # + # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice + # + # @param invoicing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # + # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed + # + # @param model_type [Symbol, :tiered_package] + + # The cadence to bill for this price on. + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage#cadence + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + # @!method self.values + # @return [Array] + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage#billing_cycle_configuration + class BillingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @param duration [Integer] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage#dimensional_price_configuration + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # The list of dimension values matching (in order) the dimensions of the price + # group + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String] + + # @!attribute dimensional_price_group_id + # The id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :dimensional_price_group_id, String, nil?: true + + # @!attribute external_dimensional_price_group_id + # The external id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :external_dimensional_price_group_id, String, nil?: true + + # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::DimensionalPriceConfiguration} + # for more details. + # + # For dimensional price: specifies a price group and dimension values + # + # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro + # + # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in + # + # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage#invoicing_cycle_configuration + class InvoicingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # 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] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + end + + class TieredWithMinimum < Orb::Internal::Type::BaseModel + # @!attribute cadence + # The cadence to bill for this price on. + # + # @return [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::Cadence] + required :cadence, + enum: -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::Cadence + } + + # @!attribute item_id + # The id of the item the price will be associated with. + # + # @return [String] + required :item_id, String + + # @!attribute model_type + # + # @return [Symbol, :tiered_with_minimum] + required :model_type, const: :tiered_with_minimum + + # @!attribute name + # The name of the price. + # + # @return [String] + required :name, String + + # @!attribute tiered_with_minimum_config + # + # @return [Hash{Symbol=>Object}] + required :tiered_with_minimum_config, Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] + + # @!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::Internal::Type::Boolean, nil?: true + + # @!attribute billing_cycle_configuration + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @return [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration, nil] + optional :billing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::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 dimensional_price_configuration + # For dimensional price: specifies a price group and dimension values + # + # @return [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::DimensionalPriceConfiguration, nil] + optional :dimensional_price_configuration, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::DimensionalPriceConfiguration + }, + 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::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration, nil] + optional :invoicing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::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::Internal::Type::HashOf[String, nil?: true], nil?: true + + # @!method initialize(cadence:, item_id:, name:, tiered_with_minimum_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :tiered_with_minimum) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum} + # for more details. + # + # @param cadence [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::Cadence] The cadence to bill for this price on. + # + # @param item_id [String] The id of the item the price will be associated with. + # + # @param name [String] The name of the price. + # + # @param tiered_with_minimum_config [Hash{Symbol=>Object}] + # + # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b + # + # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi + # + # @param billing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # + # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. + # + # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr + # + # @param dimensional_price_configuration [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # + # @param external_price_id [String, nil] An alias for the price. + # + # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl + # + # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice + # + # @param invoicing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # + # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed + # + # @param model_type [Symbol, :tiered_with_minimum] + + # The cadence to bill for this price on. + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum#cadence + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + # @!method self.values + # @return [Array] + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum#billing_cycle_configuration + class BillingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @param duration [Integer] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum#dimensional_price_configuration + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # The list of dimension values matching (in order) the dimensions of the price + # group + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String] + + # @!attribute dimensional_price_group_id + # The id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :dimensional_price_group_id, String, nil?: true + + # @!attribute external_dimensional_price_group_id + # The external id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :external_dimensional_price_group_id, String, nil?: true + + # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::DimensionalPriceConfiguration} + # for more details. + # + # For dimensional price: specifies a price group and dimension values + # + # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro + # + # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in + # + # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum#invoicing_cycle_configuration + class InvoicingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # 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] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + end + + class UnitWithPercent < Orb::Internal::Type::BaseModel + # @!attribute cadence + # The cadence to bill for this price on. + # + # @return [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::Cadence] + required :cadence, + enum: -> { Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::Cadence } + + # @!attribute item_id + # The id of the item the price will be associated with. + # + # @return [String] + required :item_id, String + + # @!attribute model_type + # + # @return [Symbol, :unit_with_percent] + required :model_type, const: :unit_with_percent + + # @!attribute name + # The name of the price. + # + # @return [String] + required :name, String + + # @!attribute unit_with_percent_config + # + # @return [Hash{Symbol=>Object}] + required :unit_with_percent_config, Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] + + # @!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::Internal::Type::Boolean, nil?: true + + # @!attribute billing_cycle_configuration + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @return [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration, nil] + optional :billing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::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 dimensional_price_configuration + # For dimensional price: specifies a price group and dimension values + # + # @return [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::DimensionalPriceConfiguration, nil] + optional :dimensional_price_configuration, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::DimensionalPriceConfiguration + }, + 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::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration, nil] + optional :invoicing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::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::Internal::Type::HashOf[String, nil?: true], nil?: true + + # @!method initialize(cadence:, item_id:, name:, unit_with_percent_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :unit_with_percent) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent} for + # more details. + # + # @param cadence [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::Cadence] The cadence to bill for this price on. + # + # @param item_id [String] The id of the item the price will be associated with. + # + # @param name [String] The name of the price. + # + # @param unit_with_percent_config [Hash{Symbol=>Object}] + # + # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b + # + # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi + # + # @param billing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # + # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. + # + # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr + # + # @param dimensional_price_configuration [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # + # @param external_price_id [String, nil] An alias for the price. + # + # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl + # + # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice + # + # @param invoicing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # + # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed + # + # @param model_type [Symbol, :unit_with_percent] + + # The cadence to bill for this price on. + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent#cadence + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + # @!method self.values + # @return [Array] + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent#billing_cycle_configuration + class BillingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @param duration [Integer] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent#dimensional_price_configuration + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # The list of dimension values matching (in order) the dimensions of the price + # group + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String] + + # @!attribute dimensional_price_group_id + # The id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :dimensional_price_group_id, String, nil?: true + + # @!attribute external_dimensional_price_group_id + # The external id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :external_dimensional_price_group_id, String, nil?: true + + # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::DimensionalPriceConfiguration} + # for more details. + # + # For dimensional price: specifies a price group and dimension values + # + # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro + # + # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in + # + # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent#invoicing_cycle_configuration + class InvoicingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # 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] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + end + + class PackageWithAllocation < Orb::Internal::Type::BaseModel + # @!attribute cadence + # The cadence to bill for this price on. + # + # @return [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::Cadence] + required :cadence, + enum: -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::Cadence + } + + # @!attribute item_id + # The id of the item the price will be associated with. + # + # @return [String] + required :item_id, String + + # @!attribute model_type + # + # @return [Symbol, :package_with_allocation] + required :model_type, const: :package_with_allocation + + # @!attribute name + # The name of the price. + # + # @return [String] + required :name, String + + # @!attribute package_with_allocation_config + # + # @return [Hash{Symbol=>Object}] + required :package_with_allocation_config, + Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] + + # @!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::Internal::Type::Boolean, nil?: true + + # @!attribute billing_cycle_configuration + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @return [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration, nil] + optional :billing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::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 dimensional_price_configuration + # For dimensional price: specifies a price group and dimension values + # + # @return [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::DimensionalPriceConfiguration, nil] + optional :dimensional_price_configuration, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::DimensionalPriceConfiguration + }, + 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::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration, nil] + optional :invoicing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::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::Internal::Type::HashOf[String, nil?: true], nil?: true + + # @!method initialize(cadence:, item_id:, name:, package_with_allocation_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :package_with_allocation) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation} + # for more details. + # + # @param cadence [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::Cadence] The cadence to bill for this price on. + # + # @param item_id [String] The id of the item the price will be associated with. + # + # @param name [String] The name of the price. + # + # @param package_with_allocation_config [Hash{Symbol=>Object}] + # + # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b + # + # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi + # + # @param billing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # + # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. + # + # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr + # + # @param dimensional_price_configuration [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # + # @param external_price_id [String, nil] An alias for the price. + # + # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl + # + # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice + # + # @param invoicing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # + # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed + # + # @param model_type [Symbol, :package_with_allocation] + + # The cadence to bill for this price on. + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation#cadence + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + # @!method self.values + # @return [Array] + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation#billing_cycle_configuration + class BillingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @param duration [Integer] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation#dimensional_price_configuration + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # The list of dimension values matching (in order) the dimensions of the price + # group + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String] + + # @!attribute dimensional_price_group_id + # The id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :dimensional_price_group_id, String, nil?: true + + # @!attribute external_dimensional_price_group_id + # The external id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :external_dimensional_price_group_id, String, nil?: true + + # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::DimensionalPriceConfiguration} + # for more details. + # + # For dimensional price: specifies a price group and dimension values + # + # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro + # + # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in + # + # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation#invoicing_cycle_configuration + class InvoicingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # 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] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + end + + class TieredWithProration < Orb::Internal::Type::BaseModel + # @!attribute cadence + # The cadence to bill for this price on. + # + # @return [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::Cadence] + required :cadence, + enum: -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::Cadence + } + + # @!attribute item_id + # The id of the item the price will be associated with. + # + # @return [String] + required :item_id, String + + # @!attribute model_type + # + # @return [Symbol, :tiered_with_proration] + required :model_type, const: :tiered_with_proration + + # @!attribute name + # The name of the price. + # + # @return [String] + required :name, String + + # @!attribute tiered_with_proration_config + # + # @return [Hash{Symbol=>Object}] + required :tiered_with_proration_config, Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] + + # @!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::Internal::Type::Boolean, nil?: true + + # @!attribute billing_cycle_configuration + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @return [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration, nil] + optional :billing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::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 dimensional_price_configuration + # For dimensional price: specifies a price group and dimension values + # + # @return [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::DimensionalPriceConfiguration, nil] + optional :dimensional_price_configuration, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::DimensionalPriceConfiguration + }, + 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::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration, nil] + optional :invoicing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::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::Internal::Type::HashOf[String, nil?: true], nil?: true + + # @!method initialize(cadence:, item_id:, name:, tiered_with_proration_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :tiered_with_proration) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration} + # for more details. + # + # @param cadence [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::Cadence] The cadence to bill for this price on. + # + # @param item_id [String] The id of the item the price will be associated with. + # + # @param name [String] The name of the price. + # + # @param tiered_with_proration_config [Hash{Symbol=>Object}] + # + # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b + # + # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi + # + # @param billing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # + # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. + # + # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr + # + # @param dimensional_price_configuration [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # + # @param external_price_id [String, nil] An alias for the price. + # + # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl + # + # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice + # + # @param invoicing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # + # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed + # + # @param model_type [Symbol, :tiered_with_proration] + + # The cadence to bill for this price on. + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration#cadence + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + # @!method self.values + # @return [Array] + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration#billing_cycle_configuration + class BillingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @param duration [Integer] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration#dimensional_price_configuration + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # The list of dimension values matching (in order) the dimensions of the price + # group + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String] + + # @!attribute dimensional_price_group_id + # The id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :dimensional_price_group_id, String, nil?: true + + # @!attribute external_dimensional_price_group_id + # The external id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :external_dimensional_price_group_id, String, nil?: true + + # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::DimensionalPriceConfiguration} + # for more details. + # + # For dimensional price: specifies a price group and dimension values + # + # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro + # + # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in + # + # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration#invoicing_cycle_configuration + class InvoicingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # 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] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + end + + class UnitWithProration < Orb::Internal::Type::BaseModel + # @!attribute cadence + # The cadence to bill for this price on. + # + # @return [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::Cadence] + required :cadence, + enum: -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::Cadence + } + + # @!attribute item_id + # The id of the item the price will be associated with. + # + # @return [String] + required :item_id, String + + # @!attribute model_type + # + # @return [Symbol, :unit_with_proration] + required :model_type, const: :unit_with_proration + + # @!attribute name + # The name of the price. + # + # @return [String] + required :name, String + + # @!attribute unit_with_proration_config + # + # @return [Hash{Symbol=>Object}] + required :unit_with_proration_config, Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] + + # @!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::Internal::Type::Boolean, nil?: true + + # @!attribute billing_cycle_configuration + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @return [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration, nil] + optional :billing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::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 dimensional_price_configuration + # For dimensional price: specifies a price group and dimension values + # + # @return [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::DimensionalPriceConfiguration, nil] + optional :dimensional_price_configuration, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::DimensionalPriceConfiguration + }, + 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::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration, nil] + optional :invoicing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::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::Internal::Type::HashOf[String, nil?: true], nil?: true + + # @!method initialize(cadence:, item_id:, name:, unit_with_proration_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :unit_with_proration) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration} + # for more details. + # + # @param cadence [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::Cadence] The cadence to bill for this price on. + # + # @param item_id [String] The id of the item the price will be associated with. + # + # @param name [String] The name of the price. + # + # @param unit_with_proration_config [Hash{Symbol=>Object}] + # + # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b + # + # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi + # + # @param billing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # + # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. + # + # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr + # + # @param dimensional_price_configuration [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # + # @param external_price_id [String, nil] An alias for the price. + # + # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl + # + # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice + # + # @param invoicing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # + # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed + # + # @param model_type [Symbol, :unit_with_proration] + + # The cadence to bill for this price on. + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration#cadence + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + # @!method self.values + # @return [Array] + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration#billing_cycle_configuration + class BillingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @param duration [Integer] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration#dimensional_price_configuration + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # The list of dimension values matching (in order) the dimensions of the price + # group + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String] + + # @!attribute dimensional_price_group_id + # The id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :dimensional_price_group_id, String, nil?: true + + # @!attribute external_dimensional_price_group_id + # The external id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :external_dimensional_price_group_id, String, nil?: true + + # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::DimensionalPriceConfiguration} + # for more details. + # + # For dimensional price: specifies a price group and dimension values + # + # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro + # + # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in + # + # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration#invoicing_cycle_configuration + class InvoicingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # 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] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + end + + class GroupedAllocation < Orb::Internal::Type::BaseModel + # @!attribute cadence + # The cadence to bill for this price on. + # + # @return [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::Cadence] + required :cadence, + enum: -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::Cadence + } + + # @!attribute grouped_allocation_config + # + # @return [Hash{Symbol=>Object}] + required :grouped_allocation_config, Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] + + # @!attribute item_id + # The id of the item the price will be associated with. + # + # @return [String] + required :item_id, String + + # @!attribute model_type + # + # @return [Symbol, :grouped_allocation] + required :model_type, const: :grouped_allocation + + # @!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::Internal::Type::Boolean, nil?: true + + # @!attribute billing_cycle_configuration + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @return [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration, nil] + optional :billing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::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 dimensional_price_configuration + # For dimensional price: specifies a price group and dimension values + # + # @return [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::DimensionalPriceConfiguration, nil] + optional :dimensional_price_configuration, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::DimensionalPriceConfiguration + }, + 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::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration, nil] + optional :invoicing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::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::Internal::Type::HashOf[String, nil?: true], nil?: true + + # @!method initialize(cadence:, grouped_allocation_config:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :grouped_allocation) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation} + # for more details. + # + # @param cadence [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::Cadence] The cadence to bill for this price on. + # + # @param grouped_allocation_config [Hash{Symbol=>Object}] + # + # @param item_id [String] The id of the item the price will be associated with. + # + # @param name [String] The name of the price. + # + # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b + # + # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi + # + # @param billing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # + # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. + # + # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr + # + # @param dimensional_price_configuration [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # + # @param external_price_id [String, nil] An alias for the price. + # + # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl + # + # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice + # + # @param invoicing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # + # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed + # + # @param model_type [Symbol, :grouped_allocation] + + # The cadence to bill for this price on. + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation#cadence + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + # @!method self.values + # @return [Array] + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation#billing_cycle_configuration + class BillingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @param duration [Integer] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation#dimensional_price_configuration + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # The list of dimension values matching (in order) the dimensions of the price + # group + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String] + + # @!attribute dimensional_price_group_id + # The id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :dimensional_price_group_id, String, nil?: true + + # @!attribute external_dimensional_price_group_id + # The external id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :external_dimensional_price_group_id, String, nil?: true + + # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::DimensionalPriceConfiguration} + # for more details. + # + # For dimensional price: specifies a price group and dimension values + # + # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro + # + # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in + # + # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation#invoicing_cycle_configuration + class InvoicingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # 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] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + end + + class GroupedWithProratedMinimum < Orb::Internal::Type::BaseModel + # @!attribute cadence + # The cadence to bill for this price on. + # + # @return [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::Cadence] + required :cadence, + enum: -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::Cadence + } + + # @!attribute grouped_with_prorated_minimum_config + # + # @return [Hash{Symbol=>Object}] + required :grouped_with_prorated_minimum_config, + Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] + + # @!attribute item_id + # The id of the item the price will be associated with. + # + # @return [String] + required :item_id, String + + # @!attribute model_type + # + # @return [Symbol, :grouped_with_prorated_minimum] + required :model_type, const: :grouped_with_prorated_minimum + + # @!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::Internal::Type::Boolean, nil?: true + + # @!attribute billing_cycle_configuration + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @return [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration, nil] + optional :billing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::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 dimensional_price_configuration + # For dimensional price: specifies a price group and dimension values + # + # @return [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration, nil] + optional :dimensional_price_configuration, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration + }, + 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::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration, nil] + optional :invoicing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::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::Internal::Type::HashOf[String, nil?: true], nil?: true + + # @!method initialize(cadence:, grouped_with_prorated_minimum_config:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :grouped_with_prorated_minimum) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum} + # for more details. + # + # @param cadence [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::Cadence] The cadence to bill for this price on. + # + # @param grouped_with_prorated_minimum_config [Hash{Symbol=>Object}] + # + # @param item_id [String] The id of the item the price will be associated with. + # + # @param name [String] The name of the price. + # + # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b + # + # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi + # + # @param billing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # + # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. + # + # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr + # + # @param dimensional_price_configuration [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # + # @param external_price_id [String, nil] An alias for the price. + # + # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl + # + # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice + # + # @param invoicing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # + # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed + # + # @param model_type [Symbol, :grouped_with_prorated_minimum] + + # The cadence to bill for this price on. + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum#cadence + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + # @!method self.values + # @return [Array] + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum#billing_cycle_configuration + class BillingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @param duration [Integer] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum#dimensional_price_configuration + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # The list of dimension values matching (in order) the dimensions of the price + # group + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String] + + # @!attribute dimensional_price_group_id + # The id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :dimensional_price_group_id, String, nil?: true + + # @!attribute external_dimensional_price_group_id + # The external id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :external_dimensional_price_group_id, String, nil?: true + + # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration} + # for more details. + # + # For dimensional price: specifies a price group and dimension values + # + # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro + # + # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in + # + # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum#invoicing_cycle_configuration + class InvoicingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # 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] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + end + + class GroupedWithMeteredMinimum < Orb::Internal::Type::BaseModel + # @!attribute cadence + # The cadence to bill for this price on. + # + # @return [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::Cadence] + required :cadence, + enum: -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::Cadence + } + + # @!attribute grouped_with_metered_minimum_config + # + # @return [Hash{Symbol=>Object}] + required :grouped_with_metered_minimum_config, + Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] + + # @!attribute item_id + # The id of the item the price will be associated with. + # + # @return [String] + required :item_id, String + + # @!attribute model_type + # + # @return [Symbol, :grouped_with_metered_minimum] + required :model_type, const: :grouped_with_metered_minimum + + # @!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::Internal::Type::Boolean, nil?: true + + # @!attribute billing_cycle_configuration + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @return [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration, nil] + optional :billing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::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 dimensional_price_configuration + # For dimensional price: specifies a price group and dimension values + # + # @return [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration, nil] + optional :dimensional_price_configuration, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration + }, + 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::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration, nil] + optional :invoicing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::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::Internal::Type::HashOf[String, nil?: true], nil?: true + + # @!method initialize(cadence:, grouped_with_metered_minimum_config:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :grouped_with_metered_minimum) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum} + # for more details. + # + # @param cadence [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::Cadence] The cadence to bill for this price on. + # + # @param grouped_with_metered_minimum_config [Hash{Symbol=>Object}] + # + # @param item_id [String] The id of the item the price will be associated with. + # + # @param name [String] The name of the price. + # + # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b + # + # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi + # + # @param billing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # + # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. + # + # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr + # + # @param dimensional_price_configuration [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # + # @param external_price_id [String, nil] An alias for the price. + # + # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl + # + # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice + # + # @param invoicing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # + # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed + # + # @param model_type [Symbol, :grouped_with_metered_minimum] + + # The cadence to bill for this price on. + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum#cadence + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + # @!method self.values + # @return [Array] + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum#billing_cycle_configuration + class BillingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @param duration [Integer] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum#dimensional_price_configuration + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # The list of dimension values matching (in order) the dimensions of the price + # group + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String] + + # @!attribute dimensional_price_group_id + # The id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :dimensional_price_group_id, String, nil?: true + + # @!attribute external_dimensional_price_group_id + # The external id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :external_dimensional_price_group_id, String, nil?: true + + # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration} + # for more details. + # + # For dimensional price: specifies a price group and dimension values + # + # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro + # + # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in + # + # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum#invoicing_cycle_configuration + class InvoicingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # 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] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + end + + class MatrixWithDisplayName < Orb::Internal::Type::BaseModel + # @!attribute cadence + # The cadence to bill for this price on. + # + # @return [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::Cadence] + required :cadence, + enum: -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::Cadence + } + + # @!attribute item_id + # The id of the item the price will be associated with. + # + # @return [String] + required :item_id, String + + # @!attribute matrix_with_display_name_config + # + # @return [Hash{Symbol=>Object}] + required :matrix_with_display_name_config, + Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] + + # @!attribute model_type + # + # @return [Symbol, :matrix_with_display_name] + required :model_type, const: :matrix_with_display_name + + # @!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::Internal::Type::Boolean, nil?: true + + # @!attribute billing_cycle_configuration + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @return [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration, nil] + optional :billing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::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 dimensional_price_configuration + # For dimensional price: specifies a price group and dimension values + # + # @return [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration, nil] + optional :dimensional_price_configuration, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration + }, + 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::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration, nil] + optional :invoicing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::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::Internal::Type::HashOf[String, nil?: true], nil?: true + + # @!method initialize(cadence:, item_id:, matrix_with_display_name_config:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :matrix_with_display_name) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName} + # for more details. + # + # @param cadence [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::Cadence] The cadence to bill for this price on. + # + # @param item_id [String] The id of the item the price will be associated with. + # + # @param matrix_with_display_name_config [Hash{Symbol=>Object}] + # + # @param name [String] The name of the price. + # + # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b + # + # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi + # + # @param billing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # + # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. + # + # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr + # + # @param dimensional_price_configuration [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # + # @param external_price_id [String, nil] An alias for the price. + # + # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl + # + # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice + # + # @param invoicing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # + # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed + # + # @param model_type [Symbol, :matrix_with_display_name] + + # The cadence to bill for this price on. + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName#cadence + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + # @!method self.values + # @return [Array] + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName#billing_cycle_configuration + class BillingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @param duration [Integer] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName#dimensional_price_configuration + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # The list of dimension values matching (in order) the dimensions of the price + # group + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String] + + # @!attribute dimensional_price_group_id + # The id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :dimensional_price_group_id, String, nil?: true + + # @!attribute external_dimensional_price_group_id + # The external id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :external_dimensional_price_group_id, String, nil?: true + + # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration} + # for more details. + # + # For dimensional price: specifies a price group and dimension values + # + # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro + # + # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in + # + # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName#invoicing_cycle_configuration + class InvoicingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # 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] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + end + + class BulkWithProration < Orb::Internal::Type::BaseModel + # @!attribute bulk_with_proration_config + # + # @return [Hash{Symbol=>Object}] + required :bulk_with_proration_config, Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] + + # @!attribute cadence + # The cadence to bill for this price on. + # + # @return [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::Cadence] + required :cadence, + enum: -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::Cadence + } + + # @!attribute item_id + # The id of the item the price will be associated with. + # + # @return [String] + required :item_id, String + + # @!attribute model_type + # + # @return [Symbol, :bulk_with_proration] + required :model_type, const: :bulk_with_proration + + # @!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::Internal::Type::Boolean, nil?: true + + # @!attribute billing_cycle_configuration + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @return [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration, nil] + optional :billing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::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 dimensional_price_configuration + # For dimensional price: specifies a price group and dimension values + # + # @return [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::DimensionalPriceConfiguration, nil] + optional :dimensional_price_configuration, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::DimensionalPriceConfiguration + }, + 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::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration, nil] + optional :invoicing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::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::Internal::Type::HashOf[String, nil?: true], nil?: true + + # @!method initialize(bulk_with_proration_config:, cadence:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :bulk_with_proration) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration} + # for more details. + # + # @param bulk_with_proration_config [Hash{Symbol=>Object}] + # + # @param cadence [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::Cadence] The cadence to bill for this price on. + # + # @param item_id [String] The id of the item the price will be associated with. + # + # @param name [String] The name of the price. + # + # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b + # + # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi + # + # @param billing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # + # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. + # + # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr + # + # @param dimensional_price_configuration [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # + # @param external_price_id [String, nil] An alias for the price. + # + # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl + # + # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice + # + # @param invoicing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # + # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed + # + # @param model_type [Symbol, :bulk_with_proration] + + # The cadence to bill for this price on. + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration#cadence + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + # @!method self.values + # @return [Array] + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration#billing_cycle_configuration + class BillingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @param duration [Integer] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration#dimensional_price_configuration + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # The list of dimension values matching (in order) the dimensions of the price + # group + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String] + + # @!attribute dimensional_price_group_id + # The id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :dimensional_price_group_id, String, nil?: true + + # @!attribute external_dimensional_price_group_id + # The external id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :external_dimensional_price_group_id, String, nil?: true + + # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::DimensionalPriceConfiguration} + # for more details. + # + # For dimensional price: specifies a price group and dimension values + # + # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro + # + # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in + # + # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration#invoicing_cycle_configuration + class InvoicingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # 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] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + end + + class GroupedTieredPackage < Orb::Internal::Type::BaseModel + # @!attribute cadence + # The cadence to bill for this price on. + # + # @return [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::Cadence] + required :cadence, + enum: -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::Cadence + } + + # @!attribute grouped_tiered_package_config + # + # @return [Hash{Symbol=>Object}] + required :grouped_tiered_package_config, Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] + + # @!attribute item_id + # The id of the item the price will be associated with. + # + # @return [String] + required :item_id, String + + # @!attribute model_type + # + # @return [Symbol, :grouped_tiered_package] + required :model_type, const: :grouped_tiered_package + + # @!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::Internal::Type::Boolean, nil?: true + + # @!attribute billing_cycle_configuration + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @return [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration, nil] + optional :billing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::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 dimensional_price_configuration + # For dimensional price: specifies a price group and dimension values + # + # @return [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration, nil] + optional :dimensional_price_configuration, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration + }, + 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::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration, nil] + optional :invoicing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::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::Internal::Type::HashOf[String, nil?: true], nil?: true + + # @!method initialize(cadence:, grouped_tiered_package_config:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :grouped_tiered_package) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage} + # for more details. + # + # @param cadence [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::Cadence] The cadence to bill for this price on. + # + # @param grouped_tiered_package_config [Hash{Symbol=>Object}] + # + # @param item_id [String] The id of the item the price will be associated with. + # + # @param name [String] The name of the price. + # + # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b + # + # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi + # + # @param billing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # + # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. + # + # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr + # + # @param dimensional_price_configuration [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # + # @param external_price_id [String, nil] An alias for the price. + # + # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl + # + # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice + # + # @param invoicing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # + # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed + # + # @param model_type [Symbol, :grouped_tiered_package] + + # The cadence to bill for this price on. + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage#cadence + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + # @!method self.values + # @return [Array] + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage#billing_cycle_configuration + class BillingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @param duration [Integer] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage#dimensional_price_configuration + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # The list of dimension values matching (in order) the dimensions of the price + # group + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String] + + # @!attribute dimensional_price_group_id + # The id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :dimensional_price_group_id, String, nil?: true + + # @!attribute external_dimensional_price_group_id + # The external id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :external_dimensional_price_group_id, String, nil?: true + + # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration} + # for more details. + # + # For dimensional price: specifies a price group and dimension values + # + # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro + # + # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in + # + # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage#invoicing_cycle_configuration + class InvoicingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # 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] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + end + + class MaxGroupTieredPackage < Orb::Internal::Type::BaseModel + # @!attribute cadence + # The cadence to bill for this price on. + # + # @return [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::Cadence] + required :cadence, + enum: -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::Cadence + } + + # @!attribute item_id + # The id of the item the price will be associated with. + # + # @return [String] + required :item_id, String + + # @!attribute max_group_tiered_package_config + # + # @return [Hash{Symbol=>Object}] + required :max_group_tiered_package_config, + Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] + + # @!attribute model_type + # + # @return [Symbol, :max_group_tiered_package] + required :model_type, const: :max_group_tiered_package + + # @!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::Internal::Type::Boolean, nil?: true + + # @!attribute billing_cycle_configuration + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @return [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration, nil] + optional :billing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::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 dimensional_price_configuration + # For dimensional price: specifies a price group and dimension values + # + # @return [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration, nil] + optional :dimensional_price_configuration, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration + }, + 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::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration, nil] + optional :invoicing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::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::Internal::Type::HashOf[String, nil?: true], nil?: true + + # @!method initialize(cadence:, item_id:, max_group_tiered_package_config:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :max_group_tiered_package) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage} + # for more details. + # + # @param cadence [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::Cadence] The cadence to bill for this price on. + # + # @param item_id [String] The id of the item the price will be associated with. + # + # @param max_group_tiered_package_config [Hash{Symbol=>Object}] + # + # @param name [String] The name of the price. + # + # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b + # + # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi + # + # @param billing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # + # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. + # + # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr + # + # @param dimensional_price_configuration [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # + # @param external_price_id [String, nil] An alias for the price. + # + # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl + # + # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice + # + # @param invoicing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # + # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed + # + # @param model_type [Symbol, :max_group_tiered_package] + + # The cadence to bill for this price on. + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage#cadence + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + # @!method self.values + # @return [Array] + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage#billing_cycle_configuration + class BillingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @param duration [Integer] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage#dimensional_price_configuration + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # The list of dimension values matching (in order) the dimensions of the price + # group + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String] + + # @!attribute dimensional_price_group_id + # The id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :dimensional_price_group_id, String, nil?: true + + # @!attribute external_dimensional_price_group_id + # The external id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :external_dimensional_price_group_id, String, nil?: true + + # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration} + # for more details. + # + # For dimensional price: specifies a price group and dimension values + # + # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro + # + # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in + # + # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage#invoicing_cycle_configuration + class InvoicingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # 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] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + end + + class ScalableMatrixWithUnitPricing < Orb::Internal::Type::BaseModel + # @!attribute cadence + # The cadence to bill for this price on. + # + # @return [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::Cadence] + required :cadence, + enum: -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::Cadence + } + + # @!attribute item_id + # The id of the item the price will be associated with. + # + # @return [String] + required :item_id, String + + # @!attribute model_type + # + # @return [Symbol, :scalable_matrix_with_unit_pricing] + required :model_type, const: :scalable_matrix_with_unit_pricing + + # @!attribute name + # The name of the price. + # + # @return [String] + required :name, String + + # @!attribute scalable_matrix_with_unit_pricing_config + # + # @return [Hash{Symbol=>Object}] + required :scalable_matrix_with_unit_pricing_config, + Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] + + # @!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::Internal::Type::Boolean, nil?: true + + # @!attribute billing_cycle_configuration + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @return [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration, nil] + optional :billing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::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 dimensional_price_configuration + # For dimensional price: specifies a price group and dimension values + # + # @return [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration, nil] + optional :dimensional_price_configuration, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration + }, + 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::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration, nil] + optional :invoicing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::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::Internal::Type::HashOf[String, nil?: true], nil?: true + + # @!method initialize(cadence:, item_id:, name:, scalable_matrix_with_unit_pricing_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :scalable_matrix_with_unit_pricing) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing} + # for more details. + # + # @param cadence [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::Cadence] The cadence to bill for this price on. + # + # @param item_id [String] The id of the item the price will be associated with. + # + # @param name [String] The name of the price. + # + # @param scalable_matrix_with_unit_pricing_config [Hash{Symbol=>Object}] + # + # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b + # + # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi + # + # @param billing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # + # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. + # + # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr + # + # @param dimensional_price_configuration [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # + # @param external_price_id [String, nil] An alias for the price. + # + # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl + # + # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice + # + # @param invoicing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # + # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed + # + # @param model_type [Symbol, :scalable_matrix_with_unit_pricing] + + # The cadence to bill for this price on. + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing#cadence + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + # @!method self.values + # @return [Array] + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing#billing_cycle_configuration + class BillingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @param duration [Integer] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing#dimensional_price_configuration + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # The list of dimension values matching (in order) the dimensions of the price + # group + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String] + + # @!attribute dimensional_price_group_id + # The id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :dimensional_price_group_id, String, nil?: true + + # @!attribute external_dimensional_price_group_id + # The external id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :external_dimensional_price_group_id, String, nil?: true + + # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration} + # for more details. + # + # For dimensional price: specifies a price group and dimension values + # + # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro + # + # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in + # + # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing#invoicing_cycle_configuration + class InvoicingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # 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] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + end + + class ScalableMatrixWithTieredPricing < Orb::Internal::Type::BaseModel + # @!attribute cadence + # The cadence to bill for this price on. + # + # @return [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::Cadence] + required :cadence, + enum: -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::Cadence + } + + # @!attribute item_id + # The id of the item the price will be associated with. + # + # @return [String] + required :item_id, String + + # @!attribute model_type + # + # @return [Symbol, :scalable_matrix_with_tiered_pricing] + required :model_type, const: :scalable_matrix_with_tiered_pricing + + # @!attribute name + # The name of the price. + # + # @return [String] + required :name, String + + # @!attribute scalable_matrix_with_tiered_pricing_config + # + # @return [Hash{Symbol=>Object}] + required :scalable_matrix_with_tiered_pricing_config, + Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] + + # @!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::Internal::Type::Boolean, nil?: true + + # @!attribute billing_cycle_configuration + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @return [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration, nil] + optional :billing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::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 dimensional_price_configuration + # For dimensional price: specifies a price group and dimension values + # + # @return [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration, nil] + optional :dimensional_price_configuration, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration + }, + 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::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration, nil] + optional :invoicing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::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::Internal::Type::HashOf[String, nil?: true], nil?: true + + # @!method initialize(cadence:, item_id:, name:, scalable_matrix_with_tiered_pricing_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :scalable_matrix_with_tiered_pricing) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing} + # for more details. + # + # @param cadence [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::Cadence] The cadence to bill for this price on. + # + # @param item_id [String] The id of the item the price will be associated with. + # + # @param name [String] The name of the price. + # + # @param scalable_matrix_with_tiered_pricing_config [Hash{Symbol=>Object}] + # + # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b + # + # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi + # + # @param billing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # + # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. + # + # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr + # + # @param dimensional_price_configuration [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # + # @param external_price_id [String, nil] An alias for the price. + # + # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl + # + # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice + # + # @param invoicing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # + # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed + # + # @param model_type [Symbol, :scalable_matrix_with_tiered_pricing] + + # The cadence to bill for this price on. + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing#cadence + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + # @!method self.values + # @return [Array] + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing#billing_cycle_configuration + class BillingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @param duration [Integer] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing#dimensional_price_configuration + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # The list of dimension values matching (in order) the dimensions of the price + # group + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String] + + # @!attribute dimensional_price_group_id + # The id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :dimensional_price_group_id, String, nil?: true + + # @!attribute external_dimensional_price_group_id + # The external id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :external_dimensional_price_group_id, String, nil?: true + + # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration} + # for more details. + # + # For dimensional price: specifies a price group and dimension values + # + # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro + # + # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in + # + # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing#invoicing_cycle_configuration + class InvoicingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # 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] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + end + + class CumulativeGroupedBulk < Orb::Internal::Type::BaseModel + # @!attribute cadence + # The cadence to bill for this price on. + # + # @return [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::Cadence] + required :cadence, + enum: -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::Cadence + } + + # @!attribute cumulative_grouped_bulk_config + # + # @return [Hash{Symbol=>Object}] + required :cumulative_grouped_bulk_config, + Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] + + # @!attribute item_id + # The id of the item the price 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::Internal::Type::Boolean, nil?: true + + # @!attribute billing_cycle_configuration + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @return [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration, nil] + optional :billing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::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 dimensional_price_configuration + # For dimensional price: specifies a price group and dimension values + # + # @return [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration, nil] + optional :dimensional_price_configuration, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration + }, + 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::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration, nil] + optional :invoicing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::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::Internal::Type::HashOf[String, nil?: true], nil?: true + + # @!method 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, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :cumulative_grouped_bulk) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk} + # for more details. + # + # @param cadence [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::Cadence] The cadence to bill for this price on. + # + # @param cumulative_grouped_bulk_config [Hash{Symbol=>Object}] + # + # @param item_id [String] The id of the item the price will be associated with. + # + # @param name [String] The name of the price. + # + # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b + # + # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi + # + # @param billing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # + # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. + # + # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr + # + # @param dimensional_price_configuration [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # + # @param external_price_id [String, nil] An alias for the price. + # + # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl + # + # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice + # + # @param invoicing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # + # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed + # + # @param model_type [Symbol, :cumulative_grouped_bulk] + + # The cadence to bill for this price on. + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk#cadence + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + # @!method self.values + # @return [Array] + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk#billing_cycle_configuration + class BillingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @param duration [Integer] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk#dimensional_price_configuration + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # The list of dimension values matching (in order) the dimensions of the price + # group + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String] + + # @!attribute dimensional_price_group_id + # The id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :dimensional_price_group_id, String, nil?: true + + # @!attribute external_dimensional_price_group_id + # The external id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :external_dimensional_price_group_id, String, nil?: true + + # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration} + # for more details. + # + # For dimensional price: specifies a price group and dimension values + # + # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro + # + # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in + # + # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk#invoicing_cycle_configuration + class InvoicingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # 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] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + end + + class TieredPackageWithMinimum < Orb::Internal::Type::BaseModel + # @!attribute cadence + # The cadence to bill for this price on. + # + # @return [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::Cadence] + required :cadence, + enum: -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::Cadence + } + + # @!attribute item_id + # The id of the item the price will be associated with. + # + # @return [String] + required :item_id, String + + # @!attribute model_type + # + # @return [Symbol, :tiered_package_with_minimum] + required :model_type, const: :tiered_package_with_minimum + + # @!attribute name + # The name of the price. + # + # @return [String] + required :name, String + + # @!attribute tiered_package_with_minimum_config + # + # @return [Hash{Symbol=>Object}] + required :tiered_package_with_minimum_config, + Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] + + # @!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::Internal::Type::Boolean, nil?: true + + # @!attribute billing_cycle_configuration + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @return [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration, nil] + optional :billing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::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 dimensional_price_configuration + # For dimensional price: specifies a price group and dimension values + # + # @return [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration, nil] + optional :dimensional_price_configuration, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration + }, + 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::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration, nil] + optional :invoicing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::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::Internal::Type::HashOf[String, nil?: true], nil?: true + + # @!method initialize(cadence:, item_id:, name:, tiered_package_with_minimum_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :tiered_package_with_minimum) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum} + # for more details. + # + # @param cadence [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::Cadence] The cadence to bill for this price on. + # + # @param item_id [String] The id of the item the price will be associated with. + # + # @param name [String] The name of the price. + # + # @param tiered_package_with_minimum_config [Hash{Symbol=>Object}] + # + # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b + # + # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi + # + # @param billing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # + # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. + # + # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr + # + # @param dimensional_price_configuration [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # + # @param external_price_id [String, nil] An alias for the price. + # + # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl + # + # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice + # + # @param invoicing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # + # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed + # + # @param model_type [Symbol, :tiered_package_with_minimum] + + # The cadence to bill for this price on. + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum#cadence + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + # @!method self.values + # @return [Array] + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum#billing_cycle_configuration + class BillingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @param duration [Integer] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum#dimensional_price_configuration + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # The list of dimension values matching (in order) the dimensions of the price + # group + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String] + + # @!attribute dimensional_price_group_id + # The id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :dimensional_price_group_id, String, nil?: true + + # @!attribute external_dimensional_price_group_id + # The external id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :external_dimensional_price_group_id, String, nil?: true + + # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration} + # for more details. + # + # For dimensional price: specifies a price group and dimension values + # + # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro + # + # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in + # + # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum#invoicing_cycle_configuration + class InvoicingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # 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] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + end + + class MatrixWithAllocation < Orb::Internal::Type::BaseModel + # @!attribute cadence + # The cadence to bill for this price on. + # + # @return [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::Cadence] + required :cadence, + enum: -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::Cadence + } + + # @!attribute item_id + # The id of the item the price will be associated with. + # + # @return [String] + required :item_id, String + + # @!attribute matrix_with_allocation_config + # + # @return [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig] + required :matrix_with_allocation_config, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig + } + + # @!attribute model_type + # + # @return [Symbol, :matrix_with_allocation] + required :model_type, const: :matrix_with_allocation + + # @!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::Internal::Type::Boolean, nil?: true + + # @!attribute billing_cycle_configuration + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @return [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration, nil] + optional :billing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::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 dimensional_price_configuration + # For dimensional price: specifies a price group and dimension values + # + # @return [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration, nil] + optional :dimensional_price_configuration, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration + }, + 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::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration, nil] + optional :invoicing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::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::Internal::Type::HashOf[String, nil?: true], nil?: true + + # @!method initialize(cadence:, item_id:, matrix_with_allocation_config:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :matrix_with_allocation) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation} + # for more details. + # + # @param cadence [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::Cadence] The cadence to bill for this price on. + # + # @param item_id [String] The id of the item the price will be associated with. + # + # @param matrix_with_allocation_config [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig] + # + # @param name [String] The name of the price. + # + # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b + # + # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi + # + # @param billing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # + # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. + # + # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr + # + # @param dimensional_price_configuration [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # + # @param external_price_id [String, nil] An alias for the price. + # + # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl + # + # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice + # + # @param invoicing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # + # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed + # + # @param model_type [Symbol, :matrix_with_allocation] + + # The cadence to bill for this price on. + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation#cadence + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + # @!method self.values + # @return [Array] + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation#matrix_with_allocation_config + class MatrixWithAllocationConfig < Orb::Internal::Type::BaseModel + # @!attribute allocation + # Allocation to be used to calculate the price + # + # @return [Float] + required :allocation, Float + + # @!attribute default_unit_amount + # Default per unit rate for any usage not bucketed into a specified matrix_value + # + # @return [String] + required :default_unit_amount, String + + # @!attribute dimensions + # One or two event property values to evaluate matrix groups by + # + # @return [Array] + required :dimensions, Orb::Internal::Type::ArrayOf[String, nil?: true] + + # @!attribute matrix_values + # Matrix values for specified matrix grouping keys + # + # @return [Array] + required :matrix_values, + -> do + Orb::Internal::Type::ArrayOf[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue + ] + end + + # @!method initialize(allocation:, default_unit_amount:, dimensions:, matrix_values:) + # @param allocation [Float] Allocation to be used to calculate the price + # + # @param default_unit_amount [String] Default per unit rate for any usage not bucketed into a specified matrix_value + # + # @param dimensions [Array] One or two event property values to evaluate matrix groups by + # + # @param matrix_values [Array] Matrix values for specified matrix grouping keys + + class MatrixValue < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # One or two matrix keys to filter usage to this Matrix value by. For example, + # ["region", "tier"] could be used to filter cloud usage by a cloud region and an + # instance tier. + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String, nil?: true] + + # @!attribute unit_amount + # Unit price for the specified dimension_values + # + # @return [String] + required :unit_amount, String + + # @!method initialize(dimension_values:, unit_amount:) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue} + # for more details. + # + # @param dimension_values [Array] One or two matrix keys to filter usage to this Matrix value by. For example, ["r + # + # @param unit_amount [String] Unit price for the specified dimension_values + end + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation#billing_cycle_configuration + class BillingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @param duration [Integer] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation#dimensional_price_configuration + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # The list of dimension values matching (in order) the dimensions of the price + # group + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String] + + # @!attribute dimensional_price_group_id + # The id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :dimensional_price_group_id, String, nil?: true + + # @!attribute external_dimensional_price_group_id + # The external id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :external_dimensional_price_group_id, String, nil?: true + + # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration} + # for more details. + # + # For dimensional price: specifies a price group and dimension values + # + # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro + # + # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in + # + # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation#invoicing_cycle_configuration + class InvoicingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # 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] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + end + + class GroupedTiered < Orb::Internal::Type::BaseModel + # @!attribute cadence + # The cadence to bill for this price on. + # + # @return [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::Cadence] + required :cadence, + enum: -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::Cadence + } + + # @!attribute grouped_tiered_config + # + # @return [Hash{Symbol=>Object}] + required :grouped_tiered_config, Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] + + # @!attribute item_id + # The id of the item the price will be associated with. + # + # @return [String] + required :item_id, String + + # @!attribute model_type + # + # @return [Symbol, :grouped_tiered] + required :model_type, const: :grouped_tiered + + # @!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::Internal::Type::Boolean, nil?: true + + # @!attribute billing_cycle_configuration + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @return [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration, nil] + optional :billing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::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 dimensional_price_configuration + # For dimensional price: specifies a price group and dimension values + # + # @return [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::DimensionalPriceConfiguration, nil] + optional :dimensional_price_configuration, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::DimensionalPriceConfiguration + }, + 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::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration, nil] + optional :invoicing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::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::Internal::Type::HashOf[String, nil?: true], nil?: true + + # @!method initialize(cadence:, grouped_tiered_config:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :grouped_tiered) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered} for + # more details. + # + # @param cadence [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::Cadence] The cadence to bill for this price on. + # + # @param grouped_tiered_config [Hash{Symbol=>Object}] + # + # @param item_id [String] The id of the item the price will be associated with. + # + # @param name [String] The name of the price. + # + # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b + # + # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi + # + # @param billing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # + # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. + # + # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr + # + # @param dimensional_price_configuration [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # + # @param external_price_id [String, nil] An alias for the price. + # + # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl + # + # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice + # + # @param invoicing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # + # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed + # + # @param model_type [Symbol, :grouped_tiered] + + # The cadence to bill for this price on. + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered#cadence + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + # @!method self.values + # @return [Array] + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered#billing_cycle_configuration + class BillingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @param duration [Integer] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered#dimensional_price_configuration + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # The list of dimension values matching (in order) the dimensions of the price + # group + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String] + + # @!attribute dimensional_price_group_id + # The id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :dimensional_price_group_id, String, nil?: true + + # @!attribute external_dimensional_price_group_id + # The external id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :external_dimensional_price_group_id, String, nil?: true + + # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::DimensionalPriceConfiguration} + # for more details. + # + # For dimensional price: specifies a price group and dimension values + # + # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro + # + # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in + # + # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in + end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered#invoicing_cycle_configuration + class InvoicingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # 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] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + end + + # @!method self.variants + # @return [Array(Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Unit, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Package, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Matrix, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Tiered, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Bps, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Bulk, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered)] + end + end + + class RemoveAdjustment < Orb::Internal::Type::BaseModel + # @!attribute adjustment_id + # The id of the adjustment to remove from on the plan. + # + # @return [String] + required :adjustment_id, String + + # @!attribute plan_phase_order + # The phase to remove this adjustment from. + # + # @return [Integer, nil] + optional :plan_phase_order, Integer, nil?: true + + # @!method initialize(adjustment_id:, plan_phase_order: nil) + # @param adjustment_id [String] The id of the adjustment to remove from on the plan. + # + # @param plan_phase_order [Integer, nil] The phase to remove this adjustment from. + end + + class RemovePrice < Orb::Internal::Type::BaseModel + # @!attribute price_id + # The id of the price to remove from the plan. + # + # @return [String] + required :price_id, String + + # @!attribute plan_phase_order + # The phase to remove this price from. + # + # @return [Integer, nil] + optional :plan_phase_order, Integer, nil?: true + + # @!method initialize(price_id:, plan_phase_order: nil) + # @param price_id [String] The id of the price to remove from the plan. + # + # @param plan_phase_order [Integer, nil] The phase to remove this price from. + end + + class ReplaceAdjustment < Orb::Internal::Type::BaseModel + # @!attribute adjustment + # The definition of a new adjustment to create and add to the plan. + # + # @return [Orb::Models::BetaCreatePlanVersionParams::ReplaceAdjustment::Adjustment::PercentageDiscount, Orb::Models::BetaCreatePlanVersionParams::ReplaceAdjustment::Adjustment::UsageDiscount, Orb::Models::BetaCreatePlanVersionParams::ReplaceAdjustment::Adjustment::AmountDiscount, Orb::Models::BetaCreatePlanVersionParams::ReplaceAdjustment::Adjustment::Minimum, Orb::Models::BetaCreatePlanVersionParams::ReplaceAdjustment::Adjustment::Maximum] + required :adjustment, union: -> { Orb::BetaCreatePlanVersionParams::ReplaceAdjustment::Adjustment } + + # @!attribute replaces_adjustment_id + # The id of the adjustment on the plan to replace in the plan. + # + # @return [String] + required :replaces_adjustment_id, String + + # @!attribute plan_phase_order + # The phase to replace this adjustment from. + # + # @return [Integer, nil] + optional :plan_phase_order, Integer, nil?: true + + # @!method initialize(adjustment:, replaces_adjustment_id:, plan_phase_order: nil) + # @param adjustment [Orb::Models::BetaCreatePlanVersionParams::ReplaceAdjustment::Adjustment::PercentageDiscount, Orb::Models::BetaCreatePlanVersionParams::ReplaceAdjustment::Adjustment::UsageDiscount, Orb::Models::BetaCreatePlanVersionParams::ReplaceAdjustment::Adjustment::AmountDiscount, Orb::Models::BetaCreatePlanVersionParams::ReplaceAdjustment::Adjustment::Minimum, Orb::Models::BetaCreatePlanVersionParams::ReplaceAdjustment::Adjustment::Maximum] The definition of a new adjustment to create and add to the plan. + # + # @param replaces_adjustment_id [String] The id of the adjustment on the plan to replace in the plan. + # + # @param plan_phase_order [Integer, nil] The phase to replace this adjustment from. + + # The definition of a new adjustment to create and add to the plan. + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplaceAdjustment#adjustment + module Adjustment + extend Orb::Internal::Type::Union + + discriminator :adjustment_type + + variant :percentage_discount, + -> { Orb::BetaCreatePlanVersionParams::ReplaceAdjustment::Adjustment::PercentageDiscount } + + variant :usage_discount, + -> { Orb::BetaCreatePlanVersionParams::ReplaceAdjustment::Adjustment::UsageDiscount } + + variant :amount_discount, + -> { Orb::BetaCreatePlanVersionParams::ReplaceAdjustment::Adjustment::AmountDiscount } + + variant :minimum, -> { Orb::BetaCreatePlanVersionParams::ReplaceAdjustment::Adjustment::Minimum } + + variant :maximum, -> { Orb::BetaCreatePlanVersionParams::ReplaceAdjustment::Adjustment::Maximum } + + class PercentageDiscount < Orb::Internal::Type::BaseModel + # @!attribute adjustment_type + # + # @return [Symbol, :percentage_discount] + required :adjustment_type, const: :percentage_discount + + # @!attribute percentage_discount + # + # @return [Float] + required :percentage_discount, Float + + # @!attribute applies_to_price_ids + # The set of price IDs to which this adjustment applies. + # + # @return [Array, nil] + optional :applies_to_price_ids, Orb::Internal::Type::ArrayOf[String], nil?: true + + # @!attribute is_invoice_level + # When false, this adjustment will be applied to a single price. Otherwise, it + # will be applied at the invoice level, possibly to multiple prices. + # + # @return [Boolean, nil] + optional :is_invoice_level, Orb::Internal::Type::Boolean + + # @!method initialize(percentage_discount:, applies_to_price_ids: nil, is_invoice_level: nil, adjustment_type: :percentage_discount) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::ReplaceAdjustment::Adjustment::PercentageDiscount} + # for more details. + # + # @param percentage_discount [Float] + # + # @param applies_to_price_ids [Array, nil] The set of price IDs to which this adjustment applies. + # + # @param is_invoice_level [Boolean] When false, this adjustment will be applied to a single price. Otherwise, it wil + # + # @param adjustment_type [Symbol, :percentage_discount] + end + + class UsageDiscount < Orb::Internal::Type::BaseModel + # @!attribute adjustment_type + # + # @return [Symbol, :usage_discount] + required :adjustment_type, const: :usage_discount + + # @!attribute usage_discount + # + # @return [Float] + required :usage_discount, Float + + # @!attribute applies_to_price_ids + # The set of price IDs to which this adjustment applies. + # + # @return [Array, nil] + optional :applies_to_price_ids, Orb::Internal::Type::ArrayOf[String], nil?: true + + # @!attribute is_invoice_level + # When false, this adjustment will be applied to a single price. Otherwise, it + # will be applied at the invoice level, possibly to multiple prices. + # + # @return [Boolean, nil] + optional :is_invoice_level, Orb::Internal::Type::Boolean + + # @!method initialize(usage_discount:, applies_to_price_ids: nil, is_invoice_level: nil, adjustment_type: :usage_discount) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::ReplaceAdjustment::Adjustment::UsageDiscount} + # for more details. + # + # @param usage_discount [Float] + # + # @param applies_to_price_ids [Array, nil] The set of price IDs to which this adjustment applies. + # + # @param is_invoice_level [Boolean] When false, this adjustment will be applied to a single price. Otherwise, it wil + # + # @param adjustment_type [Symbol, :usage_discount] + end + + class AmountDiscount < Orb::Internal::Type::BaseModel + # @!attribute adjustment_type + # + # @return [Symbol, :amount_discount] + required :adjustment_type, const: :amount_discount + + # @!attribute amount_discount + # + # @return [String] + required :amount_discount, String + + # @!attribute applies_to_price_ids + # The set of price IDs to which this adjustment applies. + # + # @return [Array, nil] + optional :applies_to_price_ids, Orb::Internal::Type::ArrayOf[String], nil?: true + + # @!attribute is_invoice_level + # When false, this adjustment will be applied to a single price. Otherwise, it + # will be applied at the invoice level, possibly to multiple prices. + # + # @return [Boolean, nil] + optional :is_invoice_level, Orb::Internal::Type::Boolean + + # @!method initialize(amount_discount:, applies_to_price_ids: nil, is_invoice_level: nil, adjustment_type: :amount_discount) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::ReplaceAdjustment::Adjustment::AmountDiscount} + # for more details. + # + # @param amount_discount [String] + # + # @param applies_to_price_ids [Array, nil] The set of price IDs to which this adjustment applies. + # + # @param is_invoice_level [Boolean] When false, this adjustment will be applied to a single price. Otherwise, it wil + # + # @param adjustment_type [Symbol, :amount_discount] + end + + class Minimum < Orb::Internal::Type::BaseModel + # @!attribute adjustment_type + # + # @return [Symbol, :minimum] + required :adjustment_type, const: :minimum + + # @!attribute item_id + # The item ID that revenue from this minimum will be attributed to. + # + # @return [String] + required :item_id, String + + # @!attribute minimum_amount + # + # @return [String] + required :minimum_amount, String + + # @!attribute applies_to_price_ids + # The set of price IDs to which this adjustment applies. + # + # @return [Array, nil] + optional :applies_to_price_ids, Orb::Internal::Type::ArrayOf[String], nil?: true + + # @!attribute is_invoice_level + # When false, this adjustment will be applied to a single price. Otherwise, it + # will be applied at the invoice level, possibly to multiple prices. + # + # @return [Boolean, nil] + optional :is_invoice_level, Orb::Internal::Type::Boolean + + # @!method initialize(item_id:, minimum_amount:, applies_to_price_ids: nil, is_invoice_level: nil, adjustment_type: :minimum) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::ReplaceAdjustment::Adjustment::Minimum} + # for more details. + # + # @param item_id [String] The item ID that revenue from this minimum will be attributed to. + # + # @param minimum_amount [String] + # + # @param applies_to_price_ids [Array, nil] The set of price IDs to which this adjustment applies. + # + # @param is_invoice_level [Boolean] When false, this adjustment will be applied to a single price. Otherwise, it wil + # + # @param adjustment_type [Symbol, :minimum] + end + + class Maximum < Orb::Internal::Type::BaseModel + # @!attribute adjustment_type + # + # @return [Symbol, :maximum] + required :adjustment_type, const: :maximum + + # @!attribute maximum_amount + # + # @return [String] + required :maximum_amount, String + + # @!attribute applies_to_price_ids + # The set of price IDs to which this adjustment applies. + # + # @return [Array, nil] + optional :applies_to_price_ids, Orb::Internal::Type::ArrayOf[String], nil?: true + + # @!attribute is_invoice_level + # When false, this adjustment will be applied to a single price. Otherwise, it + # will be applied at the invoice level, possibly to multiple prices. + # + # @return [Boolean, nil] + optional :is_invoice_level, Orb::Internal::Type::Boolean + + # @!method initialize(maximum_amount:, applies_to_price_ids: nil, is_invoice_level: nil, adjustment_type: :maximum) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::ReplaceAdjustment::Adjustment::Maximum} + # for more details. + # + # @param maximum_amount [String] + # + # @param applies_to_price_ids [Array, nil] The set of price IDs to which this adjustment applies. + # + # @param is_invoice_level [Boolean] When false, this adjustment will be applied to a single price. Otherwise, it wil + # + # @param adjustment_type [Symbol, :maximum] + end + + # @!method self.variants + # @return [Array(Orb::Models::BetaCreatePlanVersionParams::ReplaceAdjustment::Adjustment::PercentageDiscount, Orb::Models::BetaCreatePlanVersionParams::ReplaceAdjustment::Adjustment::UsageDiscount, Orb::Models::BetaCreatePlanVersionParams::ReplaceAdjustment::Adjustment::AmountDiscount, Orb::Models::BetaCreatePlanVersionParams::ReplaceAdjustment::Adjustment::Minimum, Orb::Models::BetaCreatePlanVersionParams::ReplaceAdjustment::Adjustment::Maximum)] + end + end + + class ReplacePrice < Orb::Internal::Type::BaseModel + # @!attribute replaces_price_id + # The id of the price on the plan to replace in the plan. + # + # @return [String] + required :replaces_price_id, String + + # @!attribute allocation_price + # The allocation price to add to the plan. + # + # @return [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::AllocationPrice, nil] + optional :allocation_price, + -> { Orb::BetaCreatePlanVersionParams::ReplacePrice::AllocationPrice }, + nil?: true + + # @!attribute plan_phase_order + # The phase to replace this price from. + # + # @return [Integer, nil] + optional :plan_phase_order, Integer, nil?: true + + # @!attribute price + # The price to add to the plan + # + # @return [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Package, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered, nil] + optional :price, union: -> { Orb::BetaCreatePlanVersionParams::ReplacePrice::Price }, nil?: true + + # @!method initialize(replaces_price_id:, allocation_price: nil, plan_phase_order: nil, price: nil) + # @param replaces_price_id [String] The id of the price on the plan to replace in the plan. + # + # @param allocation_price [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::AllocationPrice, nil] The allocation price to add to the plan. + # + # @param plan_phase_order [Integer, nil] The phase to replace this price from. + # + # @param price [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Package, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered, nil] The price to add to the plan + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice#allocation_price + class AllocationPrice < Orb::Internal::Type::BaseModel + # @!attribute amount + # An amount of the currency to allocate to the customer at the specified cadence. + # + # @return [String] + required :amount, String + + # @!attribute cadence + # The cadence at which to allocate the amount to the customer. + # + # @return [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::AllocationPrice::Cadence] + required :cadence, + enum: -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::AllocationPrice::Cadence + } + + # @!attribute currency + # An ISO 4217 currency string or a custom pricing unit identifier in which to bill + # this price. + # + # @return [String] + required :currency, String + + # @!attribute expires_at_end_of_cadence + # Whether the allocated amount should expire at the end of the cadence or roll + # over to the next period. + # + # @return [Boolean] + required :expires_at_end_of_cadence, Orb::Internal::Type::Boolean + + # @!method initialize(amount:, cadence:, currency:, expires_at_end_of_cadence:) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::AllocationPrice} for + # more details. + # + # The allocation price to add to the plan. + # + # @param amount [String] An amount of the currency to allocate to the customer at the specified cadence. + # + # @param cadence [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::AllocationPrice::Cadence] The cadence at which to allocate the amount to the customer. + # + # @param currency [String] An ISO 4217 currency string or a custom pricing unit identifier in which to bill + # + # @param expires_at_end_of_cadence [Boolean] Whether the allocated amount should expire at the end of the cadence or roll ove + + # The cadence at which to allocate the amount to the customer. + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::AllocationPrice#cadence + module Cadence + extend Orb::Internal::Type::Enum + + ONE_TIME = :one_time + MONTHLY = :monthly + QUARTERLY = :quarterly + SEMI_ANNUAL = :semi_annual + ANNUAL = :annual + CUSTOM = :custom + + # @!method self.values + # @return [Array] + end + end + + # The price to add to the plan + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice#price + module Price + extend Orb::Internal::Type::Union + + discriminator :model_type + + variant :unit, -> { Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit } + + variant :package, -> { Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Package } + + variant :matrix, -> { Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix } + + variant :tiered, -> { Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered } + + variant :tiered_bps, -> { Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps } + + variant :bps, -> { Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps } + + variant :bulk_bps, -> { Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps } + + variant :bulk, -> { Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk } + + variant :threshold_total_amount, + -> { Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount } + + variant :tiered_package, -> { Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage } + + variant :tiered_with_minimum, + -> { Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum } + + variant :unit_with_percent, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent + } + + variant :package_with_allocation, + -> { Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation } + + variant :tiered_with_proration, + -> { Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration } + + variant :unit_with_proration, + -> { Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration } + + variant :grouped_allocation, + -> { Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation } + + variant :grouped_with_prorated_minimum, + -> { Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum } + + variant :grouped_with_metered_minimum, + -> { Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum } + + variant :matrix_with_display_name, + -> { Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName } + + variant :bulk_with_proration, + -> { Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration } + + variant :grouped_tiered_package, + -> { Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage } + + variant :max_group_tiered_package, + -> { Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage } + + variant :scalable_matrix_with_unit_pricing, + -> { Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing } + + variant :scalable_matrix_with_tiered_pricing, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing + } + + variant :cumulative_grouped_bulk, + -> { Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk } + + variant :tiered_package_with_minimum, + -> { Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum } + + variant :matrix_with_allocation, + -> { Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation } + + variant :grouped_tiered, -> { Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered } + + class Unit < Orb::Internal::Type::BaseModel + # @!attribute cadence + # The cadence to bill for this price on. + # + # @return [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::Cadence] + required :cadence, + enum: -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::Cadence + } + + # @!attribute item_id + # The id of the item the price will be associated with. + # + # @return [String] + required :item_id, String + + # @!attribute model_type + # + # @return [Symbol, :unit] + required :model_type, const: :unit + + # @!attribute name + # The name of the price. + # + # @return [String] + required :name, String + + # @!attribute unit_config + # + # @return [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::UnitConfig] + required :unit_config, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::UnitConfig + } + + # @!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::Internal::Type::Boolean, nil?: true + + # @!attribute billing_cycle_configuration + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @return [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::BillingCycleConfiguration, nil] + optional :billing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::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 dimensional_price_configuration + # For dimensional price: specifies a price group and dimension values + # + # @return [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::DimensionalPriceConfiguration, nil] + optional :dimensional_price_configuration, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::DimensionalPriceConfiguration + }, + 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::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration, nil] + optional :invoicing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::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::Internal::Type::HashOf[String, nil?: true], nil?: true + + # @!method initialize(cadence:, item_id:, name:, unit_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :unit) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit} for more + # details. + # + # @param cadence [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::Cadence] The cadence to bill for this price on. + # + # @param item_id [String] The id of the item the price will be associated with. + # + # @param name [String] The name of the price. + # + # @param unit_config [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::UnitConfig] + # + # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b + # + # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi + # + # @param billing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # + # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. + # + # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr + # + # @param dimensional_price_configuration [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # + # @param external_price_id [String, nil] An alias for the price. + # + # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl + # + # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice + # + # @param invoicing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # + # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed + # + # @param model_type [Symbol, :unit] + + # The cadence to bill for this price on. + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit#cadence + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + # @!method self.values + # @return [Array] + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit#unit_config + class UnitConfig < Orb::Internal::Type::BaseModel + # @!attribute unit_amount + # Rate per unit of usage + # + # @return [String] + required :unit_amount, String + + # @!method initialize(unit_amount:) + # @param unit_amount [String] Rate per unit of usage + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit#billing_cycle_configuration + class BillingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::BillingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @param duration [Integer] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::BillingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit#dimensional_price_configuration + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # The list of dimension values matching (in order) the dimensions of the price + # group + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String] + + # @!attribute dimensional_price_group_id + # The id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :dimensional_price_group_id, String, nil?: true + + # @!attribute external_dimensional_price_group_id + # The external id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :external_dimensional_price_group_id, String, nil?: true + + # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::DimensionalPriceConfiguration} + # for more details. + # + # For dimensional price: specifies a price group and dimension values + # + # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro + # + # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in + # + # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit#invoicing_cycle_configuration + class InvoicingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # 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] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + end + + class Package < Orb::Internal::Type::BaseModel + # @!attribute cadence + # The cadence to bill for this price on. + # + # @return [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::Cadence] + required :cadence, + enum: -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::Cadence + } + + # @!attribute item_id + # The id of the item the price will be associated with. + # + # @return [String] + required :item_id, String + + # @!attribute model_type + # + # @return [Symbol, :package] + required :model_type, const: :package + + # @!attribute name + # The name of the price. + # + # @return [String] + required :name, String + + # @!attribute package_config + # + # @return [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::PackageConfig] + required :package_config, + -> { Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::PackageConfig } + + # @!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::Internal::Type::Boolean, nil?: true + + # @!attribute billing_cycle_configuration + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @return [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::BillingCycleConfiguration, nil] + optional :billing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::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 dimensional_price_configuration + # For dimensional price: specifies a price group and dimension values + # + # @return [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::DimensionalPriceConfiguration, nil] + optional :dimensional_price_configuration, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::DimensionalPriceConfiguration + }, + 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::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration, nil] + optional :invoicing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::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::Internal::Type::HashOf[String, nil?: true], nil?: true + + # @!method initialize(cadence:, item_id:, name:, package_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :package) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Package} for + # more details. + # + # @param cadence [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::Cadence] The cadence to bill for this price on. + # + # @param item_id [String] The id of the item the price will be associated with. + # + # @param name [String] The name of the price. + # + # @param package_config [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::PackageConfig] + # + # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b + # + # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi + # + # @param billing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # + # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. + # + # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr + # + # @param dimensional_price_configuration [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # + # @param external_price_id [String, nil] An alias for the price. + # + # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl + # + # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice + # + # @param invoicing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # + # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed + # + # @param model_type [Symbol, :package] + + # The cadence to bill for this price on. + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Package#cadence + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + # @!method self.values + # @return [Array] + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Package#package_config + class PackageConfig < Orb::Internal::Type::BaseModel + # @!attribute package_amount + # A currency amount to rate usage by + # + # @return [String] + required :package_amount, String + + # @!attribute package_size + # An integer amount to represent package size. For example, 1000 here would divide + # usage by 1000 before multiplying by package_amount in rating + # + # @return [Integer] + required :package_size, Integer + + # @!method initialize(package_amount:, package_size:) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::PackageConfig} + # for more details. + # + # @param package_amount [String] A currency amount to rate usage by + # + # @param package_size [Integer] An integer amount to represent package size. For example, 1000 here would divide + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Package#billing_cycle_configuration + class BillingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::BillingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @param duration [Integer] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::BillingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Package#dimensional_price_configuration + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # The list of dimension values matching (in order) the dimensions of the price + # group + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String] + + # @!attribute dimensional_price_group_id + # The id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :dimensional_price_group_id, String, nil?: true + + # @!attribute external_dimensional_price_group_id + # The external id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :external_dimensional_price_group_id, String, nil?: true + + # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::DimensionalPriceConfiguration} + # for more details. + # + # For dimensional price: specifies a price group and dimension values + # + # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro + # + # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in + # + # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Package#invoicing_cycle_configuration + class InvoicingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # 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] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + end + + class Matrix < Orb::Internal::Type::BaseModel + # @!attribute cadence + # The cadence to bill for this price on. + # + # @return [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::Cadence] + required :cadence, + enum: -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::Cadence + } + + # @!attribute item_id + # The id of the item the price will be associated with. + # + # @return [String] + required :item_id, String + + # @!attribute matrix_config + # + # @return [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::MatrixConfig] + required :matrix_config, + -> { Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::MatrixConfig } + + # @!attribute model_type + # + # @return [Symbol, :matrix] + required :model_type, const: :matrix + + # @!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::Internal::Type::Boolean, nil?: true + + # @!attribute billing_cycle_configuration + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @return [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration, nil] + optional :billing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::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 dimensional_price_configuration + # For dimensional price: specifies a price group and dimension values + # + # @return [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::DimensionalPriceConfiguration, nil] + optional :dimensional_price_configuration, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::DimensionalPriceConfiguration + }, + 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::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration, nil] + optional :invoicing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::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::Internal::Type::HashOf[String, nil?: true], nil?: true + + # @!method initialize(cadence:, item_id:, matrix_config:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :matrix) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix} for more + # details. + # + # @param cadence [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::Cadence] The cadence to bill for this price on. + # + # @param item_id [String] The id of the item the price will be associated with. + # + # @param matrix_config [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::MatrixConfig] + # + # @param name [String] The name of the price. + # + # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b + # + # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi + # + # @param billing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # + # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. + # + # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr + # + # @param dimensional_price_configuration [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # + # @param external_price_id [String, nil] An alias for the price. + # + # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl + # + # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice + # + # @param invoicing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # + # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed + # + # @param model_type [Symbol, :matrix] + + # The cadence to bill for this price on. + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix#cadence + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + # @!method self.values + # @return [Array] + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix#matrix_config + class MatrixConfig < Orb::Internal::Type::BaseModel + # @!attribute default_unit_amount + # Default per unit rate for any usage not bucketed into a specified matrix_value + # + # @return [String] + required :default_unit_amount, String + + # @!attribute dimensions + # One or two event property values to evaluate matrix groups by + # + # @return [Array] + required :dimensions, Orb::Internal::Type::ArrayOf[String, nil?: true] + + # @!attribute matrix_values + # Matrix values for specified matrix grouping keys + # + # @return [Array] + required :matrix_values, + -> { + Orb::Internal::Type::ArrayOf[Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::MatrixConfig::MatrixValue] + } + + # @!method initialize(default_unit_amount:, dimensions:, matrix_values:) + # @param default_unit_amount [String] Default per unit rate for any usage not bucketed into a specified matrix_value + # + # @param dimensions [Array] One or two event property values to evaluate matrix groups by + # + # @param matrix_values [Array] Matrix values for specified matrix grouping keys + + class MatrixValue < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # One or two matrix keys to filter usage to this Matrix value by. For example, + # ["region", "tier"] could be used to filter cloud usage by a cloud region and an + # instance tier. + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String, nil?: true] + + # @!attribute unit_amount + # Unit price for the specified dimension_values + # + # @return [String] + required :unit_amount, String + + # @!method initialize(dimension_values:, unit_amount:) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::MatrixConfig::MatrixValue} + # for more details. + # + # @param dimension_values [Array] One or two matrix keys to filter usage to this Matrix value by. For example, ["r + # + # @param unit_amount [String] Unit price for the specified dimension_values + end + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix#billing_cycle_configuration + class BillingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @param duration [Integer] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix#dimensional_price_configuration + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # The list of dimension values matching (in order) the dimensions of the price + # group + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String] + + # @!attribute dimensional_price_group_id + # The id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :dimensional_price_group_id, String, nil?: true + + # @!attribute external_dimensional_price_group_id + # The external id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :external_dimensional_price_group_id, String, nil?: true + + # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::DimensionalPriceConfiguration} + # for more details. + # + # For dimensional price: specifies a price group and dimension values + # + # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro + # + # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in + # + # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix#invoicing_cycle_configuration + class InvoicingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # 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] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + end + + class Tiered < Orb::Internal::Type::BaseModel + # @!attribute cadence + # The cadence to bill for this price on. + # + # @return [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::Cadence] + required :cadence, + enum: -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::Cadence + } + + # @!attribute item_id + # The id of the item the price will be associated with. + # + # @return [String] + required :item_id, String + + # @!attribute model_type + # + # @return [Symbol, :tiered] + required :model_type, const: :tiered + + # @!attribute name + # The name of the price. + # + # @return [String] + required :name, String + + # @!attribute tiered_config + # + # @return [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::TieredConfig] + required :tiered_config, + -> { Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::TieredConfig } + + # @!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::Internal::Type::Boolean, nil?: true + + # @!attribute billing_cycle_configuration + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @return [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration, nil] + optional :billing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::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 dimensional_price_configuration + # For dimensional price: specifies a price group and dimension values + # + # @return [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::DimensionalPriceConfiguration, nil] + optional :dimensional_price_configuration, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::DimensionalPriceConfiguration + }, + 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::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration, nil] + optional :invoicing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::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::Internal::Type::HashOf[String, nil?: true], nil?: true + + # @!method initialize(cadence:, item_id:, name:, tiered_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :tiered) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered} for more + # details. + # + # @param cadence [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::Cadence] The cadence to bill for this price on. + # + # @param item_id [String] The id of the item the price will be associated with. + # + # @param name [String] The name of the price. + # + # @param tiered_config [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::TieredConfig] + # + # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b + # + # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi + # + # @param billing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # + # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. + # + # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr + # + # @param dimensional_price_configuration [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # + # @param external_price_id [String, nil] An alias for the price. + # + # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl + # + # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice + # + # @param invoicing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # + # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed + # + # @param model_type [Symbol, :tiered] + + # The cadence to bill for this price on. + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered#cadence + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + # @!method self.values + # @return [Array] + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered#tiered_config + class TieredConfig < Orb::Internal::Type::BaseModel + # @!attribute tiers + # Tiers for rating based on total usage quantities into the specified tier + # + # @return [Array] + required :tiers, + -> { + Orb::Internal::Type::ArrayOf[Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::TieredConfig::Tier] + } + + # @!method initialize(tiers:) + # @param tiers [Array] Tiers for rating based on total usage quantities into the specified tier + + class Tier < Orb::Internal::Type::BaseModel + # @!attribute first_unit + # Exclusive tier starting value + # + # @return [Float] + required :first_unit, Float + + # @!attribute unit_amount + # Amount per unit + # + # @return [String] + required :unit_amount, String + + # @!attribute last_unit + # Inclusive tier ending value. If null, this is treated as the last tier + # + # @return [Float, nil] + optional :last_unit, Float, nil?: true + + # @!method initialize(first_unit:, unit_amount:, last_unit: nil) + # @param first_unit [Float] Exclusive tier starting value + # + # @param unit_amount [String] Amount per unit + # + # @param last_unit [Float, nil] Inclusive tier ending value. If null, this is treated as the last tier + end + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered#billing_cycle_configuration + class BillingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @param duration [Integer] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered#dimensional_price_configuration + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # The list of dimension values matching (in order) the dimensions of the price + # group + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String] + + # @!attribute dimensional_price_group_id + # The id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :dimensional_price_group_id, String, nil?: true + + # @!attribute external_dimensional_price_group_id + # The external id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :external_dimensional_price_group_id, String, nil?: true + + # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::DimensionalPriceConfiguration} + # for more details. + # + # For dimensional price: specifies a price group and dimension values + # + # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro + # + # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in + # + # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered#invoicing_cycle_configuration + class InvoicingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # 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] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + end + + class TieredBps < Orb::Internal::Type::BaseModel + # @!attribute cadence + # The cadence to bill for this price on. + # + # @return [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::Cadence] + required :cadence, + enum: -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::Cadence + } + + # @!attribute item_id + # The id of the item the price will be associated with. + # + # @return [String] + required :item_id, String + + # @!attribute model_type + # + # @return [Symbol, :tiered_bps] + required :model_type, const: :tiered_bps + + # @!attribute name + # The name of the price. + # + # @return [String] + required :name, String + + # @!attribute tiered_bps_config + # + # @return [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::TieredBpsConfig] + required :tiered_bps_config, + -> { Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::TieredBpsConfig } + + # @!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::Internal::Type::Boolean, nil?: true + + # @!attribute billing_cycle_configuration + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @return [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration, nil] + optional :billing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::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 dimensional_price_configuration + # For dimensional price: specifies a price group and dimension values + # + # @return [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::DimensionalPriceConfiguration, nil] + optional :dimensional_price_configuration, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::DimensionalPriceConfiguration + }, + 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::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration, nil] + optional :invoicing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::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::Internal::Type::HashOf[String, nil?: true], nil?: true + + # @!method initialize(cadence:, item_id:, name:, tiered_bps_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :tiered_bps) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps} for + # more details. + # + # @param cadence [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::Cadence] The cadence to bill for this price on. + # + # @param item_id [String] The id of the item the price will be associated with. + # + # @param name [String] The name of the price. + # + # @param tiered_bps_config [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::TieredBpsConfig] + # + # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b + # + # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi + # + # @param billing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # + # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. + # + # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr + # + # @param dimensional_price_configuration [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # + # @param external_price_id [String, nil] An alias for the price. + # + # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl + # + # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice + # + # @param invoicing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # + # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed + # + # @param model_type [Symbol, :tiered_bps] + + # The cadence to bill for this price on. + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps#cadence + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + # @!method self.values + # @return [Array] + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps#tiered_bps_config + class TieredBpsConfig < Orb::Internal::Type::BaseModel + # @!attribute tiers + # Tiers for a Graduated BPS pricing model, where usage is bucketed into specified + # tiers + # + # @return [Array] + required :tiers, + -> { + Orb::Internal::Type::ArrayOf[Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::TieredBpsConfig::Tier] + } + + # @!method initialize(tiers:) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::TieredBpsConfig} + # for more details. + # + # @param tiers [Array] Tiers for a Graduated BPS pricing model, where usage is bucketed into specified + + class Tier < Orb::Internal::Type::BaseModel + # @!attribute bps + # Per-event basis point rate + # + # @return [Float] + required :bps, Float + + # @!attribute minimum_amount + # Exclusive tier starting value + # + # @return [String] + required :minimum_amount, String + + # @!attribute maximum_amount + # Inclusive tier ending value + # + # @return [String, nil] + optional :maximum_amount, String, nil?: true + + # @!attribute per_unit_maximum + # Per unit maximum to charge + # + # @return [String, nil] + optional :per_unit_maximum, String, nil?: true + + # @!method initialize(bps:, minimum_amount:, maximum_amount: nil, per_unit_maximum: nil) + # @param bps [Float] Per-event basis point rate + # + # @param minimum_amount [String] Exclusive tier starting value + # + # @param maximum_amount [String, nil] Inclusive tier ending value + # + # @param per_unit_maximum [String, nil] Per unit maximum to charge + end + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps#billing_cycle_configuration + class BillingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @param duration [Integer] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps#dimensional_price_configuration + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # The list of dimension values matching (in order) the dimensions of the price + # group + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String] + + # @!attribute dimensional_price_group_id + # The id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :dimensional_price_group_id, String, nil?: true + + # @!attribute external_dimensional_price_group_id + # The external id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :external_dimensional_price_group_id, String, nil?: true + + # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::DimensionalPriceConfiguration} + # for more details. + # + # For dimensional price: specifies a price group and dimension values + # + # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro + # + # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in + # + # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps#invoicing_cycle_configuration + class InvoicingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # 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] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + end + + class Bps < Orb::Internal::Type::BaseModel + # @!attribute bps_config + # + # @return [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::BpsConfig] + required :bps_config, -> { Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::BpsConfig } + + # @!attribute cadence + # The cadence to bill for this price on. + # + # @return [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::Cadence] + required :cadence, + enum: -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::Cadence + } + + # @!attribute item_id + # The id of the item the price will be associated with. + # + # @return [String] + required :item_id, String + + # @!attribute model_type + # + # @return [Symbol, :bps] + required :model_type, const: :bps + + # @!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::Internal::Type::Boolean, nil?: true + + # @!attribute billing_cycle_configuration + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @return [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::BillingCycleConfiguration, nil] + optional :billing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::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 dimensional_price_configuration + # For dimensional price: specifies a price group and dimension values + # + # @return [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::DimensionalPriceConfiguration, nil] + optional :dimensional_price_configuration, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::DimensionalPriceConfiguration + }, + 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::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration, nil] + optional :invoicing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::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::Internal::Type::HashOf[String, nil?: true], nil?: true + + # @!method initialize(bps_config:, cadence:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :bps) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps} for more + # details. + # + # @param bps_config [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::BpsConfig] + # + # @param cadence [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::Cadence] The cadence to bill for this price on. + # + # @param item_id [String] The id of the item the price will be associated with. + # + # @param name [String] The name of the price. + # + # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b + # + # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi + # + # @param billing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # + # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. + # + # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr + # + # @param dimensional_price_configuration [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # + # @param external_price_id [String, nil] An alias for the price. + # + # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl + # + # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice + # + # @param invoicing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # + # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed + # + # @param model_type [Symbol, :bps] + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps#bps_config + class BpsConfig < Orb::Internal::Type::BaseModel + # @!attribute bps + # Basis point take rate per event + # + # @return [Float] + required :bps, Float + + # @!attribute per_unit_maximum + # Optional currency amount maximum to cap spend per event + # + # @return [String, nil] + optional :per_unit_maximum, String, nil?: true + + # @!method initialize(bps:, per_unit_maximum: nil) + # @param bps [Float] Basis point take rate per event + # + # @param per_unit_maximum [String, nil] Optional currency amount maximum to cap spend per event + end + + # The cadence to bill for this price on. + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps#cadence + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + # @!method self.values + # @return [Array] + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps#billing_cycle_configuration + class BillingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::BillingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @param duration [Integer] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::BillingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps#dimensional_price_configuration + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # The list of dimension values matching (in order) the dimensions of the price + # group + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String] + + # @!attribute dimensional_price_group_id + # The id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :dimensional_price_group_id, String, nil?: true + + # @!attribute external_dimensional_price_group_id + # The external id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :external_dimensional_price_group_id, String, nil?: true + + # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::DimensionalPriceConfiguration} + # for more details. + # + # For dimensional price: specifies a price group and dimension values + # + # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro + # + # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in + # + # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps#invoicing_cycle_configuration + class InvoicingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # 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] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + end + + class BulkBps < Orb::Internal::Type::BaseModel + # @!attribute bulk_bps_config + # + # @return [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BulkBpsConfig] + required :bulk_bps_config, + -> { Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BulkBpsConfig } + + # @!attribute cadence + # The cadence to bill for this price on. + # + # @return [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::Cadence] + required :cadence, + enum: -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::Cadence + } + + # @!attribute item_id + # The id of the item the price will be associated with. + # + # @return [String] + required :item_id, String + + # @!attribute model_type + # + # @return [Symbol, :bulk_bps] + required :model_type, const: :bulk_bps + + # @!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::Internal::Type::Boolean, nil?: true + + # @!attribute billing_cycle_configuration + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @return [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration, nil] + optional :billing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::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 dimensional_price_configuration + # For dimensional price: specifies a price group and dimension values + # + # @return [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::DimensionalPriceConfiguration, nil] + optional :dimensional_price_configuration, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::DimensionalPriceConfiguration + }, + 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::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration, nil] + optional :invoicing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::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::Internal::Type::HashOf[String, nil?: true], nil?: true + + # @!method initialize(bulk_bps_config:, cadence:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :bulk_bps) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps} for + # more details. + # + # @param bulk_bps_config [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BulkBpsConfig] + # + # @param cadence [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::Cadence] The cadence to bill for this price on. + # + # @param item_id [String] The id of the item the price will be associated with. + # + # @param name [String] The name of the price. + # + # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b + # + # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi + # + # @param billing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # + # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. + # + # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr + # + # @param dimensional_price_configuration [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # + # @param external_price_id [String, nil] An alias for the price. + # + # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl + # + # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice + # + # @param invoicing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # + # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed + # + # @param model_type [Symbol, :bulk_bps] + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps#bulk_bps_config + class BulkBpsConfig < Orb::Internal::Type::BaseModel + # @!attribute tiers + # Tiers for a bulk BPS pricing model where all usage is aggregated to a single + # tier based on total volume + # + # @return [Array] + required :tiers, + -> { + Orb::Internal::Type::ArrayOf[Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BulkBpsConfig::Tier] + } + + # @!method initialize(tiers:) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BulkBpsConfig} + # for more details. + # + # @param tiers [Array] Tiers for a bulk BPS pricing model where all usage is aggregated to a single tie + + class Tier < Orb::Internal::Type::BaseModel + # @!attribute bps + # Basis points to rate on + # + # @return [Float] + required :bps, Float + + # @!attribute maximum_amount + # Upper bound for tier + # + # @return [String, nil] + optional :maximum_amount, String, nil?: true + + # @!attribute per_unit_maximum + # The maximum amount to charge for any one event + # + # @return [String, nil] + optional :per_unit_maximum, String, nil?: true + + # @!method initialize(bps:, maximum_amount: nil, per_unit_maximum: nil) + # @param bps [Float] Basis points to rate on + # + # @param maximum_amount [String, nil] Upper bound for tier + # + # @param per_unit_maximum [String, nil] The maximum amount to charge for any one event + end + end + + # The cadence to bill for this price on. + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps#cadence + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + # @!method self.values + # @return [Array] + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps#billing_cycle_configuration + class BillingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @param duration [Integer] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps#dimensional_price_configuration + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # The list of dimension values matching (in order) the dimensions of the price + # group + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String] + + # @!attribute dimensional_price_group_id + # The id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :dimensional_price_group_id, String, nil?: true + + # @!attribute external_dimensional_price_group_id + # The external id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :external_dimensional_price_group_id, String, nil?: true + + # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::DimensionalPriceConfiguration} + # for more details. + # + # For dimensional price: specifies a price group and dimension values + # + # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro + # + # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in + # + # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps#invoicing_cycle_configuration + class InvoicingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # 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] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + end + + class Bulk < Orb::Internal::Type::BaseModel + # @!attribute bulk_config + # + # @return [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::BulkConfig] + required :bulk_config, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::BulkConfig + } + + # @!attribute cadence + # The cadence to bill for this price on. + # + # @return [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::Cadence] + required :cadence, + enum: -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::Cadence + } + + # @!attribute item_id + # The id of the item the price will be associated with. + # + # @return [String] + required :item_id, String + + # @!attribute model_type + # + # @return [Symbol, :bulk] + required :model_type, const: :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::Internal::Type::Boolean, nil?: true + + # @!attribute billing_cycle_configuration + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @return [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration, nil] + optional :billing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::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 dimensional_price_configuration + # For dimensional price: specifies a price group and dimension values + # + # @return [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::DimensionalPriceConfiguration, nil] + optional :dimensional_price_configuration, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::DimensionalPriceConfiguration + }, + 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::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration, nil] + optional :invoicing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::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::Internal::Type::HashOf[String, nil?: true], nil?: true + + # @!method initialize(bulk_config:, cadence:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :bulk) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk} for more + # details. + # + # @param bulk_config [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::BulkConfig] + # + # @param cadence [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::Cadence] The cadence to bill for this price on. + # + # @param item_id [String] The id of the item the price will be associated with. + # + # @param name [String] The name of the price. + # + # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b + # + # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi + # + # @param billing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # + # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. + # + # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr + # + # @param dimensional_price_configuration [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # + # @param external_price_id [String, nil] An alias for the price. + # + # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl + # + # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice + # + # @param invoicing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # + # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed + # + # @param model_type [Symbol, :bulk] + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk#bulk_config + class BulkConfig < Orb::Internal::Type::BaseModel + # @!attribute tiers + # Bulk tiers for rating based on total usage volume + # + # @return [Array] + required :tiers, + -> { + Orb::Internal::Type::ArrayOf[Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::BulkConfig::Tier] + } + + # @!method initialize(tiers:) + # @param tiers [Array] Bulk tiers for rating based on total usage volume + + class Tier < Orb::Internal::Type::BaseModel + # @!attribute unit_amount + # Amount per unit + # + # @return [String] + required :unit_amount, String + + # @!attribute maximum_units + # Upper bound for this tier + # + # @return [Float, nil] + optional :maximum_units, Float, nil?: true + + # @!method initialize(unit_amount:, maximum_units: nil) + # @param unit_amount [String] Amount per unit + # + # @param maximum_units [Float, nil] Upper bound for this tier + end + end + + # The cadence to bill for this price on. + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk#cadence + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + # @!method self.values + # @return [Array] + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk#billing_cycle_configuration + class BillingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @param duration [Integer] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk#dimensional_price_configuration + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # The list of dimension values matching (in order) the dimensions of the price + # group + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String] + + # @!attribute dimensional_price_group_id + # The id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :dimensional_price_group_id, String, nil?: true + + # @!attribute external_dimensional_price_group_id + # The external id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :external_dimensional_price_group_id, String, nil?: true + + # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::DimensionalPriceConfiguration} + # for more details. + # + # For dimensional price: specifies a price group and dimension values + # + # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro + # + # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in + # + # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk#invoicing_cycle_configuration + class InvoicingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # 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] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + end + + class ThresholdTotalAmount < Orb::Internal::Type::BaseModel + # @!attribute cadence + # The cadence to bill for this price on. + # + # @return [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::Cadence] + required :cadence, + enum: -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::Cadence + } + + # @!attribute item_id + # The id of the item the price will be associated with. + # + # @return [String] + required :item_id, String + + # @!attribute model_type + # + # @return [Symbol, :threshold_total_amount] + required :model_type, const: :threshold_total_amount + + # @!attribute name + # The name of the price. + # + # @return [String] + required :name, String + + # @!attribute threshold_total_amount_config + # + # @return [Hash{Symbol=>Object}] + required :threshold_total_amount_config, Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] + + # @!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::Internal::Type::Boolean, nil?: true + + # @!attribute billing_cycle_configuration + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @return [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration, nil] + optional :billing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::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 dimensional_price_configuration + # For dimensional price: specifies a price group and dimension values + # + # @return [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration, nil] + optional :dimensional_price_configuration, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration + }, + 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::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration, nil] + optional :invoicing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::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::Internal::Type::HashOf[String, nil?: true], nil?: true + + # @!method initialize(cadence:, item_id:, name:, threshold_total_amount_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :threshold_total_amount) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount} + # for more details. + # + # @param cadence [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::Cadence] The cadence to bill for this price on. + # + # @param item_id [String] The id of the item the price will be associated with. + # + # @param name [String] The name of the price. + # + # @param threshold_total_amount_config [Hash{Symbol=>Object}] + # + # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b + # + # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi + # + # @param billing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # + # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. + # + # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr + # + # @param dimensional_price_configuration [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # + # @param external_price_id [String, nil] An alias for the price. + # + # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl + # + # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice + # + # @param invoicing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # + # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed + # + # @param model_type [Symbol, :threshold_total_amount] + + # The cadence to bill for this price on. + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount#cadence + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + # @!method self.values + # @return [Array] + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount#billing_cycle_configuration + class BillingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @param duration [Integer] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount#dimensional_price_configuration + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # The list of dimension values matching (in order) the dimensions of the price + # group + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String] + + # @!attribute dimensional_price_group_id + # The id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :dimensional_price_group_id, String, nil?: true + + # @!attribute external_dimensional_price_group_id + # The external id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :external_dimensional_price_group_id, String, nil?: true + + # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration} + # for more details. + # + # For dimensional price: specifies a price group and dimension values + # + # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro + # + # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in + # + # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount#invoicing_cycle_configuration + class InvoicingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # 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] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + end + + class TieredPackage < Orb::Internal::Type::BaseModel + # @!attribute cadence + # The cadence to bill for this price on. + # + # @return [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::Cadence] + required :cadence, + enum: -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::Cadence + } + + # @!attribute item_id + # The id of the item the price will be associated with. + # + # @return [String] + required :item_id, String + + # @!attribute model_type + # + # @return [Symbol, :tiered_package] + required :model_type, const: :tiered_package + + # @!attribute name + # The name of the price. + # + # @return [String] + required :name, String + + # @!attribute tiered_package_config + # + # @return [Hash{Symbol=>Object}] + required :tiered_package_config, Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] + + # @!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::Internal::Type::Boolean, nil?: true + + # @!attribute billing_cycle_configuration + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @return [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration, nil] + optional :billing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::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 dimensional_price_configuration + # For dimensional price: specifies a price group and dimension values + # + # @return [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::DimensionalPriceConfiguration, nil] + optional :dimensional_price_configuration, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::DimensionalPriceConfiguration + }, + 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::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration, nil] + optional :invoicing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::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::Internal::Type::HashOf[String, nil?: true], nil?: true + + # @!method initialize(cadence:, item_id:, name:, tiered_package_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :tiered_package) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage} + # for more details. + # + # @param cadence [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::Cadence] The cadence to bill for this price on. + # + # @param item_id [String] The id of the item the price will be associated with. + # + # @param name [String] The name of the price. + # + # @param tiered_package_config [Hash{Symbol=>Object}] + # + # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b + # + # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi + # + # @param billing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # + # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. + # + # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr + # + # @param dimensional_price_configuration [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # + # @param external_price_id [String, nil] An alias for the price. + # + # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl + # + # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice + # + # @param invoicing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # + # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed + # + # @param model_type [Symbol, :tiered_package] + + # The cadence to bill for this price on. + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage#cadence + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + # @!method self.values + # @return [Array] + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage#billing_cycle_configuration + class BillingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @param duration [Integer] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage#dimensional_price_configuration + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # The list of dimension values matching (in order) the dimensions of the price + # group + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String] + + # @!attribute dimensional_price_group_id + # The id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :dimensional_price_group_id, String, nil?: true + + # @!attribute external_dimensional_price_group_id + # The external id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :external_dimensional_price_group_id, String, nil?: true + + # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::DimensionalPriceConfiguration} + # for more details. + # + # For dimensional price: specifies a price group and dimension values + # + # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro + # + # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in + # + # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage#invoicing_cycle_configuration + class InvoicingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # 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] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + end + + class TieredWithMinimum < Orb::Internal::Type::BaseModel + # @!attribute cadence + # The cadence to bill for this price on. + # + # @return [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::Cadence] + required :cadence, + enum: -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::Cadence + } + + # @!attribute item_id + # The id of the item the price will be associated with. + # + # @return [String] + required :item_id, String + + # @!attribute model_type + # + # @return [Symbol, :tiered_with_minimum] + required :model_type, const: :tiered_with_minimum + + # @!attribute name + # The name of the price. + # + # @return [String] + required :name, String + + # @!attribute tiered_with_minimum_config + # + # @return [Hash{Symbol=>Object}] + required :tiered_with_minimum_config, Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] + + # @!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::Internal::Type::Boolean, nil?: true + + # @!attribute billing_cycle_configuration + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @return [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration, nil] + optional :billing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::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 dimensional_price_configuration + # For dimensional price: specifies a price group and dimension values + # + # @return [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::DimensionalPriceConfiguration, nil] + optional :dimensional_price_configuration, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::DimensionalPriceConfiguration + }, + 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::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration, nil] + optional :invoicing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::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::Internal::Type::HashOf[String, nil?: true], nil?: true + + # @!method initialize(cadence:, item_id:, name:, tiered_with_minimum_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :tiered_with_minimum) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum} + # for more details. + # + # @param cadence [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::Cadence] The cadence to bill for this price on. + # + # @param item_id [String] The id of the item the price will be associated with. + # + # @param name [String] The name of the price. + # + # @param tiered_with_minimum_config [Hash{Symbol=>Object}] + # + # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b + # + # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi + # + # @param billing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # + # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. + # + # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr + # + # @param dimensional_price_configuration [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # + # @param external_price_id [String, nil] An alias for the price. + # + # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl + # + # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice + # + # @param invoicing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # + # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed + # + # @param model_type [Symbol, :tiered_with_minimum] + + # The cadence to bill for this price on. + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum#cadence + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + # @!method self.values + # @return [Array] + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum#billing_cycle_configuration + class BillingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @param duration [Integer] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum#dimensional_price_configuration + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # The list of dimension values matching (in order) the dimensions of the price + # group + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String] + + # @!attribute dimensional_price_group_id + # The id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :dimensional_price_group_id, String, nil?: true + + # @!attribute external_dimensional_price_group_id + # The external id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :external_dimensional_price_group_id, String, nil?: true + + # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::DimensionalPriceConfiguration} + # for more details. + # + # For dimensional price: specifies a price group and dimension values + # + # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro + # + # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in + # + # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum#invoicing_cycle_configuration + class InvoicingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # 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] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + end + + class UnitWithPercent < Orb::Internal::Type::BaseModel + # @!attribute cadence + # The cadence to bill for this price on. + # + # @return [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::Cadence] + required :cadence, + enum: -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::Cadence + } + + # @!attribute item_id + # The id of the item the price will be associated with. + # + # @return [String] + required :item_id, String + + # @!attribute model_type + # + # @return [Symbol, :unit_with_percent] + required :model_type, const: :unit_with_percent + + # @!attribute name + # The name of the price. + # + # @return [String] + required :name, String + + # @!attribute unit_with_percent_config + # + # @return [Hash{Symbol=>Object}] + required :unit_with_percent_config, Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] + + # @!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::Internal::Type::Boolean, nil?: true + + # @!attribute billing_cycle_configuration + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @return [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration, nil] + optional :billing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::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 dimensional_price_configuration + # For dimensional price: specifies a price group and dimension values + # + # @return [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::DimensionalPriceConfiguration, nil] + optional :dimensional_price_configuration, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::DimensionalPriceConfiguration + }, + 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::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration, nil] + optional :invoicing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::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::Internal::Type::HashOf[String, nil?: true], nil?: true + + # @!method initialize(cadence:, item_id:, name:, unit_with_percent_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :unit_with_percent) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent} + # for more details. + # + # @param cadence [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::Cadence] The cadence to bill for this price on. + # + # @param item_id [String] The id of the item the price will be associated with. + # + # @param name [String] The name of the price. + # + # @param unit_with_percent_config [Hash{Symbol=>Object}] + # + # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b + # + # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi + # + # @param billing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # + # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. + # + # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr + # + # @param dimensional_price_configuration [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # + # @param external_price_id [String, nil] An alias for the price. + # + # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl + # + # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice + # + # @param invoicing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # + # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed + # + # @param model_type [Symbol, :unit_with_percent] + + # The cadence to bill for this price on. + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent#cadence + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + # @!method self.values + # @return [Array] + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent#billing_cycle_configuration + class BillingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @param duration [Integer] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent#dimensional_price_configuration + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # The list of dimension values matching (in order) the dimensions of the price + # group + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String] + + # @!attribute dimensional_price_group_id + # The id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :dimensional_price_group_id, String, nil?: true + + # @!attribute external_dimensional_price_group_id + # The external id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :external_dimensional_price_group_id, String, nil?: true + + # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::DimensionalPriceConfiguration} + # for more details. + # + # For dimensional price: specifies a price group and dimension values + # + # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro + # + # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in + # + # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent#invoicing_cycle_configuration + class InvoicingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # 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] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + end + + class PackageWithAllocation < Orb::Internal::Type::BaseModel + # @!attribute cadence + # The cadence to bill for this price on. + # + # @return [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::Cadence] + required :cadence, + enum: -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::Cadence + } + + # @!attribute item_id + # The id of the item the price will be associated with. + # + # @return [String] + required :item_id, String + + # @!attribute model_type + # + # @return [Symbol, :package_with_allocation] + required :model_type, const: :package_with_allocation + + # @!attribute name + # The name of the price. + # + # @return [String] + required :name, String + + # @!attribute package_with_allocation_config + # + # @return [Hash{Symbol=>Object}] + required :package_with_allocation_config, + Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] + + # @!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::Internal::Type::Boolean, nil?: true + + # @!attribute billing_cycle_configuration + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @return [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration, nil] + optional :billing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::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 dimensional_price_configuration + # For dimensional price: specifies a price group and dimension values + # + # @return [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::DimensionalPriceConfiguration, nil] + optional :dimensional_price_configuration, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::DimensionalPriceConfiguration + }, + 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::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration, nil] + optional :invoicing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::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::Internal::Type::HashOf[String, nil?: true], nil?: true + + # @!method initialize(cadence:, item_id:, name:, package_with_allocation_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :package_with_allocation) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation} + # for more details. + # + # @param cadence [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::Cadence] The cadence to bill for this price on. + # + # @param item_id [String] The id of the item the price will be associated with. + # + # @param name [String] The name of the price. + # + # @param package_with_allocation_config [Hash{Symbol=>Object}] + # + # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b + # + # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi + # + # @param billing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # + # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. + # + # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr + # + # @param dimensional_price_configuration [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # + # @param external_price_id [String, nil] An alias for the price. + # + # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl + # + # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice + # + # @param invoicing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # + # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed + # + # @param model_type [Symbol, :package_with_allocation] + + # The cadence to bill for this price on. + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation#cadence + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + # @!method self.values + # @return [Array] + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation#billing_cycle_configuration + class BillingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @param duration [Integer] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation#dimensional_price_configuration + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # The list of dimension values matching (in order) the dimensions of the price + # group + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String] + + # @!attribute dimensional_price_group_id + # The id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :dimensional_price_group_id, String, nil?: true + + # @!attribute external_dimensional_price_group_id + # The external id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :external_dimensional_price_group_id, String, nil?: true + + # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::DimensionalPriceConfiguration} + # for more details. + # + # For dimensional price: specifies a price group and dimension values + # + # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro + # + # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in + # + # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation#invoicing_cycle_configuration + class InvoicingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # 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] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + end + + class TieredWithProration < Orb::Internal::Type::BaseModel + # @!attribute cadence + # The cadence to bill for this price on. + # + # @return [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::Cadence] + required :cadence, + enum: -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::Cadence + } + + # @!attribute item_id + # The id of the item the price will be associated with. + # + # @return [String] + required :item_id, String + + # @!attribute model_type + # + # @return [Symbol, :tiered_with_proration] + required :model_type, const: :tiered_with_proration + + # @!attribute name + # The name of the price. + # + # @return [String] + required :name, String + + # @!attribute tiered_with_proration_config + # + # @return [Hash{Symbol=>Object}] + required :tiered_with_proration_config, Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] + + # @!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::Internal::Type::Boolean, nil?: true + + # @!attribute billing_cycle_configuration + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @return [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration, nil] + optional :billing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::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 dimensional_price_configuration + # For dimensional price: specifies a price group and dimension values + # + # @return [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::DimensionalPriceConfiguration, nil] + optional :dimensional_price_configuration, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::DimensionalPriceConfiguration + }, + 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::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration, nil] + optional :invoicing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::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::Internal::Type::HashOf[String, nil?: true], nil?: true + + # @!method initialize(cadence:, item_id:, name:, tiered_with_proration_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :tiered_with_proration) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration} + # for more details. + # + # @param cadence [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::Cadence] The cadence to bill for this price on. + # + # @param item_id [String] The id of the item the price will be associated with. + # + # @param name [String] The name of the price. + # + # @param tiered_with_proration_config [Hash{Symbol=>Object}] + # + # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b + # + # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi + # + # @param billing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # + # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. + # + # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr + # + # @param dimensional_price_configuration [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # + # @param external_price_id [String, nil] An alias for the price. + # + # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl + # + # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice + # + # @param invoicing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # + # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed + # + # @param model_type [Symbol, :tiered_with_proration] + + # The cadence to bill for this price on. + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration#cadence + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + # @!method self.values + # @return [Array] + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration#billing_cycle_configuration + class BillingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @param duration [Integer] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration#dimensional_price_configuration + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # The list of dimension values matching (in order) the dimensions of the price + # group + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String] + + # @!attribute dimensional_price_group_id + # The id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :dimensional_price_group_id, String, nil?: true + + # @!attribute external_dimensional_price_group_id + # The external id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :external_dimensional_price_group_id, String, nil?: true + + # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::DimensionalPriceConfiguration} + # for more details. + # + # For dimensional price: specifies a price group and dimension values + # + # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro + # + # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in + # + # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration#invoicing_cycle_configuration + class InvoicingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # 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] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + end + + class UnitWithProration < Orb::Internal::Type::BaseModel + # @!attribute cadence + # The cadence to bill for this price on. + # + # @return [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::Cadence] + required :cadence, + enum: -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::Cadence + } + + # @!attribute item_id + # The id of the item the price will be associated with. + # + # @return [String] + required :item_id, String + + # @!attribute model_type + # + # @return [Symbol, :unit_with_proration] + required :model_type, const: :unit_with_proration + + # @!attribute name + # The name of the price. + # + # @return [String] + required :name, String + + # @!attribute unit_with_proration_config + # + # @return [Hash{Symbol=>Object}] + required :unit_with_proration_config, Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] + + # @!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::Internal::Type::Boolean, nil?: true + + # @!attribute billing_cycle_configuration + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @return [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration, nil] + optional :billing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::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 dimensional_price_configuration + # For dimensional price: specifies a price group and dimension values + # + # @return [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::DimensionalPriceConfiguration, nil] + optional :dimensional_price_configuration, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::DimensionalPriceConfiguration + }, + 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::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration, nil] + optional :invoicing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::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::Internal::Type::HashOf[String, nil?: true], nil?: true + + # @!method initialize(cadence:, item_id:, name:, unit_with_proration_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :unit_with_proration) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration} + # for more details. + # + # @param cadence [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::Cadence] The cadence to bill for this price on. + # + # @param item_id [String] The id of the item the price will be associated with. + # + # @param name [String] The name of the price. + # + # @param unit_with_proration_config [Hash{Symbol=>Object}] + # + # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b + # + # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi + # + # @param billing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # + # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. + # + # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr + # + # @param dimensional_price_configuration [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # + # @param external_price_id [String, nil] An alias for the price. + # + # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl + # + # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice + # + # @param invoicing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # + # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed + # + # @param model_type [Symbol, :unit_with_proration] + + # The cadence to bill for this price on. + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration#cadence + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + # @!method self.values + # @return [Array] + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration#billing_cycle_configuration + class BillingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @param duration [Integer] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration#dimensional_price_configuration + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # The list of dimension values matching (in order) the dimensions of the price + # group + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String] + + # @!attribute dimensional_price_group_id + # The id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :dimensional_price_group_id, String, nil?: true + + # @!attribute external_dimensional_price_group_id + # The external id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :external_dimensional_price_group_id, String, nil?: true + + # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::DimensionalPriceConfiguration} + # for more details. + # + # For dimensional price: specifies a price group and dimension values + # + # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro + # + # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in + # + # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration#invoicing_cycle_configuration + class InvoicingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # 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] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + end + + class GroupedAllocation < Orb::Internal::Type::BaseModel + # @!attribute cadence + # The cadence to bill for this price on. + # + # @return [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::Cadence] + required :cadence, + enum: -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::Cadence + } + + # @!attribute grouped_allocation_config + # + # @return [Hash{Symbol=>Object}] + required :grouped_allocation_config, Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] + + # @!attribute item_id + # The id of the item the price will be associated with. + # + # @return [String] + required :item_id, String + + # @!attribute model_type + # + # @return [Symbol, :grouped_allocation] + required :model_type, const: :grouped_allocation + + # @!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::Internal::Type::Boolean, nil?: true + + # @!attribute billing_cycle_configuration + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @return [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration, nil] + optional :billing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::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 dimensional_price_configuration + # For dimensional price: specifies a price group and dimension values + # + # @return [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::DimensionalPriceConfiguration, nil] + optional :dimensional_price_configuration, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::DimensionalPriceConfiguration + }, + 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::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration, nil] + optional :invoicing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::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::Internal::Type::HashOf[String, nil?: true], nil?: true + + # @!method initialize(cadence:, grouped_allocation_config:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :grouped_allocation) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation} + # for more details. + # + # @param cadence [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::Cadence] The cadence to bill for this price on. + # + # @param grouped_allocation_config [Hash{Symbol=>Object}] + # + # @param item_id [String] The id of the item the price will be associated with. + # + # @param name [String] The name of the price. + # + # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b + # + # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi + # + # @param billing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # + # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. + # + # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr + # + # @param dimensional_price_configuration [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # + # @param external_price_id [String, nil] An alias for the price. + # + # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl + # + # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice + # + # @param invoicing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # + # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed + # + # @param model_type [Symbol, :grouped_allocation] + + # The cadence to bill for this price on. + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation#cadence + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + # @!method self.values + # @return [Array] + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation#billing_cycle_configuration + class BillingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @param duration [Integer] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation#dimensional_price_configuration + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # The list of dimension values matching (in order) the dimensions of the price + # group + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String] + + # @!attribute dimensional_price_group_id + # The id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :dimensional_price_group_id, String, nil?: true + + # @!attribute external_dimensional_price_group_id + # The external id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :external_dimensional_price_group_id, String, nil?: true + + # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::DimensionalPriceConfiguration} + # for more details. + # + # For dimensional price: specifies a price group and dimension values + # + # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro + # + # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in + # + # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation#invoicing_cycle_configuration + class InvoicingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # 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] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + end + + class GroupedWithProratedMinimum < Orb::Internal::Type::BaseModel + # @!attribute cadence + # The cadence to bill for this price on. + # + # @return [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::Cadence] + required :cadence, + enum: -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::Cadence + } + + # @!attribute grouped_with_prorated_minimum_config + # + # @return [Hash{Symbol=>Object}] + required :grouped_with_prorated_minimum_config, + Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] + + # @!attribute item_id + # The id of the item the price will be associated with. + # + # @return [String] + required :item_id, String + + # @!attribute model_type + # + # @return [Symbol, :grouped_with_prorated_minimum] + required :model_type, const: :grouped_with_prorated_minimum + + # @!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::Internal::Type::Boolean, nil?: true + + # @!attribute billing_cycle_configuration + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @return [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration, nil] + optional :billing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::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 dimensional_price_configuration + # For dimensional price: specifies a price group and dimension values + # + # @return [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration, nil] + optional :dimensional_price_configuration, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration + }, + 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::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration, nil] + optional :invoicing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::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::Internal::Type::HashOf[String, nil?: true], nil?: true + + # @!method initialize(cadence:, grouped_with_prorated_minimum_config:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :grouped_with_prorated_minimum) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum} + # for more details. + # + # @param cadence [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::Cadence] The cadence to bill for this price on. + # + # @param grouped_with_prorated_minimum_config [Hash{Symbol=>Object}] + # + # @param item_id [String] The id of the item the price will be associated with. + # + # @param name [String] The name of the price. + # + # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b + # + # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi + # + # @param billing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # + # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. + # + # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr + # + # @param dimensional_price_configuration [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # + # @param external_price_id [String, nil] An alias for the price. + # + # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl + # + # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice + # + # @param invoicing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # + # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed + # + # @param model_type [Symbol, :grouped_with_prorated_minimum] + + # The cadence to bill for this price on. + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum#cadence + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + # @!method self.values + # @return [Array] + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum#billing_cycle_configuration + class BillingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @param duration [Integer] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum#dimensional_price_configuration + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # The list of dimension values matching (in order) the dimensions of the price + # group + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String] + + # @!attribute dimensional_price_group_id + # The id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :dimensional_price_group_id, String, nil?: true + + # @!attribute external_dimensional_price_group_id + # The external id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :external_dimensional_price_group_id, String, nil?: true + + # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration} + # for more details. + # + # For dimensional price: specifies a price group and dimension values + # + # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro + # + # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in + # + # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum#invoicing_cycle_configuration + class InvoicingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # 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] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + end + + class GroupedWithMeteredMinimum < Orb::Internal::Type::BaseModel + # @!attribute cadence + # The cadence to bill for this price on. + # + # @return [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::Cadence] + required :cadence, + enum: -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::Cadence + } + + # @!attribute grouped_with_metered_minimum_config + # + # @return [Hash{Symbol=>Object}] + required :grouped_with_metered_minimum_config, + Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] + + # @!attribute item_id + # The id of the item the price will be associated with. + # + # @return [String] + required :item_id, String + + # @!attribute model_type + # + # @return [Symbol, :grouped_with_metered_minimum] + required :model_type, const: :grouped_with_metered_minimum + + # @!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::Internal::Type::Boolean, nil?: true + + # @!attribute billing_cycle_configuration + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @return [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration, nil] + optional :billing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::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 dimensional_price_configuration + # For dimensional price: specifies a price group and dimension values + # + # @return [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration, nil] + optional :dimensional_price_configuration, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration + }, + 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::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration, nil] + optional :invoicing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::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::Internal::Type::HashOf[String, nil?: true], nil?: true + + # @!method initialize(cadence:, grouped_with_metered_minimum_config:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :grouped_with_metered_minimum) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum} + # for more details. + # + # @param cadence [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::Cadence] The cadence to bill for this price on. + # + # @param grouped_with_metered_minimum_config [Hash{Symbol=>Object}] + # + # @param item_id [String] The id of the item the price will be associated with. + # + # @param name [String] The name of the price. + # + # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b + # + # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi + # + # @param billing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # + # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. + # + # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr + # + # @param dimensional_price_configuration [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # + # @param external_price_id [String, nil] An alias for the price. + # + # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl + # + # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice + # + # @param invoicing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # + # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed + # + # @param model_type [Symbol, :grouped_with_metered_minimum] + + # The cadence to bill for this price on. + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum#cadence + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + # @!method self.values + # @return [Array] + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum#billing_cycle_configuration + class BillingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @param duration [Integer] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum#dimensional_price_configuration + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # The list of dimension values matching (in order) the dimensions of the price + # group + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String] + + # @!attribute dimensional_price_group_id + # The id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :dimensional_price_group_id, String, nil?: true + + # @!attribute external_dimensional_price_group_id + # The external id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :external_dimensional_price_group_id, String, nil?: true + + # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration} + # for more details. + # + # For dimensional price: specifies a price group and dimension values + # + # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro + # + # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in + # + # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum#invoicing_cycle_configuration + class InvoicingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # 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] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + end + + class MatrixWithDisplayName < Orb::Internal::Type::BaseModel + # @!attribute cadence + # The cadence to bill for this price on. + # + # @return [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::Cadence] + required :cadence, + enum: -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::Cadence + } + + # @!attribute item_id + # The id of the item the price will be associated with. + # + # @return [String] + required :item_id, String + + # @!attribute matrix_with_display_name_config + # + # @return [Hash{Symbol=>Object}] + required :matrix_with_display_name_config, + Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] + + # @!attribute model_type + # + # @return [Symbol, :matrix_with_display_name] + required :model_type, const: :matrix_with_display_name + + # @!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::Internal::Type::Boolean, nil?: true + + # @!attribute billing_cycle_configuration + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @return [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration, nil] + optional :billing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::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 dimensional_price_configuration + # For dimensional price: specifies a price group and dimension values + # + # @return [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration, nil] + optional :dimensional_price_configuration, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration + }, + 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::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration, nil] + optional :invoicing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::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::Internal::Type::HashOf[String, nil?: true], nil?: true + + # @!method initialize(cadence:, item_id:, matrix_with_display_name_config:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :matrix_with_display_name) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName} + # for more details. + # + # @param cadence [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::Cadence] The cadence to bill for this price on. + # + # @param item_id [String] The id of the item the price will be associated with. + # + # @param matrix_with_display_name_config [Hash{Symbol=>Object}] + # + # @param name [String] The name of the price. + # + # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b + # + # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi + # + # @param billing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # + # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. + # + # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr + # + # @param dimensional_price_configuration [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # + # @param external_price_id [String, nil] An alias for the price. + # + # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl + # + # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice + # + # @param invoicing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # + # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed + # + # @param model_type [Symbol, :matrix_with_display_name] + + # The cadence to bill for this price on. + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName#cadence + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + # @!method self.values + # @return [Array] + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName#billing_cycle_configuration + class BillingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @param duration [Integer] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName#dimensional_price_configuration + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # The list of dimension values matching (in order) the dimensions of the price + # group + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String] + + # @!attribute dimensional_price_group_id + # The id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :dimensional_price_group_id, String, nil?: true + + # @!attribute external_dimensional_price_group_id + # The external id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :external_dimensional_price_group_id, String, nil?: true + + # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration} + # for more details. + # + # For dimensional price: specifies a price group and dimension values + # + # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro + # + # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in + # + # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName#invoicing_cycle_configuration + class InvoicingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # 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] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + end + + class BulkWithProration < Orb::Internal::Type::BaseModel + # @!attribute bulk_with_proration_config + # + # @return [Hash{Symbol=>Object}] + required :bulk_with_proration_config, Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] + + # @!attribute cadence + # The cadence to bill for this price on. + # + # @return [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::Cadence] + required :cadence, + enum: -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::Cadence + } + + # @!attribute item_id + # The id of the item the price will be associated with. + # + # @return [String] + required :item_id, String + + # @!attribute model_type + # + # @return [Symbol, :bulk_with_proration] + required :model_type, const: :bulk_with_proration + + # @!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::Internal::Type::Boolean, nil?: true + + # @!attribute billing_cycle_configuration + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @return [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration, nil] + optional :billing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::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 dimensional_price_configuration + # For dimensional price: specifies a price group and dimension values + # + # @return [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::DimensionalPriceConfiguration, nil] + optional :dimensional_price_configuration, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::DimensionalPriceConfiguration + }, + 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::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration, nil] + optional :invoicing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::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::Internal::Type::HashOf[String, nil?: true], nil?: true + + # @!method initialize(bulk_with_proration_config:, cadence:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :bulk_with_proration) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration} + # for more details. + # + # @param bulk_with_proration_config [Hash{Symbol=>Object}] + # + # @param cadence [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::Cadence] The cadence to bill for this price on. + # + # @param item_id [String] The id of the item the price will be associated with. + # + # @param name [String] The name of the price. + # + # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b + # + # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi + # + # @param billing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # + # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. + # + # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr + # + # @param dimensional_price_configuration [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # + # @param external_price_id [String, nil] An alias for the price. + # + # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl + # + # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice + # + # @param invoicing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # + # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed + # + # @param model_type [Symbol, :bulk_with_proration] + + # The cadence to bill for this price on. + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration#cadence + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + # @!method self.values + # @return [Array] + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration#billing_cycle_configuration + class BillingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @param duration [Integer] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration#dimensional_price_configuration + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # The list of dimension values matching (in order) the dimensions of the price + # group + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String] + + # @!attribute dimensional_price_group_id + # The id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :dimensional_price_group_id, String, nil?: true + + # @!attribute external_dimensional_price_group_id + # The external id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :external_dimensional_price_group_id, String, nil?: true + + # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::DimensionalPriceConfiguration} + # for more details. + # + # For dimensional price: specifies a price group and dimension values + # + # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro + # + # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in + # + # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration#invoicing_cycle_configuration + class InvoicingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # 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] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + end + + class GroupedTieredPackage < Orb::Internal::Type::BaseModel + # @!attribute cadence + # The cadence to bill for this price on. + # + # @return [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::Cadence] + required :cadence, + enum: -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::Cadence + } + + # @!attribute grouped_tiered_package_config + # + # @return [Hash{Symbol=>Object}] + required :grouped_tiered_package_config, Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] + + # @!attribute item_id + # The id of the item the price will be associated with. + # + # @return [String] + required :item_id, String + + # @!attribute model_type + # + # @return [Symbol, :grouped_tiered_package] + required :model_type, const: :grouped_tiered_package + + # @!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::Internal::Type::Boolean, nil?: true + + # @!attribute billing_cycle_configuration + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @return [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration, nil] + optional :billing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::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 dimensional_price_configuration + # For dimensional price: specifies a price group and dimension values + # + # @return [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration, nil] + optional :dimensional_price_configuration, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration + }, + 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::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration, nil] + optional :invoicing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::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::Internal::Type::HashOf[String, nil?: true], nil?: true + + # @!method initialize(cadence:, grouped_tiered_package_config:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :grouped_tiered_package) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage} + # for more details. + # + # @param cadence [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::Cadence] The cadence to bill for this price on. + # + # @param grouped_tiered_package_config [Hash{Symbol=>Object}] + # + # @param item_id [String] The id of the item the price will be associated with. + # + # @param name [String] The name of the price. + # + # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b + # + # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi + # + # @param billing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # + # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. + # + # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr + # + # @param dimensional_price_configuration [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # + # @param external_price_id [String, nil] An alias for the price. + # + # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl + # + # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice + # + # @param invoicing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # + # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed + # + # @param model_type [Symbol, :grouped_tiered_package] + + # The cadence to bill for this price on. + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage#cadence + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + # @!method self.values + # @return [Array] + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage#billing_cycle_configuration + class BillingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @param duration [Integer] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage#dimensional_price_configuration + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # The list of dimension values matching (in order) the dimensions of the price + # group + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String] + + # @!attribute dimensional_price_group_id + # The id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :dimensional_price_group_id, String, nil?: true + + # @!attribute external_dimensional_price_group_id + # The external id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :external_dimensional_price_group_id, String, nil?: true + + # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration} + # for more details. + # + # For dimensional price: specifies a price group and dimension values + # + # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro + # + # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in + # + # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage#invoicing_cycle_configuration + class InvoicingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # 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] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + end + + class MaxGroupTieredPackage < Orb::Internal::Type::BaseModel + # @!attribute cadence + # The cadence to bill for this price on. + # + # @return [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::Cadence] + required :cadence, + enum: -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::Cadence + } + + # @!attribute item_id + # The id of the item the price will be associated with. + # + # @return [String] + required :item_id, String + + # @!attribute max_group_tiered_package_config + # + # @return [Hash{Symbol=>Object}] + required :max_group_tiered_package_config, + Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] + + # @!attribute model_type + # + # @return [Symbol, :max_group_tiered_package] + required :model_type, const: :max_group_tiered_package + + # @!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::Internal::Type::Boolean, nil?: true + + # @!attribute billing_cycle_configuration + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @return [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration, nil] + optional :billing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::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 dimensional_price_configuration + # For dimensional price: specifies a price group and dimension values + # + # @return [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration, nil] + optional :dimensional_price_configuration, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration + }, + 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::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration, nil] + optional :invoicing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::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::Internal::Type::HashOf[String, nil?: true], nil?: true + + # @!method initialize(cadence:, item_id:, max_group_tiered_package_config:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :max_group_tiered_package) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage} + # for more details. + # + # @param cadence [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::Cadence] The cadence to bill for this price on. + # + # @param item_id [String] The id of the item the price will be associated with. + # + # @param max_group_tiered_package_config [Hash{Symbol=>Object}] + # + # @param name [String] The name of the price. + # + # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b + # + # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi + # + # @param billing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # + # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. + # + # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr + # + # @param dimensional_price_configuration [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # + # @param external_price_id [String, nil] An alias for the price. + # + # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl + # + # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice + # + # @param invoicing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # + # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed + # + # @param model_type [Symbol, :max_group_tiered_package] + + # The cadence to bill for this price on. + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage#cadence + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + # @!method self.values + # @return [Array] + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage#billing_cycle_configuration + class BillingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @param duration [Integer] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage#dimensional_price_configuration + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # The list of dimension values matching (in order) the dimensions of the price + # group + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String] + + # @!attribute dimensional_price_group_id + # The id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :dimensional_price_group_id, String, nil?: true + + # @!attribute external_dimensional_price_group_id + # The external id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :external_dimensional_price_group_id, String, nil?: true + + # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration} + # for more details. + # + # For dimensional price: specifies a price group and dimension values + # + # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro + # + # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in + # + # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage#invoicing_cycle_configuration + class InvoicingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # 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] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + end + + class ScalableMatrixWithUnitPricing < Orb::Internal::Type::BaseModel + # @!attribute cadence + # The cadence to bill for this price on. + # + # @return [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::Cadence] + required :cadence, + enum: -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::Cadence + } + + # @!attribute item_id + # The id of the item the price will be associated with. + # + # @return [String] + required :item_id, String + + # @!attribute model_type + # + # @return [Symbol, :scalable_matrix_with_unit_pricing] + required :model_type, const: :scalable_matrix_with_unit_pricing + + # @!attribute name + # The name of the price. + # + # @return [String] + required :name, String + + # @!attribute scalable_matrix_with_unit_pricing_config + # + # @return [Hash{Symbol=>Object}] + required :scalable_matrix_with_unit_pricing_config, + Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] + + # @!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::Internal::Type::Boolean, nil?: true + + # @!attribute billing_cycle_configuration + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @return [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration, nil] + optional :billing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::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 dimensional_price_configuration + # For dimensional price: specifies a price group and dimension values + # + # @return [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration, nil] + optional :dimensional_price_configuration, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration + }, + 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::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration, nil] + optional :invoicing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::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::Internal::Type::HashOf[String, nil?: true], nil?: true + + # @!method initialize(cadence:, item_id:, name:, scalable_matrix_with_unit_pricing_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :scalable_matrix_with_unit_pricing) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing} + # for more details. + # + # @param cadence [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::Cadence] The cadence to bill for this price on. + # + # @param item_id [String] The id of the item the price will be associated with. + # + # @param name [String] The name of the price. + # + # @param scalable_matrix_with_unit_pricing_config [Hash{Symbol=>Object}] + # + # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b + # + # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi + # + # @param billing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # + # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. + # + # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr + # + # @param dimensional_price_configuration [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # + # @param external_price_id [String, nil] An alias for the price. + # + # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl + # + # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice + # + # @param invoicing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # + # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed + # + # @param model_type [Symbol, :scalable_matrix_with_unit_pricing] + + # The cadence to bill for this price on. + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing#cadence + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + # @!method self.values + # @return [Array] + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing#billing_cycle_configuration + class BillingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @param duration [Integer] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing#dimensional_price_configuration + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # The list of dimension values matching (in order) the dimensions of the price + # group + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String] + + # @!attribute dimensional_price_group_id + # The id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :dimensional_price_group_id, String, nil?: true + + # @!attribute external_dimensional_price_group_id + # The external id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :external_dimensional_price_group_id, String, nil?: true + + # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration} + # for more details. + # + # For dimensional price: specifies a price group and dimension values + # + # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro + # + # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in + # + # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing#invoicing_cycle_configuration + class InvoicingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # 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] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + end + + class ScalableMatrixWithTieredPricing < Orb::Internal::Type::BaseModel + # @!attribute cadence + # The cadence to bill for this price on. + # + # @return [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::Cadence] + required :cadence, + enum: -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::Cadence + } + + # @!attribute item_id + # The id of the item the price will be associated with. + # + # @return [String] + required :item_id, String + + # @!attribute model_type + # + # @return [Symbol, :scalable_matrix_with_tiered_pricing] + required :model_type, const: :scalable_matrix_with_tiered_pricing + + # @!attribute name + # The name of the price. + # + # @return [String] + required :name, String + + # @!attribute scalable_matrix_with_tiered_pricing_config + # + # @return [Hash{Symbol=>Object}] + required :scalable_matrix_with_tiered_pricing_config, + Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] + + # @!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::Internal::Type::Boolean, nil?: true + + # @!attribute billing_cycle_configuration + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @return [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration, nil] + optional :billing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::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 dimensional_price_configuration + # For dimensional price: specifies a price group and dimension values + # + # @return [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration, nil] + optional :dimensional_price_configuration, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration + }, + 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::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration, nil] + optional :invoicing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::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::Internal::Type::HashOf[String, nil?: true], nil?: true + + # @!method initialize(cadence:, item_id:, name:, scalable_matrix_with_tiered_pricing_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :scalable_matrix_with_tiered_pricing) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing} + # for more details. + # + # @param cadence [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::Cadence] The cadence to bill for this price on. + # + # @param item_id [String] The id of the item the price will be associated with. + # + # @param name [String] The name of the price. + # + # @param scalable_matrix_with_tiered_pricing_config [Hash{Symbol=>Object}] + # + # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b + # + # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi + # + # @param billing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # + # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. + # + # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr + # + # @param dimensional_price_configuration [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # + # @param external_price_id [String, nil] An alias for the price. + # + # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl + # + # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice + # + # @param invoicing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # + # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed + # + # @param model_type [Symbol, :scalable_matrix_with_tiered_pricing] + + # The cadence to bill for this price on. + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing#cadence + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + # @!method self.values + # @return [Array] + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing#billing_cycle_configuration + class BillingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @param duration [Integer] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing#dimensional_price_configuration + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # The list of dimension values matching (in order) the dimensions of the price + # group + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String] + + # @!attribute dimensional_price_group_id + # The id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :dimensional_price_group_id, String, nil?: true + + # @!attribute external_dimensional_price_group_id + # The external id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :external_dimensional_price_group_id, String, nil?: true + + # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration} + # for more details. + # + # For dimensional price: specifies a price group and dimension values + # + # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro + # + # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in + # + # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing#invoicing_cycle_configuration + class InvoicingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # 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] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + end + + class CumulativeGroupedBulk < Orb::Internal::Type::BaseModel + # @!attribute cadence + # The cadence to bill for this price on. + # + # @return [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::Cadence] + required :cadence, + enum: -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::Cadence + } + + # @!attribute cumulative_grouped_bulk_config + # + # @return [Hash{Symbol=>Object}] + required :cumulative_grouped_bulk_config, + Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] + + # @!attribute item_id + # The id of the item the price 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::Internal::Type::Boolean, nil?: true + + # @!attribute billing_cycle_configuration + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @return [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration, nil] + optional :billing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::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 dimensional_price_configuration + # For dimensional price: specifies a price group and dimension values + # + # @return [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration, nil] + optional :dimensional_price_configuration, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration + }, + 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::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration, nil] + optional :invoicing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::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::Internal::Type::HashOf[String, nil?: true], nil?: true + + # @!method 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, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :cumulative_grouped_bulk) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk} + # for more details. + # + # @param cadence [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::Cadence] The cadence to bill for this price on. + # + # @param cumulative_grouped_bulk_config [Hash{Symbol=>Object}] + # + # @param item_id [String] The id of the item the price will be associated with. + # + # @param name [String] The name of the price. + # + # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b + # + # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi + # + # @param billing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # + # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. + # + # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr + # + # @param dimensional_price_configuration [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # + # @param external_price_id [String, nil] An alias for the price. + # + # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl + # + # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice + # + # @param invoicing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # + # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed + # + # @param model_type [Symbol, :cumulative_grouped_bulk] + + # The cadence to bill for this price on. + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk#cadence + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + # @!method self.values + # @return [Array] + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk#billing_cycle_configuration + class BillingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @param duration [Integer] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk#dimensional_price_configuration + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # The list of dimension values matching (in order) the dimensions of the price + # group + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String] + + # @!attribute dimensional_price_group_id + # The id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :dimensional_price_group_id, String, nil?: true + + # @!attribute external_dimensional_price_group_id + # The external id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :external_dimensional_price_group_id, String, nil?: true + + # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration} + # for more details. + # + # For dimensional price: specifies a price group and dimension values + # + # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro + # + # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in + # + # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk#invoicing_cycle_configuration + class InvoicingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # 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] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + end + + class TieredPackageWithMinimum < Orb::Internal::Type::BaseModel + # @!attribute cadence + # The cadence to bill for this price on. + # + # @return [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::Cadence] + required :cadence, + enum: -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::Cadence + } + + # @!attribute item_id + # The id of the item the price will be associated with. + # + # @return [String] + required :item_id, String + + # @!attribute model_type + # + # @return [Symbol, :tiered_package_with_minimum] + required :model_type, const: :tiered_package_with_minimum + + # @!attribute name + # The name of the price. + # + # @return [String] + required :name, String + + # @!attribute tiered_package_with_minimum_config + # + # @return [Hash{Symbol=>Object}] + required :tiered_package_with_minimum_config, + Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] + + # @!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::Internal::Type::Boolean, nil?: true + + # @!attribute billing_cycle_configuration + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @return [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration, nil] + optional :billing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::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 dimensional_price_configuration + # For dimensional price: specifies a price group and dimension values + # + # @return [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration, nil] + optional :dimensional_price_configuration, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration + }, + 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::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration, nil] + optional :invoicing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::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::Internal::Type::HashOf[String, nil?: true], nil?: true + + # @!method initialize(cadence:, item_id:, name:, tiered_package_with_minimum_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :tiered_package_with_minimum) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum} + # for more details. + # + # @param cadence [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::Cadence] The cadence to bill for this price on. + # + # @param item_id [String] The id of the item the price will be associated with. + # + # @param name [String] The name of the price. + # + # @param tiered_package_with_minimum_config [Hash{Symbol=>Object}] + # + # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b + # + # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi + # + # @param billing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # + # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. + # + # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr + # + # @param dimensional_price_configuration [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # + # @param external_price_id [String, nil] An alias for the price. + # + # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl + # + # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice + # + # @param invoicing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # + # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed + # + # @param model_type [Symbol, :tiered_package_with_minimum] + + # The cadence to bill for this price on. + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum#cadence + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + # @!method self.values + # @return [Array] + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum#billing_cycle_configuration + class BillingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @param duration [Integer] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum#dimensional_price_configuration + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # The list of dimension values matching (in order) the dimensions of the price + # group + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String] + + # @!attribute dimensional_price_group_id + # The id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :dimensional_price_group_id, String, nil?: true + + # @!attribute external_dimensional_price_group_id + # The external id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :external_dimensional_price_group_id, String, nil?: true + + # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration} + # for more details. + # + # For dimensional price: specifies a price group and dimension values + # + # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro + # + # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in + # + # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum#invoicing_cycle_configuration + class InvoicingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # 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] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + end + + class MatrixWithAllocation < Orb::Internal::Type::BaseModel + # @!attribute cadence + # The cadence to bill for this price on. + # + # @return [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::Cadence] + required :cadence, + enum: -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::Cadence + } + + # @!attribute item_id + # The id of the item the price will be associated with. + # + # @return [String] + required :item_id, String + + # @!attribute matrix_with_allocation_config + # + # @return [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig] + required :matrix_with_allocation_config, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig + } + + # @!attribute model_type + # + # @return [Symbol, :matrix_with_allocation] + required :model_type, const: :matrix_with_allocation + + # @!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::Internal::Type::Boolean, nil?: true + + # @!attribute billing_cycle_configuration + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @return [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration, nil] + optional :billing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::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 dimensional_price_configuration + # For dimensional price: specifies a price group and dimension values + # + # @return [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration, nil] + optional :dimensional_price_configuration, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration + }, + 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::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration, nil] + optional :invoicing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::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::Internal::Type::HashOf[String, nil?: true], nil?: true + + # @!method initialize(cadence:, item_id:, matrix_with_allocation_config:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :matrix_with_allocation) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation} + # for more details. + # + # @param cadence [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::Cadence] The cadence to bill for this price on. + # + # @param item_id [String] The id of the item the price will be associated with. + # + # @param matrix_with_allocation_config [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig] + # + # @param name [String] The name of the price. + # + # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b + # + # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi + # + # @param billing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # + # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. + # + # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr + # + # @param dimensional_price_configuration [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # + # @param external_price_id [String, nil] An alias for the price. + # + # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl + # + # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice + # + # @param invoicing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # + # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed + # + # @param model_type [Symbol, :matrix_with_allocation] + + # The cadence to bill for this price on. + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation#cadence + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + # @!method self.values + # @return [Array] + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation#matrix_with_allocation_config + class MatrixWithAllocationConfig < Orb::Internal::Type::BaseModel + # @!attribute allocation + # Allocation to be used to calculate the price + # + # @return [Float] + required :allocation, Float + + # @!attribute default_unit_amount + # Default per unit rate for any usage not bucketed into a specified matrix_value + # + # @return [String] + required :default_unit_amount, String + + # @!attribute dimensions + # One or two event property values to evaluate matrix groups by + # + # @return [Array] + required :dimensions, Orb::Internal::Type::ArrayOf[String, nil?: true] + + # @!attribute matrix_values + # Matrix values for specified matrix grouping keys + # + # @return [Array] + required :matrix_values, + -> do + Orb::Internal::Type::ArrayOf[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue + ] + end + + # @!method initialize(allocation:, default_unit_amount:, dimensions:, matrix_values:) + # @param allocation [Float] Allocation to be used to calculate the price + # + # @param default_unit_amount [String] Default per unit rate for any usage not bucketed into a specified matrix_value + # + # @param dimensions [Array] One or two event property values to evaluate matrix groups by + # + # @param matrix_values [Array] Matrix values for specified matrix grouping keys + + class MatrixValue < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # One or two matrix keys to filter usage to this Matrix value by. For example, + # ["region", "tier"] could be used to filter cloud usage by a cloud region and an + # instance tier. + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String, nil?: true] + + # @!attribute unit_amount + # Unit price for the specified dimension_values + # + # @return [String] + required :unit_amount, String + + # @!method initialize(dimension_values:, unit_amount:) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue} + # for more details. + # + # @param dimension_values [Array] One or two matrix keys to filter usage to this Matrix value by. For example, ["r + # + # @param unit_amount [String] Unit price for the specified dimension_values + end + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation#billing_cycle_configuration + class BillingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @param duration [Integer] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation#dimensional_price_configuration + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # The list of dimension values matching (in order) the dimensions of the price + # group + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String] + + # @!attribute dimensional_price_group_id + # The id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :dimensional_price_group_id, String, nil?: true + + # @!attribute external_dimensional_price_group_id + # The external id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :external_dimensional_price_group_id, String, nil?: true + + # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration} + # for more details. + # + # For dimensional price: specifies a price group and dimension values + # + # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro + # + # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in + # + # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation#invoicing_cycle_configuration + class InvoicingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # 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] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + end + + class GroupedTiered < Orb::Internal::Type::BaseModel + # @!attribute cadence + # The cadence to bill for this price on. + # + # @return [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::Cadence] + required :cadence, + enum: -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::Cadence + } + + # @!attribute grouped_tiered_config + # + # @return [Hash{Symbol=>Object}] + required :grouped_tiered_config, Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] + + # @!attribute item_id + # The id of the item the price will be associated with. + # + # @return [String] + required :item_id, String + + # @!attribute model_type + # + # @return [Symbol, :grouped_tiered] + required :model_type, const: :grouped_tiered + + # @!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::Internal::Type::Boolean, nil?: true + + # @!attribute billing_cycle_configuration + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @return [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration, nil] + optional :billing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::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 dimensional_price_configuration + # For dimensional price: specifies a price group and dimension values + # + # @return [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::DimensionalPriceConfiguration, nil] + optional :dimensional_price_configuration, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::DimensionalPriceConfiguration + }, + 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::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration, nil] + optional :invoicing_cycle_configuration, + -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::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::Internal::Type::HashOf[String, nil?: true], nil?: true + + # @!method initialize(cadence:, grouped_tiered_config:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :grouped_tiered) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered} + # for more details. + # + # @param cadence [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::Cadence] The cadence to bill for this price on. + # + # @param grouped_tiered_config [Hash{Symbol=>Object}] + # + # @param item_id [String] The id of the item the price will be associated with. + # + # @param name [String] The name of the price. + # + # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b + # + # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi + # + # @param billing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # + # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. + # + # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr + # + # @param dimensional_price_configuration [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # + # @param external_price_id [String, nil] An alias for the price. + # + # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl + # + # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice + # + # @param invoicing_cycle_configuration [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # + # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed + # + # @param model_type [Symbol, :grouped_tiered] + + # The cadence to bill for this price on. + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered#cadence + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + # @!method self.values + # @return [Array] + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered#billing_cycle_configuration + class BillingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @param duration [Integer] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered#dimensional_price_configuration + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # The list of dimension values matching (in order) the dimensions of the price + # group + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String] + + # @!attribute dimensional_price_group_id + # The id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :dimensional_price_group_id, String, nil?: true + + # @!attribute external_dimensional_price_group_id + # The external id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :external_dimensional_price_group_id, String, nil?: true + + # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) + # Some parameter documentations has been truncated, see + # {Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::DimensionalPriceConfiguration} + # for more details. + # + # For dimensional price: specifies a price group and dimension values + # + # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro + # + # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in + # + # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in + end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered#invoicing_cycle_configuration + class InvoicingCycleConfiguration < Orb::Internal::Type::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::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # 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] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + end + + # @!method self.variants + # @return [Array(Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Package, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered)] + end + end + end + end +end diff --git a/lib/orb/models/beta_fetch_plan_version_params.rb b/lib/orb/models/beta_fetch_plan_version_params.rb new file mode 100644 index 00000000..ee9d0042 --- /dev/null +++ b/lib/orb/models/beta_fetch_plan_version_params.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +module Orb + module Models + # @see Orb::Resources::Beta#fetch_plan_version + class BetaFetchPlanVersionParams < Orb::Internal::Type::BaseModel + extend Orb::Internal::Type::RequestParameters::Converter + include Orb::Internal::Type::RequestParameters + + # @!attribute plan_id + # + # @return [String] + required :plan_id, String + + # @!method initialize(plan_id:, request_options: {}) + # @param plan_id [String] + # @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}] + end + end +end diff --git a/lib/orb/models/plan_set_default_version_params.rb b/lib/orb/models/beta_set_default_plan_version_params.rb similarity index 80% rename from lib/orb/models/plan_set_default_version_params.rb rename to lib/orb/models/beta_set_default_plan_version_params.rb index 4deed4a1..2ec3d7e9 100644 --- a/lib/orb/models/plan_set_default_version_params.rb +++ b/lib/orb/models/beta_set_default_plan_version_params.rb @@ -2,8 +2,8 @@ module Orb module Models - # @see Orb::Resources::Plans#set_default_version - class PlanSetDefaultVersionParams < Orb::Internal::Type::BaseModel + # @see Orb::Resources::Beta#set_default_plan_version + class BetaSetDefaultPlanVersionParams < Orb::Internal::Type::BaseModel extend Orb::Internal::Type::RequestParameters::Converter include Orb::Internal::Type::RequestParameters diff --git a/lib/orb/models/plan_version.rb b/lib/orb/models/plan_version.rb new file mode 100644 index 00000000..3ebdc0d0 --- /dev/null +++ b/lib/orb/models/plan_version.rb @@ -0,0 +1,735 @@ +# frozen_string_literal: true + +module Orb + module Models + # @see Orb::Resources::Beta#create_plan_version + class PlanVersion < Orb::Internal::Type::BaseModel + # @!attribute adjustments + # Adjustments for this plan. If the plan has phases, this includes adjustments + # across all phases of the plan. + # + # @return [Array] + required :adjustments, -> { Orb::Internal::Type::ArrayOf[union: Orb::PlanVersion::Adjustment] } + + # @!attribute created_at + # + # @return [Time] + required :created_at, Time + + # @!attribute plan_phases + # + # @return [Array, nil] + required :plan_phases, -> { Orb::Internal::Type::ArrayOf[Orb::PlanVersionPhase] }, nil?: true + + # @!attribute prices + # Prices for this plan. If the plan has phases, this includes prices across all + # phases of the plan. + # + # @return [Array] + required :prices, -> { Orb::Internal::Type::ArrayOf[union: Orb::Price] } + + # @!attribute version + # + # @return [Integer] + required :version, Integer + + # @!method initialize(adjustments:, created_at:, plan_phases:, prices:, version:) + # Some parameter documentations has been truncated, see {Orb::Models::PlanVersion} + # for more details. + # + # The PlanVersion resource represents the prices and adjustments present on a + # specific version of a plan. + # + # @param adjustments [Array] Adjustments for this plan. If the plan has phases, this includes adjustments acr + # + # @param created_at [Time] + # + # @param plan_phases [Array, nil] + # + # @param prices [Array] Prices for this plan. If the plan has phases, this includes prices across all ph + # + # @param version [Integer] + + module Adjustment + extend Orb::Internal::Type::Union + + discriminator :adjustment_type + + variant :usage_discount, -> { Orb::PlanVersion::Adjustment::UsageDiscount } + + variant :amount_discount, -> { Orb::PlanVersion::Adjustment::AmountDiscount } + + variant :percentage_discount, -> { Orb::PlanVersion::Adjustment::PercentageDiscount } + + variant :minimum, -> { Orb::PlanVersion::Adjustment::Minimum } + + variant :maximum, -> { Orb::PlanVersion::Adjustment::Maximum } + + class UsageDiscount < Orb::Internal::Type::BaseModel + # @!attribute id + # + # @return [String] + required :id, String + + # @!attribute adjustment_type + # + # @return [Symbol, :usage_discount] + required :adjustment_type, const: :usage_discount + + # @!attribute applies_to_price_ids + # @deprecated + # + # The price IDs that this adjustment applies to. + # + # @return [Array] + required :applies_to_price_ids, Orb::Internal::Type::ArrayOf[String] + + # @!attribute filters + # The filters that determine which prices to apply this adjustment to. + # + # @return [Array] + required :filters, + -> { Orb::Internal::Type::ArrayOf[Orb::PlanVersion::Adjustment::UsageDiscount::Filter] } + + # @!attribute is_invoice_level + # True for adjustments that apply to an entire invocice, false for adjustments + # that apply to only one price. + # + # @return [Boolean] + required :is_invoice_level, Orb::Internal::Type::Boolean + + # @!attribute plan_phase_order + # The plan phase in which this adjustment is active. + # + # @return [Integer, nil] + required :plan_phase_order, Integer, nil?: true + + # @!attribute reason + # The reason for the adjustment. + # + # @return [String, nil] + required :reason, String, nil?: true + + # @!attribute usage_discount + # The number of usage units by which to discount the price this adjustment applies + # to in a given billing period. + # + # @return [Float] + required :usage_discount, Float + + # @!method initialize(id:, applies_to_price_ids:, filters:, is_invoice_level:, plan_phase_order:, reason:, usage_discount:, adjustment_type: :usage_discount) + # Some parameter documentations has been truncated, see + # {Orb::Models::PlanVersion::Adjustment::UsageDiscount} for more details. + # + # @param id [String] + # + # @param applies_to_price_ids [Array] The price IDs that this adjustment applies to. + # + # @param filters [Array] The filters that determine which prices to apply this adjustment to. + # + # @param is_invoice_level [Boolean] True for adjustments that apply to an entire invocice, false for adjustments tha + # + # @param plan_phase_order [Integer, nil] The plan phase in which this adjustment is active. + # + # @param reason [String, nil] The reason for the adjustment. + # + # @param usage_discount [Float] The number of usage units by which to discount the price this adjustment applies + # + # @param adjustment_type [Symbol, :usage_discount] + + class Filter < Orb::Internal::Type::BaseModel + # @!attribute field + # The property of the price to filter on. + # + # @return [Symbol, Orb::Models::PlanVersion::Adjustment::UsageDiscount::Filter::Field] + required :field, enum: -> { Orb::PlanVersion::Adjustment::UsageDiscount::Filter::Field } + + # @!attribute operator + # Should prices that match the filter be included or excluded. + # + # @return [Symbol, Orb::Models::PlanVersion::Adjustment::UsageDiscount::Filter::Operator] + required :operator, enum: -> { Orb::PlanVersion::Adjustment::UsageDiscount::Filter::Operator } + + # @!attribute values + # The IDs or values that match this filter. + # + # @return [Array] + required :values, Orb::Internal::Type::ArrayOf[String] + + # @!method initialize(field:, operator:, values:) + # @param field [Symbol, Orb::Models::PlanVersion::Adjustment::UsageDiscount::Filter::Field] The property of the price to filter on. + # + # @param operator [Symbol, Orb::Models::PlanVersion::Adjustment::UsageDiscount::Filter::Operator] Should prices that match the filter be included or excluded. + # + # @param values [Array] The IDs or values that match this filter. + + # The property of the price to filter on. + # + # @see Orb::Models::PlanVersion::Adjustment::UsageDiscount::Filter#field + module Field + extend Orb::Internal::Type::Enum + + PRICE_ID = :price_id + ITEM_ID = :item_id + PRICE_TYPE = :price_type + CURRENCY = :currency + PRICING_UNIT_ID = :pricing_unit_id + + # @!method self.values + # @return [Array] + end + + # Should prices that match the filter be included or excluded. + # + # @see Orb::Models::PlanVersion::Adjustment::UsageDiscount::Filter#operator + module Operator + extend Orb::Internal::Type::Enum + + INCLUDES = :includes + EXCLUDES = :excludes + + # @!method self.values + # @return [Array] + end + end + end + + class AmountDiscount < Orb::Internal::Type::BaseModel + # @!attribute id + # + # @return [String] + required :id, String + + # @!attribute adjustment_type + # + # @return [Symbol, :amount_discount] + required :adjustment_type, const: :amount_discount + + # @!attribute amount_discount + # The amount by which to discount the prices this adjustment applies to in a given + # billing period. + # + # @return [String] + required :amount_discount, String + + # @!attribute applies_to_price_ids + # @deprecated + # + # The price IDs that this adjustment applies to. + # + # @return [Array] + required :applies_to_price_ids, Orb::Internal::Type::ArrayOf[String] + + # @!attribute filters + # The filters that determine which prices to apply this adjustment to. + # + # @return [Array] + required :filters, + -> { Orb::Internal::Type::ArrayOf[Orb::PlanVersion::Adjustment::AmountDiscount::Filter] } + + # @!attribute is_invoice_level + # True for adjustments that apply to an entire invocice, false for adjustments + # that apply to only one price. + # + # @return [Boolean] + required :is_invoice_level, Orb::Internal::Type::Boolean + + # @!attribute plan_phase_order + # The plan phase in which this adjustment is active. + # + # @return [Integer, nil] + required :plan_phase_order, Integer, nil?: true + + # @!attribute reason + # The reason for the adjustment. + # + # @return [String, nil] + required :reason, String, nil?: true + + # @!method initialize(id:, amount_discount:, applies_to_price_ids:, filters:, is_invoice_level:, plan_phase_order:, reason:, adjustment_type: :amount_discount) + # Some parameter documentations has been truncated, see + # {Orb::Models::PlanVersion::Adjustment::AmountDiscount} for more details. + # + # @param id [String] + # + # @param amount_discount [String] The amount by which to discount the prices this adjustment applies to in a given + # + # @param applies_to_price_ids [Array] The price IDs that this adjustment applies to. + # + # @param filters [Array] The filters that determine which prices to apply this adjustment to. + # + # @param is_invoice_level [Boolean] True for adjustments that apply to an entire invocice, false for adjustments tha + # + # @param plan_phase_order [Integer, nil] The plan phase in which this adjustment is active. + # + # @param reason [String, nil] The reason for the adjustment. + # + # @param adjustment_type [Symbol, :amount_discount] + + class Filter < Orb::Internal::Type::BaseModel + # @!attribute field + # The property of the price to filter on. + # + # @return [Symbol, Orb::Models::PlanVersion::Adjustment::AmountDiscount::Filter::Field] + required :field, enum: -> { Orb::PlanVersion::Adjustment::AmountDiscount::Filter::Field } + + # @!attribute operator + # Should prices that match the filter be included or excluded. + # + # @return [Symbol, Orb::Models::PlanVersion::Adjustment::AmountDiscount::Filter::Operator] + required :operator, enum: -> { Orb::PlanVersion::Adjustment::AmountDiscount::Filter::Operator } + + # @!attribute values + # The IDs or values that match this filter. + # + # @return [Array] + required :values, Orb::Internal::Type::ArrayOf[String] + + # @!method initialize(field:, operator:, values:) + # @param field [Symbol, Orb::Models::PlanVersion::Adjustment::AmountDiscount::Filter::Field] The property of the price to filter on. + # + # @param operator [Symbol, Orb::Models::PlanVersion::Adjustment::AmountDiscount::Filter::Operator] Should prices that match the filter be included or excluded. + # + # @param values [Array] The IDs or values that match this filter. + + # The property of the price to filter on. + # + # @see Orb::Models::PlanVersion::Adjustment::AmountDiscount::Filter#field + module Field + extend Orb::Internal::Type::Enum + + PRICE_ID = :price_id + ITEM_ID = :item_id + PRICE_TYPE = :price_type + CURRENCY = :currency + PRICING_UNIT_ID = :pricing_unit_id + + # @!method self.values + # @return [Array] + end + + # Should prices that match the filter be included or excluded. + # + # @see Orb::Models::PlanVersion::Adjustment::AmountDiscount::Filter#operator + module Operator + extend Orb::Internal::Type::Enum + + INCLUDES = :includes + EXCLUDES = :excludes + + # @!method self.values + # @return [Array] + end + end + end + + class PercentageDiscount < Orb::Internal::Type::BaseModel + # @!attribute id + # + # @return [String] + required :id, String + + # @!attribute adjustment_type + # + # @return [Symbol, :percentage_discount] + required :adjustment_type, const: :percentage_discount + + # @!attribute applies_to_price_ids + # @deprecated + # + # The price IDs that this adjustment applies to. + # + # @return [Array] + required :applies_to_price_ids, Orb::Internal::Type::ArrayOf[String] + + # @!attribute filters + # The filters that determine which prices to apply this adjustment to. + # + # @return [Array] + required :filters, + -> { + Orb::Internal::Type::ArrayOf[Orb::PlanVersion::Adjustment::PercentageDiscount::Filter] + } + + # @!attribute is_invoice_level + # True for adjustments that apply to an entire invocice, false for adjustments + # that apply to only one price. + # + # @return [Boolean] + required :is_invoice_level, Orb::Internal::Type::Boolean + + # @!attribute percentage_discount + # The percentage (as a value between 0 and 1) by which to discount the price + # intervals this adjustment applies to in a given billing period. + # + # @return [Float] + required :percentage_discount, Float + + # @!attribute plan_phase_order + # The plan phase in which this adjustment is active. + # + # @return [Integer, nil] + required :plan_phase_order, Integer, nil?: true + + # @!attribute reason + # The reason for the adjustment. + # + # @return [String, nil] + required :reason, String, nil?: true + + # @!method initialize(id:, applies_to_price_ids:, filters:, is_invoice_level:, percentage_discount:, plan_phase_order:, reason:, adjustment_type: :percentage_discount) + # Some parameter documentations has been truncated, see + # {Orb::Models::PlanVersion::Adjustment::PercentageDiscount} for more details. + # + # @param id [String] + # + # @param applies_to_price_ids [Array] The price IDs that this adjustment applies to. + # + # @param filters [Array] The filters that determine which prices to apply this adjustment to. + # + # @param is_invoice_level [Boolean] True for adjustments that apply to an entire invocice, false for adjustments tha + # + # @param percentage_discount [Float] The percentage (as a value between 0 and 1) by which to discount the price inter + # + # @param plan_phase_order [Integer, nil] The plan phase in which this adjustment is active. + # + # @param reason [String, nil] The reason for the adjustment. + # + # @param adjustment_type [Symbol, :percentage_discount] + + class Filter < Orb::Internal::Type::BaseModel + # @!attribute field + # The property of the price to filter on. + # + # @return [Symbol, Orb::Models::PlanVersion::Adjustment::PercentageDiscount::Filter::Field] + required :field, enum: -> { Orb::PlanVersion::Adjustment::PercentageDiscount::Filter::Field } + + # @!attribute operator + # Should prices that match the filter be included or excluded. + # + # @return [Symbol, Orb::Models::PlanVersion::Adjustment::PercentageDiscount::Filter::Operator] + required :operator, + enum: -> { + Orb::PlanVersion::Adjustment::PercentageDiscount::Filter::Operator + } + + # @!attribute values + # The IDs or values that match this filter. + # + # @return [Array] + required :values, Orb::Internal::Type::ArrayOf[String] + + # @!method initialize(field:, operator:, values:) + # @param field [Symbol, Orb::Models::PlanVersion::Adjustment::PercentageDiscount::Filter::Field] The property of the price to filter on. + # + # @param operator [Symbol, Orb::Models::PlanVersion::Adjustment::PercentageDiscount::Filter::Operator] Should prices that match the filter be included or excluded. + # + # @param values [Array] The IDs or values that match this filter. + + # The property of the price to filter on. + # + # @see Orb::Models::PlanVersion::Adjustment::PercentageDiscount::Filter#field + module Field + extend Orb::Internal::Type::Enum + + PRICE_ID = :price_id + ITEM_ID = :item_id + PRICE_TYPE = :price_type + CURRENCY = :currency + PRICING_UNIT_ID = :pricing_unit_id + + # @!method self.values + # @return [Array] + end + + # Should prices that match the filter be included or excluded. + # + # @see Orb::Models::PlanVersion::Adjustment::PercentageDiscount::Filter#operator + module Operator + extend Orb::Internal::Type::Enum + + INCLUDES = :includes + EXCLUDES = :excludes + + # @!method self.values + # @return [Array] + end + end + end + + class Minimum < Orb::Internal::Type::BaseModel + # @!attribute id + # + # @return [String] + required :id, String + + # @!attribute adjustment_type + # + # @return [Symbol, :minimum] + required :adjustment_type, const: :minimum + + # @!attribute applies_to_price_ids + # @deprecated + # + # The price IDs that this adjustment applies to. + # + # @return [Array] + required :applies_to_price_ids, Orb::Internal::Type::ArrayOf[String] + + # @!attribute filters + # The filters that determine which prices to apply this adjustment to. + # + # @return [Array] + required :filters, + -> { + Orb::Internal::Type::ArrayOf[Orb::PlanVersion::Adjustment::Minimum::Filter] + } + + # @!attribute is_invoice_level + # True for adjustments that apply to an entire invocice, false for adjustments + # that apply to only one price. + # + # @return [Boolean] + required :is_invoice_level, Orb::Internal::Type::Boolean + + # @!attribute item_id + # The item ID that revenue from this minimum will be attributed to. + # + # @return [String] + required :item_id, String + + # @!attribute minimum_amount + # The minimum amount to charge in a given billing period for the prices this + # adjustment applies to. + # + # @return [String] + required :minimum_amount, String + + # @!attribute plan_phase_order + # The plan phase in which this adjustment is active. + # + # @return [Integer, nil] + required :plan_phase_order, Integer, nil?: true + + # @!attribute reason + # The reason for the adjustment. + # + # @return [String, nil] + required :reason, String, nil?: true + + # @!method initialize(id:, applies_to_price_ids:, filters:, is_invoice_level:, item_id:, minimum_amount:, plan_phase_order:, reason:, adjustment_type: :minimum) + # Some parameter documentations has been truncated, see + # {Orb::Models::PlanVersion::Adjustment::Minimum} for more details. + # + # @param id [String] + # + # @param applies_to_price_ids [Array] The price IDs that this adjustment applies to. + # + # @param filters [Array] The filters that determine which prices to apply this adjustment to. + # + # @param is_invoice_level [Boolean] True for adjustments that apply to an entire invocice, false for adjustments tha + # + # @param item_id [String] The item ID that revenue from this minimum will be attributed to. + # + # @param minimum_amount [String] The minimum amount to charge in a given billing period for the prices this adjus + # + # @param plan_phase_order [Integer, nil] The plan phase in which this adjustment is active. + # + # @param reason [String, nil] The reason for the adjustment. + # + # @param adjustment_type [Symbol, :minimum] + + class Filter < Orb::Internal::Type::BaseModel + # @!attribute field + # The property of the price to filter on. + # + # @return [Symbol, Orb::Models::PlanVersion::Adjustment::Minimum::Filter::Field] + required :field, enum: -> { Orb::PlanVersion::Adjustment::Minimum::Filter::Field } + + # @!attribute operator + # Should prices that match the filter be included or excluded. + # + # @return [Symbol, Orb::Models::PlanVersion::Adjustment::Minimum::Filter::Operator] + required :operator, enum: -> { Orb::PlanVersion::Adjustment::Minimum::Filter::Operator } + + # @!attribute values + # The IDs or values that match this filter. + # + # @return [Array] + required :values, Orb::Internal::Type::ArrayOf[String] + + # @!method initialize(field:, operator:, values:) + # @param field [Symbol, Orb::Models::PlanVersion::Adjustment::Minimum::Filter::Field] The property of the price to filter on. + # + # @param operator [Symbol, Orb::Models::PlanVersion::Adjustment::Minimum::Filter::Operator] Should prices that match the filter be included or excluded. + # + # @param values [Array] The IDs or values that match this filter. + + # The property of the price to filter on. + # + # @see Orb::Models::PlanVersion::Adjustment::Minimum::Filter#field + module Field + extend Orb::Internal::Type::Enum + + PRICE_ID = :price_id + ITEM_ID = :item_id + PRICE_TYPE = :price_type + CURRENCY = :currency + PRICING_UNIT_ID = :pricing_unit_id + + # @!method self.values + # @return [Array] + end + + # Should prices that match the filter be included or excluded. + # + # @see Orb::Models::PlanVersion::Adjustment::Minimum::Filter#operator + module Operator + extend Orb::Internal::Type::Enum + + INCLUDES = :includes + EXCLUDES = :excludes + + # @!method self.values + # @return [Array] + end + end + end + + class Maximum < Orb::Internal::Type::BaseModel + # @!attribute id + # + # @return [String] + required :id, String + + # @!attribute adjustment_type + # + # @return [Symbol, :maximum] + required :adjustment_type, const: :maximum + + # @!attribute applies_to_price_ids + # @deprecated + # + # The price IDs that this adjustment applies to. + # + # @return [Array] + required :applies_to_price_ids, Orb::Internal::Type::ArrayOf[String] + + # @!attribute filters + # The filters that determine which prices to apply this adjustment to. + # + # @return [Array] + required :filters, + -> { + Orb::Internal::Type::ArrayOf[Orb::PlanVersion::Adjustment::Maximum::Filter] + } + + # @!attribute is_invoice_level + # True for adjustments that apply to an entire invocice, false for adjustments + # that apply to only one price. + # + # @return [Boolean] + required :is_invoice_level, Orb::Internal::Type::Boolean + + # @!attribute maximum_amount + # The maximum amount to charge in a given billing period for the prices this + # adjustment applies to. + # + # @return [String] + required :maximum_amount, String + + # @!attribute plan_phase_order + # The plan phase in which this adjustment is active. + # + # @return [Integer, nil] + required :plan_phase_order, Integer, nil?: true + + # @!attribute reason + # The reason for the adjustment. + # + # @return [String, nil] + required :reason, String, nil?: true + + # @!method initialize(id:, applies_to_price_ids:, filters:, is_invoice_level:, maximum_amount:, plan_phase_order:, reason:, adjustment_type: :maximum) + # Some parameter documentations has been truncated, see + # {Orb::Models::PlanVersion::Adjustment::Maximum} for more details. + # + # @param id [String] + # + # @param applies_to_price_ids [Array] The price IDs that this adjustment applies to. + # + # @param filters [Array] The filters that determine which prices to apply this adjustment to. + # + # @param is_invoice_level [Boolean] True for adjustments that apply to an entire invocice, false for adjustments tha + # + # @param maximum_amount [String] The maximum amount to charge in a given billing period for the prices this adjus + # + # @param plan_phase_order [Integer, nil] The plan phase in which this adjustment is active. + # + # @param reason [String, nil] The reason for the adjustment. + # + # @param adjustment_type [Symbol, :maximum] + + class Filter < Orb::Internal::Type::BaseModel + # @!attribute field + # The property of the price to filter on. + # + # @return [Symbol, Orb::Models::PlanVersion::Adjustment::Maximum::Filter::Field] + required :field, enum: -> { Orb::PlanVersion::Adjustment::Maximum::Filter::Field } + + # @!attribute operator + # Should prices that match the filter be included or excluded. + # + # @return [Symbol, Orb::Models::PlanVersion::Adjustment::Maximum::Filter::Operator] + required :operator, enum: -> { Orb::PlanVersion::Adjustment::Maximum::Filter::Operator } + + # @!attribute values + # The IDs or values that match this filter. + # + # @return [Array] + required :values, Orb::Internal::Type::ArrayOf[String] + + # @!method initialize(field:, operator:, values:) + # @param field [Symbol, Orb::Models::PlanVersion::Adjustment::Maximum::Filter::Field] The property of the price to filter on. + # + # @param operator [Symbol, Orb::Models::PlanVersion::Adjustment::Maximum::Filter::Operator] Should prices that match the filter be included or excluded. + # + # @param values [Array] The IDs or values that match this filter. + + # The property of the price to filter on. + # + # @see Orb::Models::PlanVersion::Adjustment::Maximum::Filter#field + module Field + extend Orb::Internal::Type::Enum + + PRICE_ID = :price_id + ITEM_ID = :item_id + PRICE_TYPE = :price_type + CURRENCY = :currency + PRICING_UNIT_ID = :pricing_unit_id + + # @!method self.values + # @return [Array] + end + + # Should prices that match the filter be included or excluded. + # + # @see Orb::Models::PlanVersion::Adjustment::Maximum::Filter#operator + module Operator + extend Orb::Internal::Type::Enum + + INCLUDES = :includes + EXCLUDES = :excludes + + # @!method self.values + # @return [Array] + end + end + end + + # @!method self.variants + # @return [Array(Orb::Models::PlanVersion::Adjustment::UsageDiscount, Orb::Models::PlanVersion::Adjustment::AmountDiscount, Orb::Models::PlanVersion::Adjustment::PercentageDiscount, Orb::Models::PlanVersion::Adjustment::Minimum, Orb::Models::PlanVersion::Adjustment::Maximum)] + end + end + end +end diff --git a/lib/orb/models/plan_version_phase.rb b/lib/orb/models/plan_version_phase.rb new file mode 100644 index 00000000..59a92d6f --- /dev/null +++ b/lib/orb/models/plan_version_phase.rb @@ -0,0 +1,70 @@ +# frozen_string_literal: true + +module Orb + module Models + class PlanVersionPhase < Orb::Internal::Type::BaseModel + # @!attribute id + # + # @return [String] + required :id, String + + # @!attribute description + # + # @return [String, nil] + required :description, String, nil?: true + + # @!attribute duration + # How many terms of length `duration_unit` this phase is active for. If null, this + # phase is evergreen and active indefinitely + # + # @return [Integer, nil] + required :duration, Integer, nil?: true + + # @!attribute duration_unit + # + # @return [Symbol, Orb::Models::PlanVersionPhase::DurationUnit, nil] + required :duration_unit, enum: -> { Orb::PlanVersionPhase::DurationUnit }, nil?: true + + # @!attribute name + # + # @return [String] + required :name, String + + # @!attribute order + # Determines the ordering of the phase in a plan's lifecycle. 1 = first phase. + # + # @return [Integer] + required :order, Integer + + # @!method initialize(id:, description:, duration:, duration_unit:, name:, order:) + # Some parameter documentations has been truncated, see + # {Orb::Models::PlanVersionPhase} for more details. + # + # @param id [String] + # + # @param description [String, nil] + # + # @param duration [Integer, nil] How many terms of length `duration_unit` this phase is active for. If null, this + # + # @param duration_unit [Symbol, Orb::Models::PlanVersionPhase::DurationUnit, nil] + # + # @param name [String] + # + # @param order [Integer] Determines the ordering of the phase in a plan's lifecycle. 1 = first phase. + + # @see Orb::Models::PlanVersionPhase#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAILY = :daily + MONTHLY = :monthly + QUARTERLY = :quarterly + SEMI_ANNUAL = :semi_annual + ANNUAL = :annual + + # @!method self.values + # @return [Array] + end + end + end +end diff --git a/lib/orb/models/plans/external_plan_id/version_create_params.rb b/lib/orb/models/plans/external_plan_id/version_create_params.rb deleted file mode 100644 index 572d0ac4..00000000 --- a/lib/orb/models/plans/external_plan_id/version_create_params.rb +++ /dev/null @@ -1,17948 +0,0 @@ -# frozen_string_literal: true - -module Orb - module Models - module Plans - module ExternalPlanID - # @see Orb::Resources::Plans::ExternalPlanID::Versions#create - class VersionCreateParams < Orb::Internal::Type::BaseModel - extend Orb::Internal::Type::RequestParameters::Converter - include Orb::Internal::Type::RequestParameters - - # @!attribute version - # New version number. - # - # @return [Integer] - required :version, Integer - - # @!attribute add_adjustments - # Additional adjustments to be added to the plan. - # - # @return [Array, nil] - optional :add_adjustments, - -> { - Orb::Internal::Type::ArrayOf[Orb::Plans::ExternalPlanID::VersionCreateParams::AddAdjustment] - }, - nil?: true - - # @!attribute add_prices - # Additional prices to be added to the plan. - # - # @return [Array, nil] - optional :add_prices, - -> { - Orb::Internal::Type::ArrayOf[Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice] - }, - nil?: true - - # @!attribute remove_adjustments - # Adjustments to be removed from the plan. - # - # @return [Array, nil] - optional :remove_adjustments, - -> { - Orb::Internal::Type::ArrayOf[Orb::Plans::ExternalPlanID::VersionCreateParams::RemoveAdjustment] - }, - nil?: true - - # @!attribute remove_prices - # Prices to be removed from the plan. - # - # @return [Array, nil] - optional :remove_prices, - -> { - Orb::Internal::Type::ArrayOf[Orb::Plans::ExternalPlanID::VersionCreateParams::RemovePrice] - }, - nil?: true - - # @!attribute replace_adjustments - # Adjustments to be replaced with additional adjustments on the plan. - # - # @return [Array, nil] - optional :replace_adjustments, - -> { - Orb::Internal::Type::ArrayOf[Orb::Plans::ExternalPlanID::VersionCreateParams::ReplaceAdjustment] - }, - nil?: true - - # @!attribute replace_prices - # Prices to be replaced with additional prices on the plan. - # - # @return [Array, nil] - optional :replace_prices, - -> { - Orb::Internal::Type::ArrayOf[Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice] - }, - nil?: true - - # @!attribute set_as_default - # Set this new plan version as the default - # - # @return [Boolean, nil] - optional :set_as_default, Orb::Internal::Type::Boolean, nil?: true - - # @!method initialize(version:, add_adjustments: nil, add_prices: nil, remove_adjustments: nil, remove_prices: nil, replace_adjustments: nil, replace_prices: nil, set_as_default: nil, request_options: {}) - # @param version [Integer] New version number. - # - # @param add_adjustments [Array, nil] Additional adjustments to be added to the plan. - # - # @param add_prices [Array, nil] Additional prices to be added to the plan. - # - # @param remove_adjustments [Array, nil] Adjustments to be removed from the plan. - # - # @param remove_prices [Array, nil] Prices to be removed from the plan. - # - # @param replace_adjustments [Array, nil] Adjustments to be replaced with additional adjustments on the plan. - # - # @param replace_prices [Array, nil] Prices to be replaced with additional prices on the plan. - # - # @param set_as_default [Boolean, nil] Set this new plan version as the default - # - # @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}] - - class AddAdjustment < Orb::Internal::Type::BaseModel - # @!attribute adjustment - # The definition of a new adjustment to create and add to the plan. - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddAdjustment::Adjustment::PercentageDiscount, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddAdjustment::Adjustment::UsageDiscount, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddAdjustment::Adjustment::AmountDiscount, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddAdjustment::Adjustment::Minimum, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddAdjustment::Adjustment::Maximum] - required :adjustment, - union: -> { Orb::Plans::ExternalPlanID::VersionCreateParams::AddAdjustment::Adjustment } - - # @!attribute plan_phase_order - # The phase to add this adjustment to. - # - # @return [Integer, nil] - optional :plan_phase_order, Integer, nil?: true - - # @!method initialize(adjustment:, plan_phase_order: nil) - # @param adjustment [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddAdjustment::Adjustment::PercentageDiscount, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddAdjustment::Adjustment::UsageDiscount, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddAdjustment::Adjustment::AmountDiscount, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddAdjustment::Adjustment::Minimum, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddAdjustment::Adjustment::Maximum] The definition of a new adjustment to create and add to the plan. - # - # @param plan_phase_order [Integer, nil] The phase to add this adjustment to. - - # The definition of a new adjustment to create and add to the plan. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddAdjustment#adjustment - module Adjustment - extend Orb::Internal::Type::Union - - discriminator :adjustment_type - - variant :percentage_discount, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddAdjustment::Adjustment::PercentageDiscount - } - - variant :usage_discount, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddAdjustment::Adjustment::UsageDiscount - } - - variant :amount_discount, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddAdjustment::Adjustment::AmountDiscount - } - - variant :minimum, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddAdjustment::Adjustment::Minimum - } - - variant :maximum, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddAdjustment::Adjustment::Maximum - } - - class PercentageDiscount < Orb::Internal::Type::BaseModel - # @!attribute adjustment_type - # - # @return [Symbol, :percentage_discount] - required :adjustment_type, const: :percentage_discount - - # @!attribute percentage_discount - # - # @return [Float] - required :percentage_discount, Float - - # @!attribute applies_to_price_ids - # The set of price IDs to which this adjustment applies. - # - # @return [Array, nil] - optional :applies_to_price_ids, Orb::Internal::Type::ArrayOf[String], nil?: true - - # @!attribute is_invoice_level - # When false, this adjustment will be applied to a single price. Otherwise, it - # will be applied at the invoice level, possibly to multiple prices. - # - # @return [Boolean, nil] - optional :is_invoice_level, Orb::Internal::Type::Boolean - - # @!method initialize(percentage_discount:, applies_to_price_ids: nil, is_invoice_level: nil, adjustment_type: :percentage_discount) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddAdjustment::Adjustment::PercentageDiscount} - # for more details. - # - # @param percentage_discount [Float] - # - # @param applies_to_price_ids [Array, nil] The set of price IDs to which this adjustment applies. - # - # @param is_invoice_level [Boolean] When false, this adjustment will be applied to a single price. Otherwise, it wil - # - # @param adjustment_type [Symbol, :percentage_discount] - end - - class UsageDiscount < Orb::Internal::Type::BaseModel - # @!attribute adjustment_type - # - # @return [Symbol, :usage_discount] - required :adjustment_type, const: :usage_discount - - # @!attribute usage_discount - # - # @return [Float] - required :usage_discount, Float - - # @!attribute applies_to_price_ids - # The set of price IDs to which this adjustment applies. - # - # @return [Array, nil] - optional :applies_to_price_ids, Orb::Internal::Type::ArrayOf[String], nil?: true - - # @!attribute is_invoice_level - # When false, this adjustment will be applied to a single price. Otherwise, it - # will be applied at the invoice level, possibly to multiple prices. - # - # @return [Boolean, nil] - optional :is_invoice_level, Orb::Internal::Type::Boolean - - # @!method initialize(usage_discount:, applies_to_price_ids: nil, is_invoice_level: nil, adjustment_type: :usage_discount) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddAdjustment::Adjustment::UsageDiscount} - # for more details. - # - # @param usage_discount [Float] - # - # @param applies_to_price_ids [Array, nil] The set of price IDs to which this adjustment applies. - # - # @param is_invoice_level [Boolean] When false, this adjustment will be applied to a single price. Otherwise, it wil - # - # @param adjustment_type [Symbol, :usage_discount] - end - - class AmountDiscount < Orb::Internal::Type::BaseModel - # @!attribute adjustment_type - # - # @return [Symbol, :amount_discount] - required :adjustment_type, const: :amount_discount - - # @!attribute amount_discount - # - # @return [String] - required :amount_discount, String - - # @!attribute applies_to_price_ids - # The set of price IDs to which this adjustment applies. - # - # @return [Array, nil] - optional :applies_to_price_ids, Orb::Internal::Type::ArrayOf[String], nil?: true - - # @!attribute is_invoice_level - # When false, this adjustment will be applied to a single price. Otherwise, it - # will be applied at the invoice level, possibly to multiple prices. - # - # @return [Boolean, nil] - optional :is_invoice_level, Orb::Internal::Type::Boolean - - # @!method initialize(amount_discount:, applies_to_price_ids: nil, is_invoice_level: nil, adjustment_type: :amount_discount) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddAdjustment::Adjustment::AmountDiscount} - # for more details. - # - # @param amount_discount [String] - # - # @param applies_to_price_ids [Array, nil] The set of price IDs to which this adjustment applies. - # - # @param is_invoice_level [Boolean] When false, this adjustment will be applied to a single price. Otherwise, it wil - # - # @param adjustment_type [Symbol, :amount_discount] - end - - class Minimum < Orb::Internal::Type::BaseModel - # @!attribute adjustment_type - # - # @return [Symbol, :minimum] - required :adjustment_type, const: :minimum - - # @!attribute item_id - # The item ID that revenue from this minimum will be attributed to. - # - # @return [String] - required :item_id, String - - # @!attribute minimum_amount - # - # @return [String] - required :minimum_amount, String - - # @!attribute applies_to_price_ids - # The set of price IDs to which this adjustment applies. - # - # @return [Array, nil] - optional :applies_to_price_ids, Orb::Internal::Type::ArrayOf[String], nil?: true - - # @!attribute is_invoice_level - # When false, this adjustment will be applied to a single price. Otherwise, it - # will be applied at the invoice level, possibly to multiple prices. - # - # @return [Boolean, nil] - optional :is_invoice_level, Orb::Internal::Type::Boolean - - # @!method initialize(item_id:, minimum_amount:, applies_to_price_ids: nil, is_invoice_level: nil, adjustment_type: :minimum) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddAdjustment::Adjustment::Minimum} - # for more details. - # - # @param item_id [String] The item ID that revenue from this minimum will be attributed to. - # - # @param minimum_amount [String] - # - # @param applies_to_price_ids [Array, nil] The set of price IDs to which this adjustment applies. - # - # @param is_invoice_level [Boolean] When false, this adjustment will be applied to a single price. Otherwise, it wil - # - # @param adjustment_type [Symbol, :minimum] - end - - class Maximum < Orb::Internal::Type::BaseModel - # @!attribute adjustment_type - # - # @return [Symbol, :maximum] - required :adjustment_type, const: :maximum - - # @!attribute maximum_amount - # - # @return [String] - required :maximum_amount, String - - # @!attribute applies_to_price_ids - # The set of price IDs to which this adjustment applies. - # - # @return [Array, nil] - optional :applies_to_price_ids, Orb::Internal::Type::ArrayOf[String], nil?: true - - # @!attribute is_invoice_level - # When false, this adjustment will be applied to a single price. Otherwise, it - # will be applied at the invoice level, possibly to multiple prices. - # - # @return [Boolean, nil] - optional :is_invoice_level, Orb::Internal::Type::Boolean - - # @!method initialize(maximum_amount:, applies_to_price_ids: nil, is_invoice_level: nil, adjustment_type: :maximum) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddAdjustment::Adjustment::Maximum} - # for more details. - # - # @param maximum_amount [String] - # - # @param applies_to_price_ids [Array, nil] The set of price IDs to which this adjustment applies. - # - # @param is_invoice_level [Boolean] When false, this adjustment will be applied to a single price. Otherwise, it wil - # - # @param adjustment_type [Symbol, :maximum] - end - - # @!method self.variants - # @return [Array(Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddAdjustment::Adjustment::PercentageDiscount, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddAdjustment::Adjustment::UsageDiscount, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddAdjustment::Adjustment::AmountDiscount, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddAdjustment::Adjustment::Minimum, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddAdjustment::Adjustment::Maximum)] - end - end - - class AddPrice < Orb::Internal::Type::BaseModel - # @!attribute allocation_price - # The allocation price to add to the plan. - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::AllocationPrice, nil] - optional :allocation_price, - -> { Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::AllocationPrice }, - nil?: true - - # @!attribute plan_phase_order - # The phase to add this price to. - # - # @return [Integer, nil] - optional :plan_phase_order, Integer, nil?: true - - # @!attribute price - # The price to add to the plan - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered, nil] - optional :price, - union: -> { Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price }, - nil?: true - - # @!method initialize(allocation_price: nil, plan_phase_order: nil, price: nil) - # @param allocation_price [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::AllocationPrice, nil] The allocation price to add to the plan. - # - # @param plan_phase_order [Integer, nil] The phase to add this price to. - # - # @param price [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered, nil] The price to add to the plan - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice#allocation_price - class AllocationPrice < Orb::Internal::Type::BaseModel - # @!attribute amount - # An amount of the currency to allocate to the customer at the specified cadence. - # - # @return [String] - required :amount, String - - # @!attribute cadence - # The cadence at which to allocate the amount to the customer. - # - # @return [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::AllocationPrice::Cadence] - required :cadence, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::AllocationPrice::Cadence - } - - # @!attribute currency - # An ISO 4217 currency string or a custom pricing unit identifier in which to bill - # this price. - # - # @return [String] - required :currency, String - - # @!attribute expires_at_end_of_cadence - # Whether the allocated amount should expire at the end of the cadence or roll - # over to the next period. - # - # @return [Boolean] - required :expires_at_end_of_cadence, Orb::Internal::Type::Boolean - - # @!method initialize(amount:, cadence:, currency:, expires_at_end_of_cadence:) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::AllocationPrice} - # for more details. - # - # The allocation price to add to the plan. - # - # @param amount [String] An amount of the currency to allocate to the customer at the specified cadence. - # - # @param cadence [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::AllocationPrice::Cadence] The cadence at which to allocate the amount to the customer. - # - # @param currency [String] An ISO 4217 currency string or a custom pricing unit identifier in which to bill - # - # @param expires_at_end_of_cadence [Boolean] Whether the allocated amount should expire at the end of the cadence or roll ove - - # The cadence at which to allocate the amount to the customer. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::AllocationPrice#cadence - module Cadence - extend Orb::Internal::Type::Enum - - ONE_TIME = :one_time - MONTHLY = :monthly - QUARTERLY = :quarterly - SEMI_ANNUAL = :semi_annual - ANNUAL = :annual - CUSTOM = :custom - - # @!method self.values - # @return [Array] - end - end - - # The price to add to the plan - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice#price - module Price - extend Orb::Internal::Type::Union - - discriminator :model_type - - variant :unit, -> { Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit } - - variant :package, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package - } - - variant :matrix, -> { Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix } - - variant :tiered, -> { Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered } - - variant :tiered_bps, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps - } - - variant :bps, -> { Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps } - - variant :bulk_bps, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps - } - - variant :bulk, -> { Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk } - - variant :threshold_total_amount, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount - } - - variant :tiered_package, - -> { Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage } - - variant :tiered_with_minimum, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum - } - - variant :unit_with_percent, - -> { Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent } - - variant :package_with_allocation, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation - } - - variant :tiered_with_proration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration - } - - variant :unit_with_proration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration - } - - variant :grouped_allocation, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation - } - - variant :grouped_with_prorated_minimum, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum - } - - variant :grouped_with_metered_minimum, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum - } - - variant :matrix_with_display_name, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName - } - - variant :bulk_with_proration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration - } - - variant :grouped_tiered_package, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage - } - - variant :max_group_tiered_package, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage - } - - variant :scalable_matrix_with_unit_pricing, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing - } - - variant :scalable_matrix_with_tiered_pricing, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing - } - - variant :cumulative_grouped_bulk, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk - } - - variant :tiered_package_with_minimum, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum - } - - variant :matrix_with_allocation, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation - } - - variant :grouped_tiered, - -> { Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered } - - class Unit < Orb::Internal::Type::BaseModel - # @!attribute cadence - # The cadence to bill for this price on. - # - # @return [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::Cadence] - required :cadence, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::Cadence - } - - # @!attribute item_id - # The id of the item the price will be associated with. - # - # @return [String] - required :item_id, String - - # @!attribute model_type - # - # @return [Symbol, :unit] - required :model_type, const: :unit - - # @!attribute name - # The name of the price. - # - # @return [String] - required :name, String - - # @!attribute unit_config - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::UnitConfig] - required :unit_config, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::UnitConfig - } - - # @!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::Internal::Type::Boolean, nil?: true - - # @!attribute billing_cycle_configuration - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::BillingCycleConfiguration, nil] - optional :billing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::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 dimensional_price_configuration - # For dimensional price: specifies a price group and dimension values - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::DimensionalPriceConfiguration, nil] - optional :dimensional_price_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::DimensionalPriceConfiguration - }, - 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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::InvoicingCycleConfiguration, nil] - optional :invoicing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::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::Internal::Type::HashOf[String, nil?: true], nil?: true - - # @!method initialize(cadence:, item_id:, name:, unit_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :unit) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit} - # for more details. - # - # @param cadence [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::Cadence] The cadence to bill for this price on. - # - # @param item_id [String] The id of the item the price will be associated with. - # - # @param name [String] The name of the price. - # - # @param unit_config [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::UnitConfig] - # - # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b - # - # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi - # - # @param billing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont - # - # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. - # - # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr - # - # @param dimensional_price_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values - # - # @param external_price_id [String, nil] An alias for the price. - # - # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl - # - # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice - # - # @param invoicing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. - # - # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed - # - # @param model_type [Symbol, :unit] - - # The cadence to bill for this price on. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit#cadence - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL = :annual - SEMI_ANNUAL = :semi_annual - MONTHLY = :monthly - QUARTERLY = :quarterly - ONE_TIME = :one_time - CUSTOM = :custom - - # @!method self.values - # @return [Array] - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit#unit_config - class UnitConfig < Orb::Internal::Type::BaseModel - # @!attribute unit_amount - # Rate per unit of usage - # - # @return [String] - required :unit_amount, String - - # @!method initialize(unit_amount:) - # @param unit_amount [String] Rate per unit of usage - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit#billing_cycle_configuration - class BillingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::BillingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::BillingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @param duration [Integer] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::BillingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit#dimensional_price_configuration - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # The list of dimension values matching (in order) the dimensions of the price - # group - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String] - - # @!attribute dimensional_price_group_id - # The id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :dimensional_price_group_id, String, nil?: true - - # @!attribute external_dimensional_price_group_id - # The external id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :external_dimensional_price_group_id, String, nil?: true - - # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::DimensionalPriceConfiguration} - # for more details. - # - # For dimensional price: specifies a price group and dimension values - # - # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro - # - # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in - # - # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit#invoicing_cycle_configuration - class InvoicingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::InvoicingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::InvoicingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # 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] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::InvoicingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - end - - class Package < Orb::Internal::Type::BaseModel - # @!attribute cadence - # The cadence to bill for this price on. - # - # @return [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::Cadence] - required :cadence, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::Cadence - } - - # @!attribute item_id - # The id of the item the price will be associated with. - # - # @return [String] - required :item_id, String - - # @!attribute model_type - # - # @return [Symbol, :package] - required :model_type, const: :package - - # @!attribute name - # The name of the price. - # - # @return [String] - required :name, String - - # @!attribute package_config - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::PackageConfig] - required :package_config, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::PackageConfig - } - - # @!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::Internal::Type::Boolean, nil?: true - - # @!attribute billing_cycle_configuration - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::BillingCycleConfiguration, nil] - optional :billing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::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 dimensional_price_configuration - # For dimensional price: specifies a price group and dimension values - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::DimensionalPriceConfiguration, nil] - optional :dimensional_price_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::DimensionalPriceConfiguration - }, - 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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::InvoicingCycleConfiguration, nil] - optional :invoicing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::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::Internal::Type::HashOf[String, nil?: true], nil?: true - - # @!method initialize(cadence:, item_id:, name:, package_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :package) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package} - # for more details. - # - # @param cadence [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::Cadence] The cadence to bill for this price on. - # - # @param item_id [String] The id of the item the price will be associated with. - # - # @param name [String] The name of the price. - # - # @param package_config [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::PackageConfig] - # - # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b - # - # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi - # - # @param billing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont - # - # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. - # - # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr - # - # @param dimensional_price_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values - # - # @param external_price_id [String, nil] An alias for the price. - # - # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl - # - # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice - # - # @param invoicing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. - # - # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed - # - # @param model_type [Symbol, :package] - - # The cadence to bill for this price on. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package#cadence - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL = :annual - SEMI_ANNUAL = :semi_annual - MONTHLY = :monthly - QUARTERLY = :quarterly - ONE_TIME = :one_time - CUSTOM = :custom - - # @!method self.values - # @return [Array] - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package#package_config - class PackageConfig < Orb::Internal::Type::BaseModel - # @!attribute package_amount - # A currency amount to rate usage by - # - # @return [String] - required :package_amount, String - - # @!attribute package_size - # An integer amount to represent package size. For example, 1000 here would divide - # usage by 1000 before multiplying by package_amount in rating - # - # @return [Integer] - required :package_size, Integer - - # @!method initialize(package_amount:, package_size:) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::PackageConfig} - # for more details. - # - # @param package_amount [String] A currency amount to rate usage by - # - # @param package_size [Integer] An integer amount to represent package size. For example, 1000 here would divide - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package#billing_cycle_configuration - class BillingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::BillingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::BillingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @param duration [Integer] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::BillingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package#dimensional_price_configuration - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # The list of dimension values matching (in order) the dimensions of the price - # group - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String] - - # @!attribute dimensional_price_group_id - # The id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :dimensional_price_group_id, String, nil?: true - - # @!attribute external_dimensional_price_group_id - # The external id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :external_dimensional_price_group_id, String, nil?: true - - # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::DimensionalPriceConfiguration} - # for more details. - # - # For dimensional price: specifies a price group and dimension values - # - # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro - # - # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in - # - # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package#invoicing_cycle_configuration - class InvoicingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::InvoicingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::InvoicingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # 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] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::InvoicingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - end - - class Matrix < Orb::Internal::Type::BaseModel - # @!attribute cadence - # The cadence to bill for this price on. - # - # @return [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::Cadence] - required :cadence, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::Cadence - } - - # @!attribute item_id - # The id of the item the price will be associated with. - # - # @return [String] - required :item_id, String - - # @!attribute matrix_config - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::MatrixConfig] - required :matrix_config, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::MatrixConfig - } - - # @!attribute model_type - # - # @return [Symbol, :matrix] - required :model_type, const: :matrix - - # @!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::Internal::Type::Boolean, nil?: true - - # @!attribute billing_cycle_configuration - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::BillingCycleConfiguration, nil] - optional :billing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::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 dimensional_price_configuration - # For dimensional price: specifies a price group and dimension values - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::DimensionalPriceConfiguration, nil] - optional :dimensional_price_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::DimensionalPriceConfiguration - }, - 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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration, nil] - optional :invoicing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::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::Internal::Type::HashOf[String, nil?: true], nil?: true - - # @!method initialize(cadence:, item_id:, matrix_config:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :matrix) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix} - # for more details. - # - # @param cadence [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::Cadence] The cadence to bill for this price on. - # - # @param item_id [String] The id of the item the price will be associated with. - # - # @param matrix_config [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::MatrixConfig] - # - # @param name [String] The name of the price. - # - # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b - # - # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi - # - # @param billing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont - # - # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. - # - # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr - # - # @param dimensional_price_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values - # - # @param external_price_id [String, nil] An alias for the price. - # - # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl - # - # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice - # - # @param invoicing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. - # - # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed - # - # @param model_type [Symbol, :matrix] - - # The cadence to bill for this price on. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix#cadence - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL = :annual - SEMI_ANNUAL = :semi_annual - MONTHLY = :monthly - QUARTERLY = :quarterly - ONE_TIME = :one_time - CUSTOM = :custom - - # @!method self.values - # @return [Array] - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix#matrix_config - class MatrixConfig < Orb::Internal::Type::BaseModel - # @!attribute default_unit_amount - # Default per unit rate for any usage not bucketed into a specified matrix_value - # - # @return [String] - required :default_unit_amount, String - - # @!attribute dimensions - # One or two event property values to evaluate matrix groups by - # - # @return [Array] - required :dimensions, Orb::Internal::Type::ArrayOf[String, nil?: true] - - # @!attribute matrix_values - # Matrix values for specified matrix grouping keys - # - # @return [Array] - required :matrix_values, - -> { - Orb::Internal::Type::ArrayOf[Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::MatrixConfig::MatrixValue] - } - - # @!method initialize(default_unit_amount:, dimensions:, matrix_values:) - # @param default_unit_amount [String] Default per unit rate for any usage not bucketed into a specified matrix_value - # - # @param dimensions [Array] One or two event property values to evaluate matrix groups by - # - # @param matrix_values [Array] Matrix values for specified matrix grouping keys - - class MatrixValue < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # One or two matrix keys to filter usage to this Matrix value by. For example, - # ["region", "tier"] could be used to filter cloud usage by a cloud region and an - # instance tier. - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String, nil?: true] - - # @!attribute unit_amount - # Unit price for the specified dimension_values - # - # @return [String] - required :unit_amount, String - - # @!method initialize(dimension_values:, unit_amount:) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::MatrixConfig::MatrixValue} - # for more details. - # - # @param dimension_values [Array] One or two matrix keys to filter usage to this Matrix value by. For example, ["r - # - # @param unit_amount [String] Unit price for the specified dimension_values - end - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix#billing_cycle_configuration - class BillingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::BillingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::BillingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @param duration [Integer] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::BillingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix#dimensional_price_configuration - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # The list of dimension values matching (in order) the dimensions of the price - # group - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String] - - # @!attribute dimensional_price_group_id - # The id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :dimensional_price_group_id, String, nil?: true - - # @!attribute external_dimensional_price_group_id - # The external id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :external_dimensional_price_group_id, String, nil?: true - - # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::DimensionalPriceConfiguration} - # for more details. - # - # For dimensional price: specifies a price group and dimension values - # - # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro - # - # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in - # - # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix#invoicing_cycle_configuration - class InvoicingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # 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] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - end - - class Tiered < Orb::Internal::Type::BaseModel - # @!attribute cadence - # The cadence to bill for this price on. - # - # @return [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::Cadence] - required :cadence, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::Cadence - } - - # @!attribute item_id - # The id of the item the price will be associated with. - # - # @return [String] - required :item_id, String - - # @!attribute model_type - # - # @return [Symbol, :tiered] - required :model_type, const: :tiered - - # @!attribute name - # The name of the price. - # - # @return [String] - required :name, String - - # @!attribute tiered_config - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::TieredConfig] - required :tiered_config, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::TieredConfig - } - - # @!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::Internal::Type::Boolean, nil?: true - - # @!attribute billing_cycle_configuration - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::BillingCycleConfiguration, nil] - optional :billing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::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 dimensional_price_configuration - # For dimensional price: specifies a price group and dimension values - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::DimensionalPriceConfiguration, nil] - optional :dimensional_price_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::DimensionalPriceConfiguration - }, - 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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration, nil] - optional :invoicing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::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::Internal::Type::HashOf[String, nil?: true], nil?: true - - # @!method initialize(cadence:, item_id:, name:, tiered_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :tiered) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered} - # for more details. - # - # @param cadence [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::Cadence] The cadence to bill for this price on. - # - # @param item_id [String] The id of the item the price will be associated with. - # - # @param name [String] The name of the price. - # - # @param tiered_config [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::TieredConfig] - # - # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b - # - # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi - # - # @param billing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont - # - # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. - # - # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr - # - # @param dimensional_price_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values - # - # @param external_price_id [String, nil] An alias for the price. - # - # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl - # - # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice - # - # @param invoicing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. - # - # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed - # - # @param model_type [Symbol, :tiered] - - # The cadence to bill for this price on. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered#cadence - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL = :annual - SEMI_ANNUAL = :semi_annual - MONTHLY = :monthly - QUARTERLY = :quarterly - ONE_TIME = :one_time - CUSTOM = :custom - - # @!method self.values - # @return [Array] - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered#tiered_config - class TieredConfig < Orb::Internal::Type::BaseModel - # @!attribute tiers - # Tiers for rating based on total usage quantities into the specified tier - # - # @return [Array] - required :tiers, - -> { - Orb::Internal::Type::ArrayOf[Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::TieredConfig::Tier] - } - - # @!method initialize(tiers:) - # @param tiers [Array] Tiers for rating based on total usage quantities into the specified tier - - class Tier < Orb::Internal::Type::BaseModel - # @!attribute first_unit - # Exclusive tier starting value - # - # @return [Float] - required :first_unit, Float - - # @!attribute unit_amount - # Amount per unit - # - # @return [String] - required :unit_amount, String - - # @!attribute last_unit - # Inclusive tier ending value. If null, this is treated as the last tier - # - # @return [Float, nil] - optional :last_unit, Float, nil?: true - - # @!method initialize(first_unit:, unit_amount:, last_unit: nil) - # @param first_unit [Float] Exclusive tier starting value - # - # @param unit_amount [String] Amount per unit - # - # @param last_unit [Float, nil] Inclusive tier ending value. If null, this is treated as the last tier - end - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered#billing_cycle_configuration - class BillingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::BillingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::BillingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @param duration [Integer] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::BillingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered#dimensional_price_configuration - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # The list of dimension values matching (in order) the dimensions of the price - # group - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String] - - # @!attribute dimensional_price_group_id - # The id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :dimensional_price_group_id, String, nil?: true - - # @!attribute external_dimensional_price_group_id - # The external id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :external_dimensional_price_group_id, String, nil?: true - - # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::DimensionalPriceConfiguration} - # for more details. - # - # For dimensional price: specifies a price group and dimension values - # - # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro - # - # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in - # - # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered#invoicing_cycle_configuration - class InvoicingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # 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] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - end - - class TieredBps < Orb::Internal::Type::BaseModel - # @!attribute cadence - # The cadence to bill for this price on. - # - # @return [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::Cadence] - required :cadence, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::Cadence - } - - # @!attribute item_id - # The id of the item the price will be associated with. - # - # @return [String] - required :item_id, String - - # @!attribute model_type - # - # @return [Symbol, :tiered_bps] - required :model_type, const: :tiered_bps - - # @!attribute name - # The name of the price. - # - # @return [String] - required :name, String - - # @!attribute tiered_bps_config - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::TieredBpsConfig] - required :tiered_bps_config, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::TieredBpsConfig - } - - # @!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::Internal::Type::Boolean, nil?: true - - # @!attribute billing_cycle_configuration - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::BillingCycleConfiguration, nil] - optional :billing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::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 dimensional_price_configuration - # For dimensional price: specifies a price group and dimension values - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::DimensionalPriceConfiguration, nil] - optional :dimensional_price_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::DimensionalPriceConfiguration - }, - 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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration, nil] - optional :invoicing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::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::Internal::Type::HashOf[String, nil?: true], nil?: true - - # @!method initialize(cadence:, item_id:, name:, tiered_bps_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :tiered_bps) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps} - # for more details. - # - # @param cadence [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::Cadence] The cadence to bill for this price on. - # - # @param item_id [String] The id of the item the price will be associated with. - # - # @param name [String] The name of the price. - # - # @param tiered_bps_config [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::TieredBpsConfig] - # - # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b - # - # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi - # - # @param billing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont - # - # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. - # - # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr - # - # @param dimensional_price_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values - # - # @param external_price_id [String, nil] An alias for the price. - # - # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl - # - # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice - # - # @param invoicing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. - # - # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed - # - # @param model_type [Symbol, :tiered_bps] - - # The cadence to bill for this price on. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps#cadence - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL = :annual - SEMI_ANNUAL = :semi_annual - MONTHLY = :monthly - QUARTERLY = :quarterly - ONE_TIME = :one_time - CUSTOM = :custom - - # @!method self.values - # @return [Array] - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps#tiered_bps_config - class TieredBpsConfig < Orb::Internal::Type::BaseModel - # @!attribute tiers - # Tiers for a Graduated BPS pricing model, where usage is bucketed into specified - # tiers - # - # @return [Array] - required :tiers, - -> { - Orb::Internal::Type::ArrayOf[Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::TieredBpsConfig::Tier] - } - - # @!method initialize(tiers:) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::TieredBpsConfig} - # for more details. - # - # @param tiers [Array] Tiers for a Graduated BPS pricing model, where usage is bucketed into specified - - class Tier < Orb::Internal::Type::BaseModel - # @!attribute bps - # Per-event basis point rate - # - # @return [Float] - required :bps, Float - - # @!attribute minimum_amount - # Exclusive tier starting value - # - # @return [String] - required :minimum_amount, String - - # @!attribute maximum_amount - # Inclusive tier ending value - # - # @return [String, nil] - optional :maximum_amount, String, nil?: true - - # @!attribute per_unit_maximum - # Per unit maximum to charge - # - # @return [String, nil] - optional :per_unit_maximum, String, nil?: true - - # @!method initialize(bps:, minimum_amount:, maximum_amount: nil, per_unit_maximum: nil) - # @param bps [Float] Per-event basis point rate - # - # @param minimum_amount [String] Exclusive tier starting value - # - # @param maximum_amount [String, nil] Inclusive tier ending value - # - # @param per_unit_maximum [String, nil] Per unit maximum to charge - end - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps#billing_cycle_configuration - class BillingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::BillingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::BillingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @param duration [Integer] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::BillingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps#dimensional_price_configuration - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # The list of dimension values matching (in order) the dimensions of the price - # group - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String] - - # @!attribute dimensional_price_group_id - # The id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :dimensional_price_group_id, String, nil?: true - - # @!attribute external_dimensional_price_group_id - # The external id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :external_dimensional_price_group_id, String, nil?: true - - # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::DimensionalPriceConfiguration} - # for more details. - # - # For dimensional price: specifies a price group and dimension values - # - # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro - # - # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in - # - # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps#invoicing_cycle_configuration - class InvoicingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # 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] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - end - - class Bps < Orb::Internal::Type::BaseModel - # @!attribute bps_config - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::BpsConfig] - required :bps_config, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::BpsConfig - } - - # @!attribute cadence - # The cadence to bill for this price on. - # - # @return [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::Cadence] - required :cadence, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::Cadence - } - - # @!attribute item_id - # The id of the item the price will be associated with. - # - # @return [String] - required :item_id, String - - # @!attribute model_type - # - # @return [Symbol, :bps] - required :model_type, const: :bps - - # @!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::Internal::Type::Boolean, nil?: true - - # @!attribute billing_cycle_configuration - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::BillingCycleConfiguration, nil] - optional :billing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::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 dimensional_price_configuration - # For dimensional price: specifies a price group and dimension values - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::DimensionalPriceConfiguration, nil] - optional :dimensional_price_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::DimensionalPriceConfiguration - }, - 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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::InvoicingCycleConfiguration, nil] - optional :invoicing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::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::Internal::Type::HashOf[String, nil?: true], nil?: true - - # @!method initialize(bps_config:, cadence:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :bps) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps} - # for more details. - # - # @param bps_config [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::BpsConfig] - # - # @param cadence [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::Cadence] The cadence to bill for this price on. - # - # @param item_id [String] The id of the item the price will be associated with. - # - # @param name [String] The name of the price. - # - # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b - # - # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi - # - # @param billing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont - # - # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. - # - # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr - # - # @param dimensional_price_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values - # - # @param external_price_id [String, nil] An alias for the price. - # - # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl - # - # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice - # - # @param invoicing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. - # - # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed - # - # @param model_type [Symbol, :bps] - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps#bps_config - class BpsConfig < Orb::Internal::Type::BaseModel - # @!attribute bps - # Basis point take rate per event - # - # @return [Float] - required :bps, Float - - # @!attribute per_unit_maximum - # Optional currency amount maximum to cap spend per event - # - # @return [String, nil] - optional :per_unit_maximum, String, nil?: true - - # @!method initialize(bps:, per_unit_maximum: nil) - # @param bps [Float] Basis point take rate per event - # - # @param per_unit_maximum [String, nil] Optional currency amount maximum to cap spend per event - end - - # The cadence to bill for this price on. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps#cadence - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL = :annual - SEMI_ANNUAL = :semi_annual - MONTHLY = :monthly - QUARTERLY = :quarterly - ONE_TIME = :one_time - CUSTOM = :custom - - # @!method self.values - # @return [Array] - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps#billing_cycle_configuration - class BillingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::BillingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::BillingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @param duration [Integer] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::BillingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps#dimensional_price_configuration - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # The list of dimension values matching (in order) the dimensions of the price - # group - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String] - - # @!attribute dimensional_price_group_id - # The id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :dimensional_price_group_id, String, nil?: true - - # @!attribute external_dimensional_price_group_id - # The external id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :external_dimensional_price_group_id, String, nil?: true - - # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::DimensionalPriceConfiguration} - # for more details. - # - # For dimensional price: specifies a price group and dimension values - # - # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro - # - # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in - # - # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps#invoicing_cycle_configuration - class InvoicingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::InvoicingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::InvoicingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # 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] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::InvoicingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - end - - class BulkBps < Orb::Internal::Type::BaseModel - # @!attribute bulk_bps_config - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::BulkBpsConfig] - required :bulk_bps_config, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::BulkBpsConfig - } - - # @!attribute cadence - # The cadence to bill for this price on. - # - # @return [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::Cadence] - required :cadence, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::Cadence - } - - # @!attribute item_id - # The id of the item the price will be associated with. - # - # @return [String] - required :item_id, String - - # @!attribute model_type - # - # @return [Symbol, :bulk_bps] - required :model_type, const: :bulk_bps - - # @!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::Internal::Type::Boolean, nil?: true - - # @!attribute billing_cycle_configuration - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::BillingCycleConfiguration, nil] - optional :billing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::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 dimensional_price_configuration - # For dimensional price: specifies a price group and dimension values - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::DimensionalPriceConfiguration, nil] - optional :dimensional_price_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::DimensionalPriceConfiguration - }, - 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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration, nil] - optional :invoicing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::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::Internal::Type::HashOf[String, nil?: true], nil?: true - - # @!method initialize(bulk_bps_config:, cadence:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :bulk_bps) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps} - # for more details. - # - # @param bulk_bps_config [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::BulkBpsConfig] - # - # @param cadence [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::Cadence] The cadence to bill for this price on. - # - # @param item_id [String] The id of the item the price will be associated with. - # - # @param name [String] The name of the price. - # - # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b - # - # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi - # - # @param billing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont - # - # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. - # - # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr - # - # @param dimensional_price_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values - # - # @param external_price_id [String, nil] An alias for the price. - # - # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl - # - # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice - # - # @param invoicing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. - # - # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed - # - # @param model_type [Symbol, :bulk_bps] - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps#bulk_bps_config - class BulkBpsConfig < Orb::Internal::Type::BaseModel - # @!attribute tiers - # Tiers for a bulk BPS pricing model where all usage is aggregated to a single - # tier based on total volume - # - # @return [Array] - required :tiers, - -> { - Orb::Internal::Type::ArrayOf[Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::BulkBpsConfig::Tier] - } - - # @!method initialize(tiers:) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::BulkBpsConfig} - # for more details. - # - # @param tiers [Array] Tiers for a bulk BPS pricing model where all usage is aggregated to a single tie - - class Tier < Orb::Internal::Type::BaseModel - # @!attribute bps - # Basis points to rate on - # - # @return [Float] - required :bps, Float - - # @!attribute maximum_amount - # Upper bound for tier - # - # @return [String, nil] - optional :maximum_amount, String, nil?: true - - # @!attribute per_unit_maximum - # The maximum amount to charge for any one event - # - # @return [String, nil] - optional :per_unit_maximum, String, nil?: true - - # @!method initialize(bps:, maximum_amount: nil, per_unit_maximum: nil) - # @param bps [Float] Basis points to rate on - # - # @param maximum_amount [String, nil] Upper bound for tier - # - # @param per_unit_maximum [String, nil] The maximum amount to charge for any one event - end - end - - # The cadence to bill for this price on. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps#cadence - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL = :annual - SEMI_ANNUAL = :semi_annual - MONTHLY = :monthly - QUARTERLY = :quarterly - ONE_TIME = :one_time - CUSTOM = :custom - - # @!method self.values - # @return [Array] - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps#billing_cycle_configuration - class BillingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::BillingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::BillingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @param duration [Integer] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::BillingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps#dimensional_price_configuration - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # The list of dimension values matching (in order) the dimensions of the price - # group - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String] - - # @!attribute dimensional_price_group_id - # The id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :dimensional_price_group_id, String, nil?: true - - # @!attribute external_dimensional_price_group_id - # The external id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :external_dimensional_price_group_id, String, nil?: true - - # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::DimensionalPriceConfiguration} - # for more details. - # - # For dimensional price: specifies a price group and dimension values - # - # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro - # - # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in - # - # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps#invoicing_cycle_configuration - class InvoicingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # 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] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - end - - class Bulk < Orb::Internal::Type::BaseModel - # @!attribute bulk_config - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::BulkConfig] - required :bulk_config, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::BulkConfig - } - - # @!attribute cadence - # The cadence to bill for this price on. - # - # @return [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::Cadence] - required :cadence, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::Cadence - } - - # @!attribute item_id - # The id of the item the price will be associated with. - # - # @return [String] - required :item_id, String - - # @!attribute model_type - # - # @return [Symbol, :bulk] - required :model_type, const: :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::Internal::Type::Boolean, nil?: true - - # @!attribute billing_cycle_configuration - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::BillingCycleConfiguration, nil] - optional :billing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::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 dimensional_price_configuration - # For dimensional price: specifies a price group and dimension values - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::DimensionalPriceConfiguration, nil] - optional :dimensional_price_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::DimensionalPriceConfiguration - }, - 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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration, nil] - optional :invoicing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::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::Internal::Type::HashOf[String, nil?: true], nil?: true - - # @!method initialize(bulk_config:, cadence:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :bulk) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk} - # for more details. - # - # @param bulk_config [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::BulkConfig] - # - # @param cadence [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::Cadence] The cadence to bill for this price on. - # - # @param item_id [String] The id of the item the price will be associated with. - # - # @param name [String] The name of the price. - # - # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b - # - # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi - # - # @param billing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont - # - # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. - # - # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr - # - # @param dimensional_price_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values - # - # @param external_price_id [String, nil] An alias for the price. - # - # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl - # - # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice - # - # @param invoicing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. - # - # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed - # - # @param model_type [Symbol, :bulk] - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk#bulk_config - class BulkConfig < Orb::Internal::Type::BaseModel - # @!attribute tiers - # Bulk tiers for rating based on total usage volume - # - # @return [Array] - required :tiers, - -> { - Orb::Internal::Type::ArrayOf[Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::BulkConfig::Tier] - } - - # @!method initialize(tiers:) - # @param tiers [Array] Bulk tiers for rating based on total usage volume - - class Tier < Orb::Internal::Type::BaseModel - # @!attribute unit_amount - # Amount per unit - # - # @return [String] - required :unit_amount, String - - # @!attribute maximum_units - # Upper bound for this tier - # - # @return [Float, nil] - optional :maximum_units, Float, nil?: true - - # @!method initialize(unit_amount:, maximum_units: nil) - # @param unit_amount [String] Amount per unit - # - # @param maximum_units [Float, nil] Upper bound for this tier - end - end - - # The cadence to bill for this price on. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk#cadence - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL = :annual - SEMI_ANNUAL = :semi_annual - MONTHLY = :monthly - QUARTERLY = :quarterly - ONE_TIME = :one_time - CUSTOM = :custom - - # @!method self.values - # @return [Array] - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk#billing_cycle_configuration - class BillingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::BillingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::BillingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @param duration [Integer] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::BillingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk#dimensional_price_configuration - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # The list of dimension values matching (in order) the dimensions of the price - # group - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String] - - # @!attribute dimensional_price_group_id - # The id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :dimensional_price_group_id, String, nil?: true - - # @!attribute external_dimensional_price_group_id - # The external id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :external_dimensional_price_group_id, String, nil?: true - - # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::DimensionalPriceConfiguration} - # for more details. - # - # For dimensional price: specifies a price group and dimension values - # - # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro - # - # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in - # - # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk#invoicing_cycle_configuration - class InvoicingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # 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] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - end - - class ThresholdTotalAmount < Orb::Internal::Type::BaseModel - # @!attribute cadence - # The cadence to bill for this price on. - # - # @return [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::Cadence] - required :cadence, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::Cadence - } - - # @!attribute item_id - # The id of the item the price will be associated with. - # - # @return [String] - required :item_id, String - - # @!attribute model_type - # - # @return [Symbol, :threshold_total_amount] - required :model_type, const: :threshold_total_amount - - # @!attribute name - # The name of the price. - # - # @return [String] - required :name, String - - # @!attribute threshold_total_amount_config - # - # @return [Hash{Symbol=>Object}] - required :threshold_total_amount_config, - Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] - - # @!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::Internal::Type::Boolean, nil?: true - - # @!attribute billing_cycle_configuration - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration, nil] - optional :billing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::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 dimensional_price_configuration - # For dimensional price: specifies a price group and dimension values - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration, nil] - optional :dimensional_price_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration - }, - 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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration, nil] - optional :invoicing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::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::Internal::Type::HashOf[String, nil?: true], nil?: true - - # @!method initialize(cadence:, item_id:, name:, threshold_total_amount_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :threshold_total_amount) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount} - # for more details. - # - # @param cadence [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::Cadence] The cadence to bill for this price on. - # - # @param item_id [String] The id of the item the price will be associated with. - # - # @param name [String] The name of the price. - # - # @param threshold_total_amount_config [Hash{Symbol=>Object}] - # - # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b - # - # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi - # - # @param billing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont - # - # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. - # - # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr - # - # @param dimensional_price_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values - # - # @param external_price_id [String, nil] An alias for the price. - # - # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl - # - # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice - # - # @param invoicing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. - # - # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed - # - # @param model_type [Symbol, :threshold_total_amount] - - # The cadence to bill for this price on. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount#cadence - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL = :annual - SEMI_ANNUAL = :semi_annual - MONTHLY = :monthly - QUARTERLY = :quarterly - ONE_TIME = :one_time - CUSTOM = :custom - - # @!method self.values - # @return [Array] - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount#billing_cycle_configuration - class BillingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @param duration [Integer] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount#dimensional_price_configuration - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # The list of dimension values matching (in order) the dimensions of the price - # group - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String] - - # @!attribute dimensional_price_group_id - # The id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :dimensional_price_group_id, String, nil?: true - - # @!attribute external_dimensional_price_group_id - # The external id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :external_dimensional_price_group_id, String, nil?: true - - # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration} - # for more details. - # - # For dimensional price: specifies a price group and dimension values - # - # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro - # - # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in - # - # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount#invoicing_cycle_configuration - class InvoicingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # 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] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - end - - class TieredPackage < Orb::Internal::Type::BaseModel - # @!attribute cadence - # The cadence to bill for this price on. - # - # @return [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::Cadence] - required :cadence, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::Cadence - } - - # @!attribute item_id - # The id of the item the price will be associated with. - # - # @return [String] - required :item_id, String - - # @!attribute model_type - # - # @return [Symbol, :tiered_package] - required :model_type, const: :tiered_package - - # @!attribute name - # The name of the price. - # - # @return [String] - required :name, String - - # @!attribute tiered_package_config - # - # @return [Hash{Symbol=>Object}] - required :tiered_package_config, Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] - - # @!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::Internal::Type::Boolean, nil?: true - - # @!attribute billing_cycle_configuration - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration, nil] - optional :billing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::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 dimensional_price_configuration - # For dimensional price: specifies a price group and dimension values - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::DimensionalPriceConfiguration, nil] - optional :dimensional_price_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::DimensionalPriceConfiguration - }, - 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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration, nil] - optional :invoicing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::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::Internal::Type::HashOf[String, nil?: true], nil?: true - - # @!method initialize(cadence:, item_id:, name:, tiered_package_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :tiered_package) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage} - # for more details. - # - # @param cadence [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::Cadence] The cadence to bill for this price on. - # - # @param item_id [String] The id of the item the price will be associated with. - # - # @param name [String] The name of the price. - # - # @param tiered_package_config [Hash{Symbol=>Object}] - # - # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b - # - # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi - # - # @param billing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont - # - # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. - # - # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr - # - # @param dimensional_price_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values - # - # @param external_price_id [String, nil] An alias for the price. - # - # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl - # - # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice - # - # @param invoicing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. - # - # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed - # - # @param model_type [Symbol, :tiered_package] - - # The cadence to bill for this price on. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage#cadence - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL = :annual - SEMI_ANNUAL = :semi_annual - MONTHLY = :monthly - QUARTERLY = :quarterly - ONE_TIME = :one_time - CUSTOM = :custom - - # @!method self.values - # @return [Array] - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage#billing_cycle_configuration - class BillingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @param duration [Integer] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage#dimensional_price_configuration - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # The list of dimension values matching (in order) the dimensions of the price - # group - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String] - - # @!attribute dimensional_price_group_id - # The id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :dimensional_price_group_id, String, nil?: true - - # @!attribute external_dimensional_price_group_id - # The external id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :external_dimensional_price_group_id, String, nil?: true - - # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::DimensionalPriceConfiguration} - # for more details. - # - # For dimensional price: specifies a price group and dimension values - # - # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro - # - # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in - # - # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage#invoicing_cycle_configuration - class InvoicingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # 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] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - end - - class TieredWithMinimum < Orb::Internal::Type::BaseModel - # @!attribute cadence - # The cadence to bill for this price on. - # - # @return [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::Cadence] - required :cadence, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::Cadence - } - - # @!attribute item_id - # The id of the item the price will be associated with. - # - # @return [String] - required :item_id, String - - # @!attribute model_type - # - # @return [Symbol, :tiered_with_minimum] - required :model_type, const: :tiered_with_minimum - - # @!attribute name - # The name of the price. - # - # @return [String] - required :name, String - - # @!attribute tiered_with_minimum_config - # - # @return [Hash{Symbol=>Object}] - required :tiered_with_minimum_config, - Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] - - # @!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::Internal::Type::Boolean, nil?: true - - # @!attribute billing_cycle_configuration - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration, nil] - optional :billing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::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 dimensional_price_configuration - # For dimensional price: specifies a price group and dimension values - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::DimensionalPriceConfiguration, nil] - optional :dimensional_price_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::DimensionalPriceConfiguration - }, - 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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration, nil] - optional :invoicing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::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::Internal::Type::HashOf[String, nil?: true], nil?: true - - # @!method initialize(cadence:, item_id:, name:, tiered_with_minimum_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :tiered_with_minimum) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum} - # for more details. - # - # @param cadence [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::Cadence] The cadence to bill for this price on. - # - # @param item_id [String] The id of the item the price will be associated with. - # - # @param name [String] The name of the price. - # - # @param tiered_with_minimum_config [Hash{Symbol=>Object}] - # - # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b - # - # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi - # - # @param billing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont - # - # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. - # - # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr - # - # @param dimensional_price_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values - # - # @param external_price_id [String, nil] An alias for the price. - # - # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl - # - # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice - # - # @param invoicing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. - # - # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed - # - # @param model_type [Symbol, :tiered_with_minimum] - - # The cadence to bill for this price on. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum#cadence - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL = :annual - SEMI_ANNUAL = :semi_annual - MONTHLY = :monthly - QUARTERLY = :quarterly - ONE_TIME = :one_time - CUSTOM = :custom - - # @!method self.values - # @return [Array] - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum#billing_cycle_configuration - class BillingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @param duration [Integer] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum#dimensional_price_configuration - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # The list of dimension values matching (in order) the dimensions of the price - # group - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String] - - # @!attribute dimensional_price_group_id - # The id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :dimensional_price_group_id, String, nil?: true - - # @!attribute external_dimensional_price_group_id - # The external id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :external_dimensional_price_group_id, String, nil?: true - - # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::DimensionalPriceConfiguration} - # for more details. - # - # For dimensional price: specifies a price group and dimension values - # - # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro - # - # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in - # - # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum#invoicing_cycle_configuration - class InvoicingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # 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] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - end - - class UnitWithPercent < Orb::Internal::Type::BaseModel - # @!attribute cadence - # The cadence to bill for this price on. - # - # @return [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::Cadence] - required :cadence, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::Cadence - } - - # @!attribute item_id - # The id of the item the price will be associated with. - # - # @return [String] - required :item_id, String - - # @!attribute model_type - # - # @return [Symbol, :unit_with_percent] - required :model_type, const: :unit_with_percent - - # @!attribute name - # The name of the price. - # - # @return [String] - required :name, String - - # @!attribute unit_with_percent_config - # - # @return [Hash{Symbol=>Object}] - required :unit_with_percent_config, Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] - - # @!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::Internal::Type::Boolean, nil?: true - - # @!attribute billing_cycle_configuration - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration, nil] - optional :billing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::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 dimensional_price_configuration - # For dimensional price: specifies a price group and dimension values - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::DimensionalPriceConfiguration, nil] - optional :dimensional_price_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::DimensionalPriceConfiguration - }, - 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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration, nil] - optional :invoicing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::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::Internal::Type::HashOf[String, nil?: true], nil?: true - - # @!method initialize(cadence:, item_id:, name:, unit_with_percent_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :unit_with_percent) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent} - # for more details. - # - # @param cadence [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::Cadence] The cadence to bill for this price on. - # - # @param item_id [String] The id of the item the price will be associated with. - # - # @param name [String] The name of the price. - # - # @param unit_with_percent_config [Hash{Symbol=>Object}] - # - # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b - # - # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi - # - # @param billing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont - # - # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. - # - # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr - # - # @param dimensional_price_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values - # - # @param external_price_id [String, nil] An alias for the price. - # - # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl - # - # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice - # - # @param invoicing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. - # - # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed - # - # @param model_type [Symbol, :unit_with_percent] - - # The cadence to bill for this price on. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent#cadence - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL = :annual - SEMI_ANNUAL = :semi_annual - MONTHLY = :monthly - QUARTERLY = :quarterly - ONE_TIME = :one_time - CUSTOM = :custom - - # @!method self.values - # @return [Array] - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent#billing_cycle_configuration - class BillingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @param duration [Integer] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent#dimensional_price_configuration - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # The list of dimension values matching (in order) the dimensions of the price - # group - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String] - - # @!attribute dimensional_price_group_id - # The id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :dimensional_price_group_id, String, nil?: true - - # @!attribute external_dimensional_price_group_id - # The external id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :external_dimensional_price_group_id, String, nil?: true - - # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::DimensionalPriceConfiguration} - # for more details. - # - # For dimensional price: specifies a price group and dimension values - # - # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro - # - # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in - # - # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent#invoicing_cycle_configuration - class InvoicingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # 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] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - end - - class PackageWithAllocation < Orb::Internal::Type::BaseModel - # @!attribute cadence - # The cadence to bill for this price on. - # - # @return [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::Cadence] - required :cadence, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::Cadence - } - - # @!attribute item_id - # The id of the item the price will be associated with. - # - # @return [String] - required :item_id, String - - # @!attribute model_type - # - # @return [Symbol, :package_with_allocation] - required :model_type, const: :package_with_allocation - - # @!attribute name - # The name of the price. - # - # @return [String] - required :name, String - - # @!attribute package_with_allocation_config - # - # @return [Hash{Symbol=>Object}] - required :package_with_allocation_config, - Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] - - # @!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::Internal::Type::Boolean, nil?: true - - # @!attribute billing_cycle_configuration - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration, nil] - optional :billing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::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 dimensional_price_configuration - # For dimensional price: specifies a price group and dimension values - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::DimensionalPriceConfiguration, nil] - optional :dimensional_price_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::DimensionalPriceConfiguration - }, - 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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration, nil] - optional :invoicing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::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::Internal::Type::HashOf[String, nil?: true], nil?: true - - # @!method initialize(cadence:, item_id:, name:, package_with_allocation_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :package_with_allocation) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation} - # for more details. - # - # @param cadence [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::Cadence] The cadence to bill for this price on. - # - # @param item_id [String] The id of the item the price will be associated with. - # - # @param name [String] The name of the price. - # - # @param package_with_allocation_config [Hash{Symbol=>Object}] - # - # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b - # - # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi - # - # @param billing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont - # - # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. - # - # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr - # - # @param dimensional_price_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values - # - # @param external_price_id [String, nil] An alias for the price. - # - # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl - # - # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice - # - # @param invoicing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. - # - # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed - # - # @param model_type [Symbol, :package_with_allocation] - - # The cadence to bill for this price on. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation#cadence - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL = :annual - SEMI_ANNUAL = :semi_annual - MONTHLY = :monthly - QUARTERLY = :quarterly - ONE_TIME = :one_time - CUSTOM = :custom - - # @!method self.values - # @return [Array] - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation#billing_cycle_configuration - class BillingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @param duration [Integer] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation#dimensional_price_configuration - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # The list of dimension values matching (in order) the dimensions of the price - # group - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String] - - # @!attribute dimensional_price_group_id - # The id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :dimensional_price_group_id, String, nil?: true - - # @!attribute external_dimensional_price_group_id - # The external id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :external_dimensional_price_group_id, String, nil?: true - - # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::DimensionalPriceConfiguration} - # for more details. - # - # For dimensional price: specifies a price group and dimension values - # - # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro - # - # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in - # - # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation#invoicing_cycle_configuration - class InvoicingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # 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] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - end - - class TieredWithProration < Orb::Internal::Type::BaseModel - # @!attribute cadence - # The cadence to bill for this price on. - # - # @return [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::Cadence] - required :cadence, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::Cadence - } - - # @!attribute item_id - # The id of the item the price will be associated with. - # - # @return [String] - required :item_id, String - - # @!attribute model_type - # - # @return [Symbol, :tiered_with_proration] - required :model_type, const: :tiered_with_proration - - # @!attribute name - # The name of the price. - # - # @return [String] - required :name, String - - # @!attribute tiered_with_proration_config - # - # @return [Hash{Symbol=>Object}] - required :tiered_with_proration_config, - Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] - - # @!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::Internal::Type::Boolean, nil?: true - - # @!attribute billing_cycle_configuration - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration, nil] - optional :billing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::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 dimensional_price_configuration - # For dimensional price: specifies a price group and dimension values - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::DimensionalPriceConfiguration, nil] - optional :dimensional_price_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::DimensionalPriceConfiguration - }, - 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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration, nil] - optional :invoicing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::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::Internal::Type::HashOf[String, nil?: true], nil?: true - - # @!method initialize(cadence:, item_id:, name:, tiered_with_proration_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :tiered_with_proration) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration} - # for more details. - # - # @param cadence [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::Cadence] The cadence to bill for this price on. - # - # @param item_id [String] The id of the item the price will be associated with. - # - # @param name [String] The name of the price. - # - # @param tiered_with_proration_config [Hash{Symbol=>Object}] - # - # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b - # - # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi - # - # @param billing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont - # - # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. - # - # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr - # - # @param dimensional_price_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values - # - # @param external_price_id [String, nil] An alias for the price. - # - # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl - # - # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice - # - # @param invoicing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. - # - # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed - # - # @param model_type [Symbol, :tiered_with_proration] - - # The cadence to bill for this price on. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration#cadence - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL = :annual - SEMI_ANNUAL = :semi_annual - MONTHLY = :monthly - QUARTERLY = :quarterly - ONE_TIME = :one_time - CUSTOM = :custom - - # @!method self.values - # @return [Array] - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration#billing_cycle_configuration - class BillingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @param duration [Integer] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration#dimensional_price_configuration - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # The list of dimension values matching (in order) the dimensions of the price - # group - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String] - - # @!attribute dimensional_price_group_id - # The id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :dimensional_price_group_id, String, nil?: true - - # @!attribute external_dimensional_price_group_id - # The external id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :external_dimensional_price_group_id, String, nil?: true - - # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::DimensionalPriceConfiguration} - # for more details. - # - # For dimensional price: specifies a price group and dimension values - # - # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro - # - # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in - # - # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration#invoicing_cycle_configuration - class InvoicingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # 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] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - end - - class UnitWithProration < Orb::Internal::Type::BaseModel - # @!attribute cadence - # The cadence to bill for this price on. - # - # @return [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::Cadence] - required :cadence, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::Cadence - } - - # @!attribute item_id - # The id of the item the price will be associated with. - # - # @return [String] - required :item_id, String - - # @!attribute model_type - # - # @return [Symbol, :unit_with_proration] - required :model_type, const: :unit_with_proration - - # @!attribute name - # The name of the price. - # - # @return [String] - required :name, String - - # @!attribute unit_with_proration_config - # - # @return [Hash{Symbol=>Object}] - required :unit_with_proration_config, - Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] - - # @!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::Internal::Type::Boolean, nil?: true - - # @!attribute billing_cycle_configuration - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration, nil] - optional :billing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::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 dimensional_price_configuration - # For dimensional price: specifies a price group and dimension values - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::DimensionalPriceConfiguration, nil] - optional :dimensional_price_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::DimensionalPriceConfiguration - }, - 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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration, nil] - optional :invoicing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::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::Internal::Type::HashOf[String, nil?: true], nil?: true - - # @!method initialize(cadence:, item_id:, name:, unit_with_proration_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :unit_with_proration) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration} - # for more details. - # - # @param cadence [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::Cadence] The cadence to bill for this price on. - # - # @param item_id [String] The id of the item the price will be associated with. - # - # @param name [String] The name of the price. - # - # @param unit_with_proration_config [Hash{Symbol=>Object}] - # - # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b - # - # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi - # - # @param billing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont - # - # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. - # - # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr - # - # @param dimensional_price_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values - # - # @param external_price_id [String, nil] An alias for the price. - # - # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl - # - # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice - # - # @param invoicing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. - # - # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed - # - # @param model_type [Symbol, :unit_with_proration] - - # The cadence to bill for this price on. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration#cadence - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL = :annual - SEMI_ANNUAL = :semi_annual - MONTHLY = :monthly - QUARTERLY = :quarterly - ONE_TIME = :one_time - CUSTOM = :custom - - # @!method self.values - # @return [Array] - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration#billing_cycle_configuration - class BillingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @param duration [Integer] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration#dimensional_price_configuration - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # The list of dimension values matching (in order) the dimensions of the price - # group - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String] - - # @!attribute dimensional_price_group_id - # The id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :dimensional_price_group_id, String, nil?: true - - # @!attribute external_dimensional_price_group_id - # The external id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :external_dimensional_price_group_id, String, nil?: true - - # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::DimensionalPriceConfiguration} - # for more details. - # - # For dimensional price: specifies a price group and dimension values - # - # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro - # - # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in - # - # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration#invoicing_cycle_configuration - class InvoicingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # 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] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - end - - class GroupedAllocation < Orb::Internal::Type::BaseModel - # @!attribute cadence - # The cadence to bill for this price on. - # - # @return [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::Cadence] - required :cadence, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::Cadence - } - - # @!attribute grouped_allocation_config - # - # @return [Hash{Symbol=>Object}] - required :grouped_allocation_config, Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] - - # @!attribute item_id - # The id of the item the price will be associated with. - # - # @return [String] - required :item_id, String - - # @!attribute model_type - # - # @return [Symbol, :grouped_allocation] - required :model_type, const: :grouped_allocation - - # @!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::Internal::Type::Boolean, nil?: true - - # @!attribute billing_cycle_configuration - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration, nil] - optional :billing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::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 dimensional_price_configuration - # For dimensional price: specifies a price group and dimension values - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::DimensionalPriceConfiguration, nil] - optional :dimensional_price_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::DimensionalPriceConfiguration - }, - 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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration, nil] - optional :invoicing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::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::Internal::Type::HashOf[String, nil?: true], nil?: true - - # @!method initialize(cadence:, grouped_allocation_config:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :grouped_allocation) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation} - # for more details. - # - # @param cadence [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::Cadence] The cadence to bill for this price on. - # - # @param grouped_allocation_config [Hash{Symbol=>Object}] - # - # @param item_id [String] The id of the item the price will be associated with. - # - # @param name [String] The name of the price. - # - # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b - # - # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi - # - # @param billing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont - # - # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. - # - # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr - # - # @param dimensional_price_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values - # - # @param external_price_id [String, nil] An alias for the price. - # - # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl - # - # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice - # - # @param invoicing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. - # - # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed - # - # @param model_type [Symbol, :grouped_allocation] - - # The cadence to bill for this price on. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation#cadence - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL = :annual - SEMI_ANNUAL = :semi_annual - MONTHLY = :monthly - QUARTERLY = :quarterly - ONE_TIME = :one_time - CUSTOM = :custom - - # @!method self.values - # @return [Array] - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation#billing_cycle_configuration - class BillingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @param duration [Integer] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation#dimensional_price_configuration - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # The list of dimension values matching (in order) the dimensions of the price - # group - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String] - - # @!attribute dimensional_price_group_id - # The id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :dimensional_price_group_id, String, nil?: true - - # @!attribute external_dimensional_price_group_id - # The external id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :external_dimensional_price_group_id, String, nil?: true - - # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::DimensionalPriceConfiguration} - # for more details. - # - # For dimensional price: specifies a price group and dimension values - # - # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro - # - # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in - # - # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation#invoicing_cycle_configuration - class InvoicingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # 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] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - end - - class GroupedWithProratedMinimum < Orb::Internal::Type::BaseModel - # @!attribute cadence - # The cadence to bill for this price on. - # - # @return [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::Cadence] - required :cadence, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::Cadence - } - - # @!attribute grouped_with_prorated_minimum_config - # - # @return [Hash{Symbol=>Object}] - required :grouped_with_prorated_minimum_config, - Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] - - # @!attribute item_id - # The id of the item the price will be associated with. - # - # @return [String] - required :item_id, String - - # @!attribute model_type - # - # @return [Symbol, :grouped_with_prorated_minimum] - required :model_type, const: :grouped_with_prorated_minimum - - # @!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::Internal::Type::Boolean, nil?: true - - # @!attribute billing_cycle_configuration - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration, nil] - optional :billing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::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 dimensional_price_configuration - # For dimensional price: specifies a price group and dimension values - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration, nil] - optional :dimensional_price_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration - }, - 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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration, nil] - optional :invoicing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::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::Internal::Type::HashOf[String, nil?: true], nil?: true - - # @!method initialize(cadence:, grouped_with_prorated_minimum_config:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :grouped_with_prorated_minimum) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum} - # for more details. - # - # @param cadence [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::Cadence] The cadence to bill for this price on. - # - # @param grouped_with_prorated_minimum_config [Hash{Symbol=>Object}] - # - # @param item_id [String] The id of the item the price will be associated with. - # - # @param name [String] The name of the price. - # - # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b - # - # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi - # - # @param billing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont - # - # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. - # - # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr - # - # @param dimensional_price_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values - # - # @param external_price_id [String, nil] An alias for the price. - # - # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl - # - # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice - # - # @param invoicing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. - # - # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed - # - # @param model_type [Symbol, :grouped_with_prorated_minimum] - - # The cadence to bill for this price on. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum#cadence - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL = :annual - SEMI_ANNUAL = :semi_annual - MONTHLY = :monthly - QUARTERLY = :quarterly - ONE_TIME = :one_time - CUSTOM = :custom - - # @!method self.values - # @return [Array] - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum#billing_cycle_configuration - class BillingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @param duration [Integer] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum#dimensional_price_configuration - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # The list of dimension values matching (in order) the dimensions of the price - # group - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String] - - # @!attribute dimensional_price_group_id - # The id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :dimensional_price_group_id, String, nil?: true - - # @!attribute external_dimensional_price_group_id - # The external id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :external_dimensional_price_group_id, String, nil?: true - - # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration} - # for more details. - # - # For dimensional price: specifies a price group and dimension values - # - # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro - # - # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in - # - # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum#invoicing_cycle_configuration - class InvoicingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # 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] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - end - - class GroupedWithMeteredMinimum < Orb::Internal::Type::BaseModel - # @!attribute cadence - # The cadence to bill for this price on. - # - # @return [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::Cadence] - required :cadence, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::Cadence - } - - # @!attribute grouped_with_metered_minimum_config - # - # @return [Hash{Symbol=>Object}] - required :grouped_with_metered_minimum_config, - Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] - - # @!attribute item_id - # The id of the item the price will be associated with. - # - # @return [String] - required :item_id, String - - # @!attribute model_type - # - # @return [Symbol, :grouped_with_metered_minimum] - required :model_type, const: :grouped_with_metered_minimum - - # @!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::Internal::Type::Boolean, nil?: true - - # @!attribute billing_cycle_configuration - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration, nil] - optional :billing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::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 dimensional_price_configuration - # For dimensional price: specifies a price group and dimension values - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration, nil] - optional :dimensional_price_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration - }, - 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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration, nil] - optional :invoicing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::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::Internal::Type::HashOf[String, nil?: true], nil?: true - - # @!method initialize(cadence:, grouped_with_metered_minimum_config:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :grouped_with_metered_minimum) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum} - # for more details. - # - # @param cadence [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::Cadence] The cadence to bill for this price on. - # - # @param grouped_with_metered_minimum_config [Hash{Symbol=>Object}] - # - # @param item_id [String] The id of the item the price will be associated with. - # - # @param name [String] The name of the price. - # - # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b - # - # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi - # - # @param billing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont - # - # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. - # - # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr - # - # @param dimensional_price_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values - # - # @param external_price_id [String, nil] An alias for the price. - # - # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl - # - # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice - # - # @param invoicing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. - # - # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed - # - # @param model_type [Symbol, :grouped_with_metered_minimum] - - # The cadence to bill for this price on. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum#cadence - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL = :annual - SEMI_ANNUAL = :semi_annual - MONTHLY = :monthly - QUARTERLY = :quarterly - ONE_TIME = :one_time - CUSTOM = :custom - - # @!method self.values - # @return [Array] - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum#billing_cycle_configuration - class BillingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @param duration [Integer] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum#dimensional_price_configuration - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # The list of dimension values matching (in order) the dimensions of the price - # group - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String] - - # @!attribute dimensional_price_group_id - # The id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :dimensional_price_group_id, String, nil?: true - - # @!attribute external_dimensional_price_group_id - # The external id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :external_dimensional_price_group_id, String, nil?: true - - # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration} - # for more details. - # - # For dimensional price: specifies a price group and dimension values - # - # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro - # - # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in - # - # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum#invoicing_cycle_configuration - class InvoicingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # 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] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - end - - class MatrixWithDisplayName < Orb::Internal::Type::BaseModel - # @!attribute cadence - # The cadence to bill for this price on. - # - # @return [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::Cadence] - required :cadence, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::Cadence - } - - # @!attribute item_id - # The id of the item the price will be associated with. - # - # @return [String] - required :item_id, String - - # @!attribute matrix_with_display_name_config - # - # @return [Hash{Symbol=>Object}] - required :matrix_with_display_name_config, - Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] - - # @!attribute model_type - # - # @return [Symbol, :matrix_with_display_name] - required :model_type, const: :matrix_with_display_name - - # @!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::Internal::Type::Boolean, nil?: true - - # @!attribute billing_cycle_configuration - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration, nil] - optional :billing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::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 dimensional_price_configuration - # For dimensional price: specifies a price group and dimension values - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration, nil] - optional :dimensional_price_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration - }, - 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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration, nil] - optional :invoicing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::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::Internal::Type::HashOf[String, nil?: true], nil?: true - - # @!method initialize(cadence:, item_id:, matrix_with_display_name_config:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :matrix_with_display_name) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName} - # for more details. - # - # @param cadence [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::Cadence] The cadence to bill for this price on. - # - # @param item_id [String] The id of the item the price will be associated with. - # - # @param matrix_with_display_name_config [Hash{Symbol=>Object}] - # - # @param name [String] The name of the price. - # - # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b - # - # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi - # - # @param billing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont - # - # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. - # - # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr - # - # @param dimensional_price_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values - # - # @param external_price_id [String, nil] An alias for the price. - # - # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl - # - # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice - # - # @param invoicing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. - # - # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed - # - # @param model_type [Symbol, :matrix_with_display_name] - - # The cadence to bill for this price on. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName#cadence - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL = :annual - SEMI_ANNUAL = :semi_annual - MONTHLY = :monthly - QUARTERLY = :quarterly - ONE_TIME = :one_time - CUSTOM = :custom - - # @!method self.values - # @return [Array] - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName#billing_cycle_configuration - class BillingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @param duration [Integer] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName#dimensional_price_configuration - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # The list of dimension values matching (in order) the dimensions of the price - # group - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String] - - # @!attribute dimensional_price_group_id - # The id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :dimensional_price_group_id, String, nil?: true - - # @!attribute external_dimensional_price_group_id - # The external id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :external_dimensional_price_group_id, String, nil?: true - - # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration} - # for more details. - # - # For dimensional price: specifies a price group and dimension values - # - # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro - # - # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in - # - # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName#invoicing_cycle_configuration - class InvoicingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # 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] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - end - - class BulkWithProration < Orb::Internal::Type::BaseModel - # @!attribute bulk_with_proration_config - # - # @return [Hash{Symbol=>Object}] - required :bulk_with_proration_config, - Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] - - # @!attribute cadence - # The cadence to bill for this price on. - # - # @return [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::Cadence] - required :cadence, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::Cadence - } - - # @!attribute item_id - # The id of the item the price will be associated with. - # - # @return [String] - required :item_id, String - - # @!attribute model_type - # - # @return [Symbol, :bulk_with_proration] - required :model_type, const: :bulk_with_proration - - # @!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::Internal::Type::Boolean, nil?: true - - # @!attribute billing_cycle_configuration - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration, nil] - optional :billing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::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 dimensional_price_configuration - # For dimensional price: specifies a price group and dimension values - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::DimensionalPriceConfiguration, nil] - optional :dimensional_price_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::DimensionalPriceConfiguration - }, - 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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration, nil] - optional :invoicing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::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::Internal::Type::HashOf[String, nil?: true], nil?: true - - # @!method initialize(bulk_with_proration_config:, cadence:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :bulk_with_proration) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration} - # for more details. - # - # @param bulk_with_proration_config [Hash{Symbol=>Object}] - # - # @param cadence [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::Cadence] The cadence to bill for this price on. - # - # @param item_id [String] The id of the item the price will be associated with. - # - # @param name [String] The name of the price. - # - # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b - # - # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi - # - # @param billing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont - # - # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. - # - # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr - # - # @param dimensional_price_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values - # - # @param external_price_id [String, nil] An alias for the price. - # - # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl - # - # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice - # - # @param invoicing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. - # - # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed - # - # @param model_type [Symbol, :bulk_with_proration] - - # The cadence to bill for this price on. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration#cadence - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL = :annual - SEMI_ANNUAL = :semi_annual - MONTHLY = :monthly - QUARTERLY = :quarterly - ONE_TIME = :one_time - CUSTOM = :custom - - # @!method self.values - # @return [Array] - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration#billing_cycle_configuration - class BillingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @param duration [Integer] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration#dimensional_price_configuration - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # The list of dimension values matching (in order) the dimensions of the price - # group - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String] - - # @!attribute dimensional_price_group_id - # The id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :dimensional_price_group_id, String, nil?: true - - # @!attribute external_dimensional_price_group_id - # The external id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :external_dimensional_price_group_id, String, nil?: true - - # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::DimensionalPriceConfiguration} - # for more details. - # - # For dimensional price: specifies a price group and dimension values - # - # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro - # - # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in - # - # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration#invoicing_cycle_configuration - class InvoicingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # 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] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - end - - class GroupedTieredPackage < Orb::Internal::Type::BaseModel - # @!attribute cadence - # The cadence to bill for this price on. - # - # @return [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::Cadence] - required :cadence, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::Cadence - } - - # @!attribute grouped_tiered_package_config - # - # @return [Hash{Symbol=>Object}] - required :grouped_tiered_package_config, - Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] - - # @!attribute item_id - # The id of the item the price will be associated with. - # - # @return [String] - required :item_id, String - - # @!attribute model_type - # - # @return [Symbol, :grouped_tiered_package] - required :model_type, const: :grouped_tiered_package - - # @!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::Internal::Type::Boolean, nil?: true - - # @!attribute billing_cycle_configuration - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration, nil] - optional :billing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::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 dimensional_price_configuration - # For dimensional price: specifies a price group and dimension values - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration, nil] - optional :dimensional_price_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration - }, - 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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration, nil] - optional :invoicing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::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::Internal::Type::HashOf[String, nil?: true], nil?: true - - # @!method initialize(cadence:, grouped_tiered_package_config:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :grouped_tiered_package) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage} - # for more details. - # - # @param cadence [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::Cadence] The cadence to bill for this price on. - # - # @param grouped_tiered_package_config [Hash{Symbol=>Object}] - # - # @param item_id [String] The id of the item the price will be associated with. - # - # @param name [String] The name of the price. - # - # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b - # - # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi - # - # @param billing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont - # - # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. - # - # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr - # - # @param dimensional_price_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values - # - # @param external_price_id [String, nil] An alias for the price. - # - # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl - # - # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice - # - # @param invoicing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. - # - # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed - # - # @param model_type [Symbol, :grouped_tiered_package] - - # The cadence to bill for this price on. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage#cadence - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL = :annual - SEMI_ANNUAL = :semi_annual - MONTHLY = :monthly - QUARTERLY = :quarterly - ONE_TIME = :one_time - CUSTOM = :custom - - # @!method self.values - # @return [Array] - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage#billing_cycle_configuration - class BillingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @param duration [Integer] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage#dimensional_price_configuration - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # The list of dimension values matching (in order) the dimensions of the price - # group - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String] - - # @!attribute dimensional_price_group_id - # The id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :dimensional_price_group_id, String, nil?: true - - # @!attribute external_dimensional_price_group_id - # The external id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :external_dimensional_price_group_id, String, nil?: true - - # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration} - # for more details. - # - # For dimensional price: specifies a price group and dimension values - # - # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro - # - # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in - # - # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage#invoicing_cycle_configuration - class InvoicingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # 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] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - end - - class MaxGroupTieredPackage < Orb::Internal::Type::BaseModel - # @!attribute cadence - # The cadence to bill for this price on. - # - # @return [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::Cadence] - required :cadence, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::Cadence - } - - # @!attribute item_id - # The id of the item the price will be associated with. - # - # @return [String] - required :item_id, String - - # @!attribute max_group_tiered_package_config - # - # @return [Hash{Symbol=>Object}] - required :max_group_tiered_package_config, - Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] - - # @!attribute model_type - # - # @return [Symbol, :max_group_tiered_package] - required :model_type, const: :max_group_tiered_package - - # @!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::Internal::Type::Boolean, nil?: true - - # @!attribute billing_cycle_configuration - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration, nil] - optional :billing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::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 dimensional_price_configuration - # For dimensional price: specifies a price group and dimension values - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration, nil] - optional :dimensional_price_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration - }, - 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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration, nil] - optional :invoicing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::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::Internal::Type::HashOf[String, nil?: true], nil?: true - - # @!method initialize(cadence:, item_id:, max_group_tiered_package_config:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :max_group_tiered_package) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage} - # for more details. - # - # @param cadence [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::Cadence] The cadence to bill for this price on. - # - # @param item_id [String] The id of the item the price will be associated with. - # - # @param max_group_tiered_package_config [Hash{Symbol=>Object}] - # - # @param name [String] The name of the price. - # - # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b - # - # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi - # - # @param billing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont - # - # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. - # - # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr - # - # @param dimensional_price_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values - # - # @param external_price_id [String, nil] An alias for the price. - # - # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl - # - # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice - # - # @param invoicing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. - # - # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed - # - # @param model_type [Symbol, :max_group_tiered_package] - - # The cadence to bill for this price on. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage#cadence - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL = :annual - SEMI_ANNUAL = :semi_annual - MONTHLY = :monthly - QUARTERLY = :quarterly - ONE_TIME = :one_time - CUSTOM = :custom - - # @!method self.values - # @return [Array] - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage#billing_cycle_configuration - class BillingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @param duration [Integer] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage#dimensional_price_configuration - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # The list of dimension values matching (in order) the dimensions of the price - # group - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String] - - # @!attribute dimensional_price_group_id - # The id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :dimensional_price_group_id, String, nil?: true - - # @!attribute external_dimensional_price_group_id - # The external id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :external_dimensional_price_group_id, String, nil?: true - - # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration} - # for more details. - # - # For dimensional price: specifies a price group and dimension values - # - # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro - # - # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in - # - # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage#invoicing_cycle_configuration - class InvoicingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # 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] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - end - - class ScalableMatrixWithUnitPricing < Orb::Internal::Type::BaseModel - # @!attribute cadence - # The cadence to bill for this price on. - # - # @return [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::Cadence] - required :cadence, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::Cadence - } - - # @!attribute item_id - # The id of the item the price will be associated with. - # - # @return [String] - required :item_id, String - - # @!attribute model_type - # - # @return [Symbol, :scalable_matrix_with_unit_pricing] - required :model_type, const: :scalable_matrix_with_unit_pricing - - # @!attribute name - # The name of the price. - # - # @return [String] - required :name, String - - # @!attribute scalable_matrix_with_unit_pricing_config - # - # @return [Hash{Symbol=>Object}] - required :scalable_matrix_with_unit_pricing_config, - Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] - - # @!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::Internal::Type::Boolean, nil?: true - - # @!attribute billing_cycle_configuration - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration, nil] - optional :billing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::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 dimensional_price_configuration - # For dimensional price: specifies a price group and dimension values - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration, nil] - optional :dimensional_price_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration - }, - 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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration, nil] - optional :invoicing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::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::Internal::Type::HashOf[String, nil?: true], nil?: true - - # @!method initialize(cadence:, item_id:, name:, scalable_matrix_with_unit_pricing_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :scalable_matrix_with_unit_pricing) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing} - # for more details. - # - # @param cadence [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::Cadence] The cadence to bill for this price on. - # - # @param item_id [String] The id of the item the price will be associated with. - # - # @param name [String] The name of the price. - # - # @param scalable_matrix_with_unit_pricing_config [Hash{Symbol=>Object}] - # - # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b - # - # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi - # - # @param billing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont - # - # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. - # - # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr - # - # @param dimensional_price_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values - # - # @param external_price_id [String, nil] An alias for the price. - # - # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl - # - # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice - # - # @param invoicing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. - # - # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed - # - # @param model_type [Symbol, :scalable_matrix_with_unit_pricing] - - # The cadence to bill for this price on. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing#cadence - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL = :annual - SEMI_ANNUAL = :semi_annual - MONTHLY = :monthly - QUARTERLY = :quarterly - ONE_TIME = :one_time - CUSTOM = :custom - - # @!method self.values - # @return [Array] - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing#billing_cycle_configuration - class BillingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @param duration [Integer] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing#dimensional_price_configuration - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # The list of dimension values matching (in order) the dimensions of the price - # group - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String] - - # @!attribute dimensional_price_group_id - # The id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :dimensional_price_group_id, String, nil?: true - - # @!attribute external_dimensional_price_group_id - # The external id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :external_dimensional_price_group_id, String, nil?: true - - # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration} - # for more details. - # - # For dimensional price: specifies a price group and dimension values - # - # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro - # - # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in - # - # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing#invoicing_cycle_configuration - class InvoicingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # 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] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - end - - class ScalableMatrixWithTieredPricing < Orb::Internal::Type::BaseModel - # @!attribute cadence - # The cadence to bill for this price on. - # - # @return [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::Cadence] - required :cadence, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::Cadence - } - - # @!attribute item_id - # The id of the item the price will be associated with. - # - # @return [String] - required :item_id, String - - # @!attribute model_type - # - # @return [Symbol, :scalable_matrix_with_tiered_pricing] - required :model_type, const: :scalable_matrix_with_tiered_pricing - - # @!attribute name - # The name of the price. - # - # @return [String] - required :name, String - - # @!attribute scalable_matrix_with_tiered_pricing_config - # - # @return [Hash{Symbol=>Object}] - required :scalable_matrix_with_tiered_pricing_config, - Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] - - # @!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::Internal::Type::Boolean, nil?: true - - # @!attribute billing_cycle_configuration - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration, nil] - optional :billing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::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 dimensional_price_configuration - # For dimensional price: specifies a price group and dimension values - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration, nil] - optional :dimensional_price_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration - }, - 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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration, nil] - optional :invoicing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::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::Internal::Type::HashOf[String, nil?: true], nil?: true - - # @!method initialize(cadence:, item_id:, name:, scalable_matrix_with_tiered_pricing_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :scalable_matrix_with_tiered_pricing) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing} - # for more details. - # - # @param cadence [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::Cadence] The cadence to bill for this price on. - # - # @param item_id [String] The id of the item the price will be associated with. - # - # @param name [String] The name of the price. - # - # @param scalable_matrix_with_tiered_pricing_config [Hash{Symbol=>Object}] - # - # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b - # - # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi - # - # @param billing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont - # - # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. - # - # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr - # - # @param dimensional_price_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values - # - # @param external_price_id [String, nil] An alias for the price. - # - # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl - # - # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice - # - # @param invoicing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. - # - # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed - # - # @param model_type [Symbol, :scalable_matrix_with_tiered_pricing] - - # The cadence to bill for this price on. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing#cadence - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL = :annual - SEMI_ANNUAL = :semi_annual - MONTHLY = :monthly - QUARTERLY = :quarterly - ONE_TIME = :one_time - CUSTOM = :custom - - # @!method self.values - # @return [Array] - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing#billing_cycle_configuration - class BillingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @param duration [Integer] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing#dimensional_price_configuration - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # The list of dimension values matching (in order) the dimensions of the price - # group - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String] - - # @!attribute dimensional_price_group_id - # The id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :dimensional_price_group_id, String, nil?: true - - # @!attribute external_dimensional_price_group_id - # The external id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :external_dimensional_price_group_id, String, nil?: true - - # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration} - # for more details. - # - # For dimensional price: specifies a price group and dimension values - # - # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro - # - # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in - # - # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing#invoicing_cycle_configuration - class InvoicingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # 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] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - end - - class CumulativeGroupedBulk < Orb::Internal::Type::BaseModel - # @!attribute cadence - # The cadence to bill for this price on. - # - # @return [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::Cadence] - required :cadence, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::Cadence - } - - # @!attribute cumulative_grouped_bulk_config - # - # @return [Hash{Symbol=>Object}] - required :cumulative_grouped_bulk_config, - Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] - - # @!attribute item_id - # The id of the item the price 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::Internal::Type::Boolean, nil?: true - - # @!attribute billing_cycle_configuration - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration, nil] - optional :billing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::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 dimensional_price_configuration - # For dimensional price: specifies a price group and dimension values - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration, nil] - optional :dimensional_price_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration - }, - 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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration, nil] - optional :invoicing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::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::Internal::Type::HashOf[String, nil?: true], nil?: true - - # @!method 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, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :cumulative_grouped_bulk) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk} - # for more details. - # - # @param cadence [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::Cadence] The cadence to bill for this price on. - # - # @param cumulative_grouped_bulk_config [Hash{Symbol=>Object}] - # - # @param item_id [String] The id of the item the price will be associated with. - # - # @param name [String] The name of the price. - # - # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b - # - # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi - # - # @param billing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont - # - # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. - # - # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr - # - # @param dimensional_price_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values - # - # @param external_price_id [String, nil] An alias for the price. - # - # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl - # - # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice - # - # @param invoicing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. - # - # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed - # - # @param model_type [Symbol, :cumulative_grouped_bulk] - - # The cadence to bill for this price on. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk#cadence - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL = :annual - SEMI_ANNUAL = :semi_annual - MONTHLY = :monthly - QUARTERLY = :quarterly - ONE_TIME = :one_time - CUSTOM = :custom - - # @!method self.values - # @return [Array] - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk#billing_cycle_configuration - class BillingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @param duration [Integer] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk#dimensional_price_configuration - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # The list of dimension values matching (in order) the dimensions of the price - # group - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String] - - # @!attribute dimensional_price_group_id - # The id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :dimensional_price_group_id, String, nil?: true - - # @!attribute external_dimensional_price_group_id - # The external id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :external_dimensional_price_group_id, String, nil?: true - - # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration} - # for more details. - # - # For dimensional price: specifies a price group and dimension values - # - # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro - # - # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in - # - # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk#invoicing_cycle_configuration - class InvoicingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # 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] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - end - - class TieredPackageWithMinimum < Orb::Internal::Type::BaseModel - # @!attribute cadence - # The cadence to bill for this price on. - # - # @return [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::Cadence] - required :cadence, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::Cadence - } - - # @!attribute item_id - # The id of the item the price will be associated with. - # - # @return [String] - required :item_id, String - - # @!attribute model_type - # - # @return [Symbol, :tiered_package_with_minimum] - required :model_type, const: :tiered_package_with_minimum - - # @!attribute name - # The name of the price. - # - # @return [String] - required :name, String - - # @!attribute tiered_package_with_minimum_config - # - # @return [Hash{Symbol=>Object}] - required :tiered_package_with_minimum_config, - Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] - - # @!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::Internal::Type::Boolean, nil?: true - - # @!attribute billing_cycle_configuration - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration, nil] - optional :billing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::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 dimensional_price_configuration - # For dimensional price: specifies a price group and dimension values - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration, nil] - optional :dimensional_price_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration - }, - 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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration, nil] - optional :invoicing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::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::Internal::Type::HashOf[String, nil?: true], nil?: true - - # @!method initialize(cadence:, item_id:, name:, tiered_package_with_minimum_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :tiered_package_with_minimum) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum} - # for more details. - # - # @param cadence [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::Cadence] The cadence to bill for this price on. - # - # @param item_id [String] The id of the item the price will be associated with. - # - # @param name [String] The name of the price. - # - # @param tiered_package_with_minimum_config [Hash{Symbol=>Object}] - # - # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b - # - # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi - # - # @param billing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont - # - # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. - # - # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr - # - # @param dimensional_price_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values - # - # @param external_price_id [String, nil] An alias for the price. - # - # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl - # - # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice - # - # @param invoicing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. - # - # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed - # - # @param model_type [Symbol, :tiered_package_with_minimum] - - # The cadence to bill for this price on. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum#cadence - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL = :annual - SEMI_ANNUAL = :semi_annual - MONTHLY = :monthly - QUARTERLY = :quarterly - ONE_TIME = :one_time - CUSTOM = :custom - - # @!method self.values - # @return [Array] - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum#billing_cycle_configuration - class BillingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @param duration [Integer] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum#dimensional_price_configuration - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # The list of dimension values matching (in order) the dimensions of the price - # group - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String] - - # @!attribute dimensional_price_group_id - # The id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :dimensional_price_group_id, String, nil?: true - - # @!attribute external_dimensional_price_group_id - # The external id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :external_dimensional_price_group_id, String, nil?: true - - # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration} - # for more details. - # - # For dimensional price: specifies a price group and dimension values - # - # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro - # - # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in - # - # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum#invoicing_cycle_configuration - class InvoicingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # 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] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - end - - class MatrixWithAllocation < Orb::Internal::Type::BaseModel - # @!attribute cadence - # The cadence to bill for this price on. - # - # @return [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::Cadence] - required :cadence, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::Cadence - } - - # @!attribute item_id - # The id of the item the price will be associated with. - # - # @return [String] - required :item_id, String - - # @!attribute matrix_with_allocation_config - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig] - required :matrix_with_allocation_config, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig - } - - # @!attribute model_type - # - # @return [Symbol, :matrix_with_allocation] - required :model_type, const: :matrix_with_allocation - - # @!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::Internal::Type::Boolean, nil?: true - - # @!attribute billing_cycle_configuration - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration, nil] - optional :billing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::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 dimensional_price_configuration - # For dimensional price: specifies a price group and dimension values - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration, nil] - optional :dimensional_price_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration - }, - 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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration, nil] - optional :invoicing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::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::Internal::Type::HashOf[String, nil?: true], nil?: true - - # @!method initialize(cadence:, item_id:, matrix_with_allocation_config:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :matrix_with_allocation) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation} - # for more details. - # - # @param cadence [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::Cadence] The cadence to bill for this price on. - # - # @param item_id [String] The id of the item the price will be associated with. - # - # @param matrix_with_allocation_config [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig] - # - # @param name [String] The name of the price. - # - # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b - # - # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi - # - # @param billing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont - # - # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. - # - # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr - # - # @param dimensional_price_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values - # - # @param external_price_id [String, nil] An alias for the price. - # - # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl - # - # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice - # - # @param invoicing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. - # - # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed - # - # @param model_type [Symbol, :matrix_with_allocation] - - # The cadence to bill for this price on. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation#cadence - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL = :annual - SEMI_ANNUAL = :semi_annual - MONTHLY = :monthly - QUARTERLY = :quarterly - ONE_TIME = :one_time - CUSTOM = :custom - - # @!method self.values - # @return [Array] - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation#matrix_with_allocation_config - class MatrixWithAllocationConfig < Orb::Internal::Type::BaseModel - # @!attribute allocation - # Allocation to be used to calculate the price - # - # @return [Float] - required :allocation, Float - - # @!attribute default_unit_amount - # Default per unit rate for any usage not bucketed into a specified matrix_value - # - # @return [String] - required :default_unit_amount, String - - # @!attribute dimensions - # One or two event property values to evaluate matrix groups by - # - # @return [Array] - required :dimensions, Orb::Internal::Type::ArrayOf[String, nil?: true] - - # @!attribute matrix_values - # Matrix values for specified matrix grouping keys - # - # @return [Array] - required :matrix_values, - -> do - Orb::Internal::Type::ArrayOf[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue - ] - end - - # @!method initialize(allocation:, default_unit_amount:, dimensions:, matrix_values:) - # @param allocation [Float] Allocation to be used to calculate the price - # - # @param default_unit_amount [String] Default per unit rate for any usage not bucketed into a specified matrix_value - # - # @param dimensions [Array] One or two event property values to evaluate matrix groups by - # - # @param matrix_values [Array] Matrix values for specified matrix grouping keys - - class MatrixValue < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # One or two matrix keys to filter usage to this Matrix value by. For example, - # ["region", "tier"] could be used to filter cloud usage by a cloud region and an - # instance tier. - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String, nil?: true] - - # @!attribute unit_amount - # Unit price for the specified dimension_values - # - # @return [String] - required :unit_amount, String - - # @!method initialize(dimension_values:, unit_amount:) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue} - # for more details. - # - # @param dimension_values [Array] One or two matrix keys to filter usage to this Matrix value by. For example, ["r - # - # @param unit_amount [String] Unit price for the specified dimension_values - end - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation#billing_cycle_configuration - class BillingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @param duration [Integer] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation#dimensional_price_configuration - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # The list of dimension values matching (in order) the dimensions of the price - # group - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String] - - # @!attribute dimensional_price_group_id - # The id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :dimensional_price_group_id, String, nil?: true - - # @!attribute external_dimensional_price_group_id - # The external id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :external_dimensional_price_group_id, String, nil?: true - - # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration} - # for more details. - # - # For dimensional price: specifies a price group and dimension values - # - # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro - # - # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in - # - # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation#invoicing_cycle_configuration - class InvoicingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # 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] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - end - - class GroupedTiered < Orb::Internal::Type::BaseModel - # @!attribute cadence - # The cadence to bill for this price on. - # - # @return [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::Cadence] - required :cadence, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::Cadence - } - - # @!attribute grouped_tiered_config - # - # @return [Hash{Symbol=>Object}] - required :grouped_tiered_config, Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] - - # @!attribute item_id - # The id of the item the price will be associated with. - # - # @return [String] - required :item_id, String - - # @!attribute model_type - # - # @return [Symbol, :grouped_tiered] - required :model_type, const: :grouped_tiered - - # @!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::Internal::Type::Boolean, nil?: true - - # @!attribute billing_cycle_configuration - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration, nil] - optional :billing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::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 dimensional_price_configuration - # For dimensional price: specifies a price group and dimension values - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::DimensionalPriceConfiguration, nil] - optional :dimensional_price_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::DimensionalPriceConfiguration - }, - 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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration, nil] - optional :invoicing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::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::Internal::Type::HashOf[String, nil?: true], nil?: true - - # @!method initialize(cadence:, grouped_tiered_config:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :grouped_tiered) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered} - # for more details. - # - # @param cadence [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::Cadence] The cadence to bill for this price on. - # - # @param grouped_tiered_config [Hash{Symbol=>Object}] - # - # @param item_id [String] The id of the item the price will be associated with. - # - # @param name [String] The name of the price. - # - # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b - # - # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi - # - # @param billing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont - # - # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. - # - # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr - # - # @param dimensional_price_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values - # - # @param external_price_id [String, nil] An alias for the price. - # - # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl - # - # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice - # - # @param invoicing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. - # - # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed - # - # @param model_type [Symbol, :grouped_tiered] - - # The cadence to bill for this price on. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered#cadence - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL = :annual - SEMI_ANNUAL = :semi_annual - MONTHLY = :monthly - QUARTERLY = :quarterly - ONE_TIME = :one_time - CUSTOM = :custom - - # @!method self.values - # @return [Array] - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered#billing_cycle_configuration - class BillingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @param duration [Integer] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered#dimensional_price_configuration - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # The list of dimension values matching (in order) the dimensions of the price - # group - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String] - - # @!attribute dimensional_price_group_id - # The id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :dimensional_price_group_id, String, nil?: true - - # @!attribute external_dimensional_price_group_id - # The external id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :external_dimensional_price_group_id, String, nil?: true - - # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::DimensionalPriceConfiguration} - # for more details. - # - # For dimensional price: specifies a price group and dimension values - # - # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro - # - # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in - # - # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered#invoicing_cycle_configuration - class InvoicingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # 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] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - end - - # @!method self.variants - # @return [Array(Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered)] - end - end - - class RemoveAdjustment < Orb::Internal::Type::BaseModel - # @!attribute adjustment_id - # The id of the adjustment to remove from on the plan. - # - # @return [String] - required :adjustment_id, String - - # @!attribute plan_phase_order - # The phase to remove this adjustment from. - # - # @return [Integer, nil] - optional :plan_phase_order, Integer, nil?: true - - # @!method initialize(adjustment_id:, plan_phase_order: nil) - # @param adjustment_id [String] The id of the adjustment to remove from on the plan. - # - # @param plan_phase_order [Integer, nil] The phase to remove this adjustment from. - end - - class RemovePrice < Orb::Internal::Type::BaseModel - # @!attribute price_id - # The id of the price to remove from the plan. - # - # @return [String] - required :price_id, String - - # @!attribute plan_phase_order - # The phase to remove this price from. - # - # @return [Integer, nil] - optional :plan_phase_order, Integer, nil?: true - - # @!method initialize(price_id:, plan_phase_order: nil) - # @param price_id [String] The id of the price to remove from the plan. - # - # @param plan_phase_order [Integer, nil] The phase to remove this price from. - end - - class ReplaceAdjustment < Orb::Internal::Type::BaseModel - # @!attribute adjustment - # The definition of a new adjustment to create and add to the plan. - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplaceAdjustment::Adjustment::PercentageDiscount, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplaceAdjustment::Adjustment::UsageDiscount, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplaceAdjustment::Adjustment::AmountDiscount, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplaceAdjustment::Adjustment::Minimum, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplaceAdjustment::Adjustment::Maximum] - required :adjustment, - union: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplaceAdjustment::Adjustment - } - - # @!attribute replaces_adjustment_id - # The id of the adjustment on the plan to replace in the plan. - # - # @return [String] - required :replaces_adjustment_id, String - - # @!attribute plan_phase_order - # The phase to replace this adjustment from. - # - # @return [Integer, nil] - optional :plan_phase_order, Integer, nil?: true - - # @!method initialize(adjustment:, replaces_adjustment_id:, plan_phase_order: nil) - # @param adjustment [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplaceAdjustment::Adjustment::PercentageDiscount, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplaceAdjustment::Adjustment::UsageDiscount, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplaceAdjustment::Adjustment::AmountDiscount, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplaceAdjustment::Adjustment::Minimum, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplaceAdjustment::Adjustment::Maximum] The definition of a new adjustment to create and add to the plan. - # - # @param replaces_adjustment_id [String] The id of the adjustment on the plan to replace in the plan. - # - # @param plan_phase_order [Integer, nil] The phase to replace this adjustment from. - - # The definition of a new adjustment to create and add to the plan. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplaceAdjustment#adjustment - module Adjustment - extend Orb::Internal::Type::Union - - discriminator :adjustment_type - - variant :percentage_discount, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplaceAdjustment::Adjustment::PercentageDiscount - } - - variant :usage_discount, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplaceAdjustment::Adjustment::UsageDiscount - } - - variant :amount_discount, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplaceAdjustment::Adjustment::AmountDiscount - } - - variant :minimum, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplaceAdjustment::Adjustment::Minimum - } - - variant :maximum, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplaceAdjustment::Adjustment::Maximum - } - - class PercentageDiscount < Orb::Internal::Type::BaseModel - # @!attribute adjustment_type - # - # @return [Symbol, :percentage_discount] - required :adjustment_type, const: :percentage_discount - - # @!attribute percentage_discount - # - # @return [Float] - required :percentage_discount, Float - - # @!attribute applies_to_price_ids - # The set of price IDs to which this adjustment applies. - # - # @return [Array, nil] - optional :applies_to_price_ids, Orb::Internal::Type::ArrayOf[String], nil?: true - - # @!attribute is_invoice_level - # When false, this adjustment will be applied to a single price. Otherwise, it - # will be applied at the invoice level, possibly to multiple prices. - # - # @return [Boolean, nil] - optional :is_invoice_level, Orb::Internal::Type::Boolean - - # @!method initialize(percentage_discount:, applies_to_price_ids: nil, is_invoice_level: nil, adjustment_type: :percentage_discount) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplaceAdjustment::Adjustment::PercentageDiscount} - # for more details. - # - # @param percentage_discount [Float] - # - # @param applies_to_price_ids [Array, nil] The set of price IDs to which this adjustment applies. - # - # @param is_invoice_level [Boolean] When false, this adjustment will be applied to a single price. Otherwise, it wil - # - # @param adjustment_type [Symbol, :percentage_discount] - end - - class UsageDiscount < Orb::Internal::Type::BaseModel - # @!attribute adjustment_type - # - # @return [Symbol, :usage_discount] - required :adjustment_type, const: :usage_discount - - # @!attribute usage_discount - # - # @return [Float] - required :usage_discount, Float - - # @!attribute applies_to_price_ids - # The set of price IDs to which this adjustment applies. - # - # @return [Array, nil] - optional :applies_to_price_ids, Orb::Internal::Type::ArrayOf[String], nil?: true - - # @!attribute is_invoice_level - # When false, this adjustment will be applied to a single price. Otherwise, it - # will be applied at the invoice level, possibly to multiple prices. - # - # @return [Boolean, nil] - optional :is_invoice_level, Orb::Internal::Type::Boolean - - # @!method initialize(usage_discount:, applies_to_price_ids: nil, is_invoice_level: nil, adjustment_type: :usage_discount) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplaceAdjustment::Adjustment::UsageDiscount} - # for more details. - # - # @param usage_discount [Float] - # - # @param applies_to_price_ids [Array, nil] The set of price IDs to which this adjustment applies. - # - # @param is_invoice_level [Boolean] When false, this adjustment will be applied to a single price. Otherwise, it wil - # - # @param adjustment_type [Symbol, :usage_discount] - end - - class AmountDiscount < Orb::Internal::Type::BaseModel - # @!attribute adjustment_type - # - # @return [Symbol, :amount_discount] - required :adjustment_type, const: :amount_discount - - # @!attribute amount_discount - # - # @return [String] - required :amount_discount, String - - # @!attribute applies_to_price_ids - # The set of price IDs to which this adjustment applies. - # - # @return [Array, nil] - optional :applies_to_price_ids, Orb::Internal::Type::ArrayOf[String], nil?: true - - # @!attribute is_invoice_level - # When false, this adjustment will be applied to a single price. Otherwise, it - # will be applied at the invoice level, possibly to multiple prices. - # - # @return [Boolean, nil] - optional :is_invoice_level, Orb::Internal::Type::Boolean - - # @!method initialize(amount_discount:, applies_to_price_ids: nil, is_invoice_level: nil, adjustment_type: :amount_discount) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplaceAdjustment::Adjustment::AmountDiscount} - # for more details. - # - # @param amount_discount [String] - # - # @param applies_to_price_ids [Array, nil] The set of price IDs to which this adjustment applies. - # - # @param is_invoice_level [Boolean] When false, this adjustment will be applied to a single price. Otherwise, it wil - # - # @param adjustment_type [Symbol, :amount_discount] - end - - class Minimum < Orb::Internal::Type::BaseModel - # @!attribute adjustment_type - # - # @return [Symbol, :minimum] - required :adjustment_type, const: :minimum - - # @!attribute item_id - # The item ID that revenue from this minimum will be attributed to. - # - # @return [String] - required :item_id, String - - # @!attribute minimum_amount - # - # @return [String] - required :minimum_amount, String - - # @!attribute applies_to_price_ids - # The set of price IDs to which this adjustment applies. - # - # @return [Array, nil] - optional :applies_to_price_ids, Orb::Internal::Type::ArrayOf[String], nil?: true - - # @!attribute is_invoice_level - # When false, this adjustment will be applied to a single price. Otherwise, it - # will be applied at the invoice level, possibly to multiple prices. - # - # @return [Boolean, nil] - optional :is_invoice_level, Orb::Internal::Type::Boolean - - # @!method initialize(item_id:, minimum_amount:, applies_to_price_ids: nil, is_invoice_level: nil, adjustment_type: :minimum) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplaceAdjustment::Adjustment::Minimum} - # for more details. - # - # @param item_id [String] The item ID that revenue from this minimum will be attributed to. - # - # @param minimum_amount [String] - # - # @param applies_to_price_ids [Array, nil] The set of price IDs to which this adjustment applies. - # - # @param is_invoice_level [Boolean] When false, this adjustment will be applied to a single price. Otherwise, it wil - # - # @param adjustment_type [Symbol, :minimum] - end - - class Maximum < Orb::Internal::Type::BaseModel - # @!attribute adjustment_type - # - # @return [Symbol, :maximum] - required :adjustment_type, const: :maximum - - # @!attribute maximum_amount - # - # @return [String] - required :maximum_amount, String - - # @!attribute applies_to_price_ids - # The set of price IDs to which this adjustment applies. - # - # @return [Array, nil] - optional :applies_to_price_ids, Orb::Internal::Type::ArrayOf[String], nil?: true - - # @!attribute is_invoice_level - # When false, this adjustment will be applied to a single price. Otherwise, it - # will be applied at the invoice level, possibly to multiple prices. - # - # @return [Boolean, nil] - optional :is_invoice_level, Orb::Internal::Type::Boolean - - # @!method initialize(maximum_amount:, applies_to_price_ids: nil, is_invoice_level: nil, adjustment_type: :maximum) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplaceAdjustment::Adjustment::Maximum} - # for more details. - # - # @param maximum_amount [String] - # - # @param applies_to_price_ids [Array, nil] The set of price IDs to which this adjustment applies. - # - # @param is_invoice_level [Boolean] When false, this adjustment will be applied to a single price. Otherwise, it wil - # - # @param adjustment_type [Symbol, :maximum] - end - - # @!method self.variants - # @return [Array(Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplaceAdjustment::Adjustment::PercentageDiscount, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplaceAdjustment::Adjustment::UsageDiscount, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplaceAdjustment::Adjustment::AmountDiscount, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplaceAdjustment::Adjustment::Minimum, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplaceAdjustment::Adjustment::Maximum)] - end - end - - class ReplacePrice < Orb::Internal::Type::BaseModel - # @!attribute replaces_price_id - # The id of the price on the plan to replace in the plan. - # - # @return [String] - required :replaces_price_id, String - - # @!attribute allocation_price - # The allocation price to add to the plan. - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::AllocationPrice, nil] - optional :allocation_price, - -> { Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::AllocationPrice }, - nil?: true - - # @!attribute plan_phase_order - # The phase to replace this price from. - # - # @return [Integer, nil] - optional :plan_phase_order, Integer, nil?: true - - # @!attribute price - # The price to add to the plan - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered, nil] - optional :price, - union: -> { Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price }, - nil?: true - - # @!method initialize(replaces_price_id:, allocation_price: nil, plan_phase_order: nil, price: nil) - # @param replaces_price_id [String] The id of the price on the plan to replace in the plan. - # - # @param allocation_price [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::AllocationPrice, nil] The allocation price to add to the plan. - # - # @param plan_phase_order [Integer, nil] The phase to replace this price from. - # - # @param price [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered, nil] The price to add to the plan - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice#allocation_price - class AllocationPrice < Orb::Internal::Type::BaseModel - # @!attribute amount - # An amount of the currency to allocate to the customer at the specified cadence. - # - # @return [String] - required :amount, String - - # @!attribute cadence - # The cadence at which to allocate the amount to the customer. - # - # @return [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::AllocationPrice::Cadence] - required :cadence, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::AllocationPrice::Cadence - } - - # @!attribute currency - # An ISO 4217 currency string or a custom pricing unit identifier in which to bill - # this price. - # - # @return [String] - required :currency, String - - # @!attribute expires_at_end_of_cadence - # Whether the allocated amount should expire at the end of the cadence or roll - # over to the next period. - # - # @return [Boolean] - required :expires_at_end_of_cadence, Orb::Internal::Type::Boolean - - # @!method initialize(amount:, cadence:, currency:, expires_at_end_of_cadence:) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::AllocationPrice} - # for more details. - # - # The allocation price to add to the plan. - # - # @param amount [String] An amount of the currency to allocate to the customer at the specified cadence. - # - # @param cadence [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::AllocationPrice::Cadence] The cadence at which to allocate the amount to the customer. - # - # @param currency [String] An ISO 4217 currency string or a custom pricing unit identifier in which to bill - # - # @param expires_at_end_of_cadence [Boolean] Whether the allocated amount should expire at the end of the cadence or roll ove - - # The cadence at which to allocate the amount to the customer. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::AllocationPrice#cadence - module Cadence - extend Orb::Internal::Type::Enum - - ONE_TIME = :one_time - MONTHLY = :monthly - QUARTERLY = :quarterly - SEMI_ANNUAL = :semi_annual - ANNUAL = :annual - CUSTOM = :custom - - # @!method self.values - # @return [Array] - end - end - - # The price to add to the plan - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice#price - module Price - extend Orb::Internal::Type::Union - - discriminator :model_type - - variant :unit, -> { Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit } - - variant :package, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package - } - - variant :matrix, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix - } - - variant :tiered, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered - } - - variant :tiered_bps, - -> { Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps } - - variant :bps, -> { Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps } - - variant :bulk_bps, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps - } - - variant :bulk, -> { Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk } - - variant :threshold_total_amount, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount - } - - variant :tiered_package, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage - } - - variant :tiered_with_minimum, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum - } - - variant :unit_with_percent, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent - } - - variant :package_with_allocation, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation - } - - variant :tiered_with_proration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration - } - - variant :unit_with_proration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration - } - - variant :grouped_allocation, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation - } - - variant :grouped_with_prorated_minimum, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum - } - - variant :grouped_with_metered_minimum, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum - } - - variant :matrix_with_display_name, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName - } - - variant :bulk_with_proration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration - } - - variant :grouped_tiered_package, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage - } - - variant :max_group_tiered_package, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage - } - - variant :scalable_matrix_with_unit_pricing, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing - } - - variant :scalable_matrix_with_tiered_pricing, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing - } - - variant :cumulative_grouped_bulk, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk - } - - variant :tiered_package_with_minimum, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum - } - - variant :matrix_with_allocation, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation - } - - variant :grouped_tiered, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered - } - - class Unit < Orb::Internal::Type::BaseModel - # @!attribute cadence - # The cadence to bill for this price on. - # - # @return [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::Cadence] - required :cadence, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::Cadence - } - - # @!attribute item_id - # The id of the item the price will be associated with. - # - # @return [String] - required :item_id, String - - # @!attribute model_type - # - # @return [Symbol, :unit] - required :model_type, const: :unit - - # @!attribute name - # The name of the price. - # - # @return [String] - required :name, String - - # @!attribute unit_config - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::UnitConfig] - required :unit_config, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::UnitConfig - } - - # @!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::Internal::Type::Boolean, nil?: true - - # @!attribute billing_cycle_configuration - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::BillingCycleConfiguration, nil] - optional :billing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::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 dimensional_price_configuration - # For dimensional price: specifies a price group and dimension values - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::DimensionalPriceConfiguration, nil] - optional :dimensional_price_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::DimensionalPriceConfiguration - }, - 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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration, nil] - optional :invoicing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::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::Internal::Type::HashOf[String, nil?: true], nil?: true - - # @!method initialize(cadence:, item_id:, name:, unit_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :unit) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit} - # for more details. - # - # @param cadence [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::Cadence] The cadence to bill for this price on. - # - # @param item_id [String] The id of the item the price will be associated with. - # - # @param name [String] The name of the price. - # - # @param unit_config [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::UnitConfig] - # - # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b - # - # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi - # - # @param billing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont - # - # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. - # - # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr - # - # @param dimensional_price_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values - # - # @param external_price_id [String, nil] An alias for the price. - # - # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl - # - # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice - # - # @param invoicing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. - # - # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed - # - # @param model_type [Symbol, :unit] - - # The cadence to bill for this price on. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit#cadence - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL = :annual - SEMI_ANNUAL = :semi_annual - MONTHLY = :monthly - QUARTERLY = :quarterly - ONE_TIME = :one_time - CUSTOM = :custom - - # @!method self.values - # @return [Array] - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit#unit_config - class UnitConfig < Orb::Internal::Type::BaseModel - # @!attribute unit_amount - # Rate per unit of usage - # - # @return [String] - required :unit_amount, String - - # @!method initialize(unit_amount:) - # @param unit_amount [String] Rate per unit of usage - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit#billing_cycle_configuration - class BillingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::BillingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::BillingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @param duration [Integer] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::BillingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit#dimensional_price_configuration - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # The list of dimension values matching (in order) the dimensions of the price - # group - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String] - - # @!attribute dimensional_price_group_id - # The id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :dimensional_price_group_id, String, nil?: true - - # @!attribute external_dimensional_price_group_id - # The external id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :external_dimensional_price_group_id, String, nil?: true - - # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::DimensionalPriceConfiguration} - # for more details. - # - # For dimensional price: specifies a price group and dimension values - # - # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro - # - # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in - # - # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit#invoicing_cycle_configuration - class InvoicingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # 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] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - end - - class Package < Orb::Internal::Type::BaseModel - # @!attribute cadence - # The cadence to bill for this price on. - # - # @return [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::Cadence] - required :cadence, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::Cadence - } - - # @!attribute item_id - # The id of the item the price will be associated with. - # - # @return [String] - required :item_id, String - - # @!attribute model_type - # - # @return [Symbol, :package] - required :model_type, const: :package - - # @!attribute name - # The name of the price. - # - # @return [String] - required :name, String - - # @!attribute package_config - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::PackageConfig] - required :package_config, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::PackageConfig - } - - # @!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::Internal::Type::Boolean, nil?: true - - # @!attribute billing_cycle_configuration - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::BillingCycleConfiguration, nil] - optional :billing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::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 dimensional_price_configuration - # For dimensional price: specifies a price group and dimension values - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::DimensionalPriceConfiguration, nil] - optional :dimensional_price_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::DimensionalPriceConfiguration - }, - 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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration, nil] - optional :invoicing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::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::Internal::Type::HashOf[String, nil?: true], nil?: true - - # @!method initialize(cadence:, item_id:, name:, package_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :package) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package} - # for more details. - # - # @param cadence [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::Cadence] The cadence to bill for this price on. - # - # @param item_id [String] The id of the item the price will be associated with. - # - # @param name [String] The name of the price. - # - # @param package_config [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::PackageConfig] - # - # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b - # - # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi - # - # @param billing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont - # - # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. - # - # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr - # - # @param dimensional_price_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values - # - # @param external_price_id [String, nil] An alias for the price. - # - # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl - # - # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice - # - # @param invoicing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. - # - # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed - # - # @param model_type [Symbol, :package] - - # The cadence to bill for this price on. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package#cadence - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL = :annual - SEMI_ANNUAL = :semi_annual - MONTHLY = :monthly - QUARTERLY = :quarterly - ONE_TIME = :one_time - CUSTOM = :custom - - # @!method self.values - # @return [Array] - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package#package_config - class PackageConfig < Orb::Internal::Type::BaseModel - # @!attribute package_amount - # A currency amount to rate usage by - # - # @return [String] - required :package_amount, String - - # @!attribute package_size - # An integer amount to represent package size. For example, 1000 here would divide - # usage by 1000 before multiplying by package_amount in rating - # - # @return [Integer] - required :package_size, Integer - - # @!method initialize(package_amount:, package_size:) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::PackageConfig} - # for more details. - # - # @param package_amount [String] A currency amount to rate usage by - # - # @param package_size [Integer] An integer amount to represent package size. For example, 1000 here would divide - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package#billing_cycle_configuration - class BillingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::BillingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::BillingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @param duration [Integer] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::BillingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package#dimensional_price_configuration - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # The list of dimension values matching (in order) the dimensions of the price - # group - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String] - - # @!attribute dimensional_price_group_id - # The id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :dimensional_price_group_id, String, nil?: true - - # @!attribute external_dimensional_price_group_id - # The external id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :external_dimensional_price_group_id, String, nil?: true - - # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::DimensionalPriceConfiguration} - # for more details. - # - # For dimensional price: specifies a price group and dimension values - # - # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro - # - # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in - # - # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package#invoicing_cycle_configuration - class InvoicingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # 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] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - end - - class Matrix < Orb::Internal::Type::BaseModel - # @!attribute cadence - # The cadence to bill for this price on. - # - # @return [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::Cadence] - required :cadence, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::Cadence - } - - # @!attribute item_id - # The id of the item the price will be associated with. - # - # @return [String] - required :item_id, String - - # @!attribute matrix_config - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::MatrixConfig] - required :matrix_config, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::MatrixConfig - } - - # @!attribute model_type - # - # @return [Symbol, :matrix] - required :model_type, const: :matrix - - # @!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::Internal::Type::Boolean, nil?: true - - # @!attribute billing_cycle_configuration - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration, nil] - optional :billing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::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 dimensional_price_configuration - # For dimensional price: specifies a price group and dimension values - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::DimensionalPriceConfiguration, nil] - optional :dimensional_price_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::DimensionalPriceConfiguration - }, - 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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration, nil] - optional :invoicing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::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::Internal::Type::HashOf[String, nil?: true], nil?: true - - # @!method initialize(cadence:, item_id:, matrix_config:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :matrix) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix} - # for more details. - # - # @param cadence [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::Cadence] The cadence to bill for this price on. - # - # @param item_id [String] The id of the item the price will be associated with. - # - # @param matrix_config [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::MatrixConfig] - # - # @param name [String] The name of the price. - # - # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b - # - # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi - # - # @param billing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont - # - # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. - # - # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr - # - # @param dimensional_price_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values - # - # @param external_price_id [String, nil] An alias for the price. - # - # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl - # - # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice - # - # @param invoicing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. - # - # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed - # - # @param model_type [Symbol, :matrix] - - # The cadence to bill for this price on. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix#cadence - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL = :annual - SEMI_ANNUAL = :semi_annual - MONTHLY = :monthly - QUARTERLY = :quarterly - ONE_TIME = :one_time - CUSTOM = :custom - - # @!method self.values - # @return [Array] - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix#matrix_config - class MatrixConfig < Orb::Internal::Type::BaseModel - # @!attribute default_unit_amount - # Default per unit rate for any usage not bucketed into a specified matrix_value - # - # @return [String] - required :default_unit_amount, String - - # @!attribute dimensions - # One or two event property values to evaluate matrix groups by - # - # @return [Array] - required :dimensions, Orb::Internal::Type::ArrayOf[String, nil?: true] - - # @!attribute matrix_values - # Matrix values for specified matrix grouping keys - # - # @return [Array] - required :matrix_values, - -> { - Orb::Internal::Type::ArrayOf[Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::MatrixConfig::MatrixValue] - } - - # @!method initialize(default_unit_amount:, dimensions:, matrix_values:) - # @param default_unit_amount [String] Default per unit rate for any usage not bucketed into a specified matrix_value - # - # @param dimensions [Array] One or two event property values to evaluate matrix groups by - # - # @param matrix_values [Array] Matrix values for specified matrix grouping keys - - class MatrixValue < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # One or two matrix keys to filter usage to this Matrix value by. For example, - # ["region", "tier"] could be used to filter cloud usage by a cloud region and an - # instance tier. - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String, nil?: true] - - # @!attribute unit_amount - # Unit price for the specified dimension_values - # - # @return [String] - required :unit_amount, String - - # @!method initialize(dimension_values:, unit_amount:) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::MatrixConfig::MatrixValue} - # for more details. - # - # @param dimension_values [Array] One or two matrix keys to filter usage to this Matrix value by. For example, ["r - # - # @param unit_amount [String] Unit price for the specified dimension_values - end - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix#billing_cycle_configuration - class BillingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @param duration [Integer] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix#dimensional_price_configuration - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # The list of dimension values matching (in order) the dimensions of the price - # group - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String] - - # @!attribute dimensional_price_group_id - # The id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :dimensional_price_group_id, String, nil?: true - - # @!attribute external_dimensional_price_group_id - # The external id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :external_dimensional_price_group_id, String, nil?: true - - # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::DimensionalPriceConfiguration} - # for more details. - # - # For dimensional price: specifies a price group and dimension values - # - # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro - # - # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in - # - # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix#invoicing_cycle_configuration - class InvoicingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # 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] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - end - - class Tiered < Orb::Internal::Type::BaseModel - # @!attribute cadence - # The cadence to bill for this price on. - # - # @return [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::Cadence] - required :cadence, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::Cadence - } - - # @!attribute item_id - # The id of the item the price will be associated with. - # - # @return [String] - required :item_id, String - - # @!attribute model_type - # - # @return [Symbol, :tiered] - required :model_type, const: :tiered - - # @!attribute name - # The name of the price. - # - # @return [String] - required :name, String - - # @!attribute tiered_config - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::TieredConfig] - required :tiered_config, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::TieredConfig - } - - # @!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::Internal::Type::Boolean, nil?: true - - # @!attribute billing_cycle_configuration - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration, nil] - optional :billing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::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 dimensional_price_configuration - # For dimensional price: specifies a price group and dimension values - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::DimensionalPriceConfiguration, nil] - optional :dimensional_price_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::DimensionalPriceConfiguration - }, - 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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration, nil] - optional :invoicing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::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::Internal::Type::HashOf[String, nil?: true], nil?: true - - # @!method initialize(cadence:, item_id:, name:, tiered_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :tiered) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered} - # for more details. - # - # @param cadence [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::Cadence] The cadence to bill for this price on. - # - # @param item_id [String] The id of the item the price will be associated with. - # - # @param name [String] The name of the price. - # - # @param tiered_config [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::TieredConfig] - # - # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b - # - # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi - # - # @param billing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont - # - # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. - # - # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr - # - # @param dimensional_price_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values - # - # @param external_price_id [String, nil] An alias for the price. - # - # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl - # - # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice - # - # @param invoicing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. - # - # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed - # - # @param model_type [Symbol, :tiered] - - # The cadence to bill for this price on. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered#cadence - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL = :annual - SEMI_ANNUAL = :semi_annual - MONTHLY = :monthly - QUARTERLY = :quarterly - ONE_TIME = :one_time - CUSTOM = :custom - - # @!method self.values - # @return [Array] - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered#tiered_config - class TieredConfig < Orb::Internal::Type::BaseModel - # @!attribute tiers - # Tiers for rating based on total usage quantities into the specified tier - # - # @return [Array] - required :tiers, - -> { - Orb::Internal::Type::ArrayOf[Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::TieredConfig::Tier] - } - - # @!method initialize(tiers:) - # @param tiers [Array] Tiers for rating based on total usage quantities into the specified tier - - class Tier < Orb::Internal::Type::BaseModel - # @!attribute first_unit - # Exclusive tier starting value - # - # @return [Float] - required :first_unit, Float - - # @!attribute unit_amount - # Amount per unit - # - # @return [String] - required :unit_amount, String - - # @!attribute last_unit - # Inclusive tier ending value. If null, this is treated as the last tier - # - # @return [Float, nil] - optional :last_unit, Float, nil?: true - - # @!method initialize(first_unit:, unit_amount:, last_unit: nil) - # @param first_unit [Float] Exclusive tier starting value - # - # @param unit_amount [String] Amount per unit - # - # @param last_unit [Float, nil] Inclusive tier ending value. If null, this is treated as the last tier - end - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered#billing_cycle_configuration - class BillingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @param duration [Integer] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered#dimensional_price_configuration - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # The list of dimension values matching (in order) the dimensions of the price - # group - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String] - - # @!attribute dimensional_price_group_id - # The id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :dimensional_price_group_id, String, nil?: true - - # @!attribute external_dimensional_price_group_id - # The external id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :external_dimensional_price_group_id, String, nil?: true - - # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::DimensionalPriceConfiguration} - # for more details. - # - # For dimensional price: specifies a price group and dimension values - # - # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro - # - # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in - # - # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered#invoicing_cycle_configuration - class InvoicingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # 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] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - end - - class TieredBps < Orb::Internal::Type::BaseModel - # @!attribute cadence - # The cadence to bill for this price on. - # - # @return [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::Cadence] - required :cadence, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::Cadence - } - - # @!attribute item_id - # The id of the item the price will be associated with. - # - # @return [String] - required :item_id, String - - # @!attribute model_type - # - # @return [Symbol, :tiered_bps] - required :model_type, const: :tiered_bps - - # @!attribute name - # The name of the price. - # - # @return [String] - required :name, String - - # @!attribute tiered_bps_config - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::TieredBpsConfig] - required :tiered_bps_config, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::TieredBpsConfig - } - - # @!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::Internal::Type::Boolean, nil?: true - - # @!attribute billing_cycle_configuration - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration, nil] - optional :billing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::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 dimensional_price_configuration - # For dimensional price: specifies a price group and dimension values - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::DimensionalPriceConfiguration, nil] - optional :dimensional_price_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::DimensionalPriceConfiguration - }, - 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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration, nil] - optional :invoicing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::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::Internal::Type::HashOf[String, nil?: true], nil?: true - - # @!method initialize(cadence:, item_id:, name:, tiered_bps_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :tiered_bps) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps} - # for more details. - # - # @param cadence [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::Cadence] The cadence to bill for this price on. - # - # @param item_id [String] The id of the item the price will be associated with. - # - # @param name [String] The name of the price. - # - # @param tiered_bps_config [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::TieredBpsConfig] - # - # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b - # - # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi - # - # @param billing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont - # - # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. - # - # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr - # - # @param dimensional_price_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values - # - # @param external_price_id [String, nil] An alias for the price. - # - # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl - # - # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice - # - # @param invoicing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. - # - # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed - # - # @param model_type [Symbol, :tiered_bps] - - # The cadence to bill for this price on. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps#cadence - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL = :annual - SEMI_ANNUAL = :semi_annual - MONTHLY = :monthly - QUARTERLY = :quarterly - ONE_TIME = :one_time - CUSTOM = :custom - - # @!method self.values - # @return [Array] - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps#tiered_bps_config - class TieredBpsConfig < Orb::Internal::Type::BaseModel - # @!attribute tiers - # Tiers for a Graduated BPS pricing model, where usage is bucketed into specified - # tiers - # - # @return [Array] - required :tiers, - -> { - Orb::Internal::Type::ArrayOf[Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::TieredBpsConfig::Tier] - } - - # @!method initialize(tiers:) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::TieredBpsConfig} - # for more details. - # - # @param tiers [Array] Tiers for a Graduated BPS pricing model, where usage is bucketed into specified - - class Tier < Orb::Internal::Type::BaseModel - # @!attribute bps - # Per-event basis point rate - # - # @return [Float] - required :bps, Float - - # @!attribute minimum_amount - # Exclusive tier starting value - # - # @return [String] - required :minimum_amount, String - - # @!attribute maximum_amount - # Inclusive tier ending value - # - # @return [String, nil] - optional :maximum_amount, String, nil?: true - - # @!attribute per_unit_maximum - # Per unit maximum to charge - # - # @return [String, nil] - optional :per_unit_maximum, String, nil?: true - - # @!method initialize(bps:, minimum_amount:, maximum_amount: nil, per_unit_maximum: nil) - # @param bps [Float] Per-event basis point rate - # - # @param minimum_amount [String] Exclusive tier starting value - # - # @param maximum_amount [String, nil] Inclusive tier ending value - # - # @param per_unit_maximum [String, nil] Per unit maximum to charge - end - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps#billing_cycle_configuration - class BillingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @param duration [Integer] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps#dimensional_price_configuration - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # The list of dimension values matching (in order) the dimensions of the price - # group - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String] - - # @!attribute dimensional_price_group_id - # The id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :dimensional_price_group_id, String, nil?: true - - # @!attribute external_dimensional_price_group_id - # The external id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :external_dimensional_price_group_id, String, nil?: true - - # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::DimensionalPriceConfiguration} - # for more details. - # - # For dimensional price: specifies a price group and dimension values - # - # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro - # - # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in - # - # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps#invoicing_cycle_configuration - class InvoicingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # 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] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - end - - class Bps < Orb::Internal::Type::BaseModel - # @!attribute bps_config - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::BpsConfig] - required :bps_config, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::BpsConfig - } - - # @!attribute cadence - # The cadence to bill for this price on. - # - # @return [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::Cadence] - required :cadence, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::Cadence - } - - # @!attribute item_id - # The id of the item the price will be associated with. - # - # @return [String] - required :item_id, String - - # @!attribute model_type - # - # @return [Symbol, :bps] - required :model_type, const: :bps - - # @!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::Internal::Type::Boolean, nil?: true - - # @!attribute billing_cycle_configuration - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::BillingCycleConfiguration, nil] - optional :billing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::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 dimensional_price_configuration - # For dimensional price: specifies a price group and dimension values - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::DimensionalPriceConfiguration, nil] - optional :dimensional_price_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::DimensionalPriceConfiguration - }, - 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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration, nil] - optional :invoicing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::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::Internal::Type::HashOf[String, nil?: true], nil?: true - - # @!method initialize(bps_config:, cadence:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :bps) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps} - # for more details. - # - # @param bps_config [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::BpsConfig] - # - # @param cadence [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::Cadence] The cadence to bill for this price on. - # - # @param item_id [String] The id of the item the price will be associated with. - # - # @param name [String] The name of the price. - # - # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b - # - # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi - # - # @param billing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont - # - # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. - # - # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr - # - # @param dimensional_price_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values - # - # @param external_price_id [String, nil] An alias for the price. - # - # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl - # - # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice - # - # @param invoicing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. - # - # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed - # - # @param model_type [Symbol, :bps] - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps#bps_config - class BpsConfig < Orb::Internal::Type::BaseModel - # @!attribute bps - # Basis point take rate per event - # - # @return [Float] - required :bps, Float - - # @!attribute per_unit_maximum - # Optional currency amount maximum to cap spend per event - # - # @return [String, nil] - optional :per_unit_maximum, String, nil?: true - - # @!method initialize(bps:, per_unit_maximum: nil) - # @param bps [Float] Basis point take rate per event - # - # @param per_unit_maximum [String, nil] Optional currency amount maximum to cap spend per event - end - - # The cadence to bill for this price on. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps#cadence - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL = :annual - SEMI_ANNUAL = :semi_annual - MONTHLY = :monthly - QUARTERLY = :quarterly - ONE_TIME = :one_time - CUSTOM = :custom - - # @!method self.values - # @return [Array] - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps#billing_cycle_configuration - class BillingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::BillingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::BillingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @param duration [Integer] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::BillingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps#dimensional_price_configuration - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # The list of dimension values matching (in order) the dimensions of the price - # group - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String] - - # @!attribute dimensional_price_group_id - # The id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :dimensional_price_group_id, String, nil?: true - - # @!attribute external_dimensional_price_group_id - # The external id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :external_dimensional_price_group_id, String, nil?: true - - # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::DimensionalPriceConfiguration} - # for more details. - # - # For dimensional price: specifies a price group and dimension values - # - # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro - # - # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in - # - # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps#invoicing_cycle_configuration - class InvoicingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # 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] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - end - - class BulkBps < Orb::Internal::Type::BaseModel - # @!attribute bulk_bps_config - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::BulkBpsConfig] - required :bulk_bps_config, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::BulkBpsConfig - } - - # @!attribute cadence - # The cadence to bill for this price on. - # - # @return [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::Cadence] - required :cadence, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::Cadence - } - - # @!attribute item_id - # The id of the item the price will be associated with. - # - # @return [String] - required :item_id, String - - # @!attribute model_type - # - # @return [Symbol, :bulk_bps] - required :model_type, const: :bulk_bps - - # @!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::Internal::Type::Boolean, nil?: true - - # @!attribute billing_cycle_configuration - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration, nil] - optional :billing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::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 dimensional_price_configuration - # For dimensional price: specifies a price group and dimension values - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::DimensionalPriceConfiguration, nil] - optional :dimensional_price_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::DimensionalPriceConfiguration - }, - 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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration, nil] - optional :invoicing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::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::Internal::Type::HashOf[String, nil?: true], nil?: true - - # @!method initialize(bulk_bps_config:, cadence:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :bulk_bps) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps} - # for more details. - # - # @param bulk_bps_config [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::BulkBpsConfig] - # - # @param cadence [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::Cadence] The cadence to bill for this price on. - # - # @param item_id [String] The id of the item the price will be associated with. - # - # @param name [String] The name of the price. - # - # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b - # - # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi - # - # @param billing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont - # - # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. - # - # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr - # - # @param dimensional_price_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values - # - # @param external_price_id [String, nil] An alias for the price. - # - # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl - # - # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice - # - # @param invoicing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. - # - # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed - # - # @param model_type [Symbol, :bulk_bps] - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps#bulk_bps_config - class BulkBpsConfig < Orb::Internal::Type::BaseModel - # @!attribute tiers - # Tiers for a bulk BPS pricing model where all usage is aggregated to a single - # tier based on total volume - # - # @return [Array] - required :tiers, - -> { - Orb::Internal::Type::ArrayOf[Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::BulkBpsConfig::Tier] - } - - # @!method initialize(tiers:) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::BulkBpsConfig} - # for more details. - # - # @param tiers [Array] Tiers for a bulk BPS pricing model where all usage is aggregated to a single tie - - class Tier < Orb::Internal::Type::BaseModel - # @!attribute bps - # Basis points to rate on - # - # @return [Float] - required :bps, Float - - # @!attribute maximum_amount - # Upper bound for tier - # - # @return [String, nil] - optional :maximum_amount, String, nil?: true - - # @!attribute per_unit_maximum - # The maximum amount to charge for any one event - # - # @return [String, nil] - optional :per_unit_maximum, String, nil?: true - - # @!method initialize(bps:, maximum_amount: nil, per_unit_maximum: nil) - # @param bps [Float] Basis points to rate on - # - # @param maximum_amount [String, nil] Upper bound for tier - # - # @param per_unit_maximum [String, nil] The maximum amount to charge for any one event - end - end - - # The cadence to bill for this price on. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps#cadence - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL = :annual - SEMI_ANNUAL = :semi_annual - MONTHLY = :monthly - QUARTERLY = :quarterly - ONE_TIME = :one_time - CUSTOM = :custom - - # @!method self.values - # @return [Array] - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps#billing_cycle_configuration - class BillingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @param duration [Integer] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps#dimensional_price_configuration - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # The list of dimension values matching (in order) the dimensions of the price - # group - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String] - - # @!attribute dimensional_price_group_id - # The id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :dimensional_price_group_id, String, nil?: true - - # @!attribute external_dimensional_price_group_id - # The external id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :external_dimensional_price_group_id, String, nil?: true - - # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::DimensionalPriceConfiguration} - # for more details. - # - # For dimensional price: specifies a price group and dimension values - # - # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro - # - # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in - # - # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps#invoicing_cycle_configuration - class InvoicingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # 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] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - end - - class Bulk < Orb::Internal::Type::BaseModel - # @!attribute bulk_config - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::BulkConfig] - required :bulk_config, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::BulkConfig - } - - # @!attribute cadence - # The cadence to bill for this price on. - # - # @return [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::Cadence] - required :cadence, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::Cadence - } - - # @!attribute item_id - # The id of the item the price will be associated with. - # - # @return [String] - required :item_id, String - - # @!attribute model_type - # - # @return [Symbol, :bulk] - required :model_type, const: :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::Internal::Type::Boolean, nil?: true - - # @!attribute billing_cycle_configuration - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration, nil] - optional :billing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::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 dimensional_price_configuration - # For dimensional price: specifies a price group and dimension values - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::DimensionalPriceConfiguration, nil] - optional :dimensional_price_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::DimensionalPriceConfiguration - }, - 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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration, nil] - optional :invoicing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::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::Internal::Type::HashOf[String, nil?: true], nil?: true - - # @!method initialize(bulk_config:, cadence:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :bulk) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk} - # for more details. - # - # @param bulk_config [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::BulkConfig] - # - # @param cadence [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::Cadence] The cadence to bill for this price on. - # - # @param item_id [String] The id of the item the price will be associated with. - # - # @param name [String] The name of the price. - # - # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b - # - # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi - # - # @param billing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont - # - # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. - # - # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr - # - # @param dimensional_price_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values - # - # @param external_price_id [String, nil] An alias for the price. - # - # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl - # - # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice - # - # @param invoicing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. - # - # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed - # - # @param model_type [Symbol, :bulk] - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk#bulk_config - class BulkConfig < Orb::Internal::Type::BaseModel - # @!attribute tiers - # Bulk tiers for rating based on total usage volume - # - # @return [Array] - required :tiers, - -> { - Orb::Internal::Type::ArrayOf[Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::BulkConfig::Tier] - } - - # @!method initialize(tiers:) - # @param tiers [Array] Bulk tiers for rating based on total usage volume - - class Tier < Orb::Internal::Type::BaseModel - # @!attribute unit_amount - # Amount per unit - # - # @return [String] - required :unit_amount, String - - # @!attribute maximum_units - # Upper bound for this tier - # - # @return [Float, nil] - optional :maximum_units, Float, nil?: true - - # @!method initialize(unit_amount:, maximum_units: nil) - # @param unit_amount [String] Amount per unit - # - # @param maximum_units [Float, nil] Upper bound for this tier - end - end - - # The cadence to bill for this price on. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk#cadence - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL = :annual - SEMI_ANNUAL = :semi_annual - MONTHLY = :monthly - QUARTERLY = :quarterly - ONE_TIME = :one_time - CUSTOM = :custom - - # @!method self.values - # @return [Array] - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk#billing_cycle_configuration - class BillingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @param duration [Integer] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk#dimensional_price_configuration - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # The list of dimension values matching (in order) the dimensions of the price - # group - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String] - - # @!attribute dimensional_price_group_id - # The id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :dimensional_price_group_id, String, nil?: true - - # @!attribute external_dimensional_price_group_id - # The external id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :external_dimensional_price_group_id, String, nil?: true - - # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::DimensionalPriceConfiguration} - # for more details. - # - # For dimensional price: specifies a price group and dimension values - # - # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro - # - # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in - # - # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk#invoicing_cycle_configuration - class InvoicingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # 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] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - end - - class ThresholdTotalAmount < Orb::Internal::Type::BaseModel - # @!attribute cadence - # The cadence to bill for this price on. - # - # @return [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::Cadence] - required :cadence, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::Cadence - } - - # @!attribute item_id - # The id of the item the price will be associated with. - # - # @return [String] - required :item_id, String - - # @!attribute model_type - # - # @return [Symbol, :threshold_total_amount] - required :model_type, const: :threshold_total_amount - - # @!attribute name - # The name of the price. - # - # @return [String] - required :name, String - - # @!attribute threshold_total_amount_config - # - # @return [Hash{Symbol=>Object}] - required :threshold_total_amount_config, - Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] - - # @!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::Internal::Type::Boolean, nil?: true - - # @!attribute billing_cycle_configuration - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration, nil] - optional :billing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::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 dimensional_price_configuration - # For dimensional price: specifies a price group and dimension values - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration, nil] - optional :dimensional_price_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration - }, - 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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration, nil] - optional :invoicing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::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::Internal::Type::HashOf[String, nil?: true], nil?: true - - # @!method initialize(cadence:, item_id:, name:, threshold_total_amount_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :threshold_total_amount) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount} - # for more details. - # - # @param cadence [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::Cadence] The cadence to bill for this price on. - # - # @param item_id [String] The id of the item the price will be associated with. - # - # @param name [String] The name of the price. - # - # @param threshold_total_amount_config [Hash{Symbol=>Object}] - # - # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b - # - # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi - # - # @param billing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont - # - # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. - # - # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr - # - # @param dimensional_price_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values - # - # @param external_price_id [String, nil] An alias for the price. - # - # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl - # - # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice - # - # @param invoicing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. - # - # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed - # - # @param model_type [Symbol, :threshold_total_amount] - - # The cadence to bill for this price on. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount#cadence - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL = :annual - SEMI_ANNUAL = :semi_annual - MONTHLY = :monthly - QUARTERLY = :quarterly - ONE_TIME = :one_time - CUSTOM = :custom - - # @!method self.values - # @return [Array] - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount#billing_cycle_configuration - class BillingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @param duration [Integer] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount#dimensional_price_configuration - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # The list of dimension values matching (in order) the dimensions of the price - # group - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String] - - # @!attribute dimensional_price_group_id - # The id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :dimensional_price_group_id, String, nil?: true - - # @!attribute external_dimensional_price_group_id - # The external id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :external_dimensional_price_group_id, String, nil?: true - - # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration} - # for more details. - # - # For dimensional price: specifies a price group and dimension values - # - # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro - # - # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in - # - # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount#invoicing_cycle_configuration - class InvoicingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # 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] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - end - - class TieredPackage < Orb::Internal::Type::BaseModel - # @!attribute cadence - # The cadence to bill for this price on. - # - # @return [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::Cadence] - required :cadence, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::Cadence - } - - # @!attribute item_id - # The id of the item the price will be associated with. - # - # @return [String] - required :item_id, String - - # @!attribute model_type - # - # @return [Symbol, :tiered_package] - required :model_type, const: :tiered_package - - # @!attribute name - # The name of the price. - # - # @return [String] - required :name, String - - # @!attribute tiered_package_config - # - # @return [Hash{Symbol=>Object}] - required :tiered_package_config, Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] - - # @!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::Internal::Type::Boolean, nil?: true - - # @!attribute billing_cycle_configuration - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration, nil] - optional :billing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::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 dimensional_price_configuration - # For dimensional price: specifies a price group and dimension values - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::DimensionalPriceConfiguration, nil] - optional :dimensional_price_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::DimensionalPriceConfiguration - }, - 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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration, nil] - optional :invoicing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::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::Internal::Type::HashOf[String, nil?: true], nil?: true - - # @!method initialize(cadence:, item_id:, name:, tiered_package_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :tiered_package) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage} - # for more details. - # - # @param cadence [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::Cadence] The cadence to bill for this price on. - # - # @param item_id [String] The id of the item the price will be associated with. - # - # @param name [String] The name of the price. - # - # @param tiered_package_config [Hash{Symbol=>Object}] - # - # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b - # - # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi - # - # @param billing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont - # - # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. - # - # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr - # - # @param dimensional_price_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values - # - # @param external_price_id [String, nil] An alias for the price. - # - # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl - # - # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice - # - # @param invoicing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. - # - # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed - # - # @param model_type [Symbol, :tiered_package] - - # The cadence to bill for this price on. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage#cadence - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL = :annual - SEMI_ANNUAL = :semi_annual - MONTHLY = :monthly - QUARTERLY = :quarterly - ONE_TIME = :one_time - CUSTOM = :custom - - # @!method self.values - # @return [Array] - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage#billing_cycle_configuration - class BillingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @param duration [Integer] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage#dimensional_price_configuration - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # The list of dimension values matching (in order) the dimensions of the price - # group - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String] - - # @!attribute dimensional_price_group_id - # The id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :dimensional_price_group_id, String, nil?: true - - # @!attribute external_dimensional_price_group_id - # The external id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :external_dimensional_price_group_id, String, nil?: true - - # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::DimensionalPriceConfiguration} - # for more details. - # - # For dimensional price: specifies a price group and dimension values - # - # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro - # - # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in - # - # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage#invoicing_cycle_configuration - class InvoicingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # 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] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - end - - class TieredWithMinimum < Orb::Internal::Type::BaseModel - # @!attribute cadence - # The cadence to bill for this price on. - # - # @return [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::Cadence] - required :cadence, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::Cadence - } - - # @!attribute item_id - # The id of the item the price will be associated with. - # - # @return [String] - required :item_id, String - - # @!attribute model_type - # - # @return [Symbol, :tiered_with_minimum] - required :model_type, const: :tiered_with_minimum - - # @!attribute name - # The name of the price. - # - # @return [String] - required :name, String - - # @!attribute tiered_with_minimum_config - # - # @return [Hash{Symbol=>Object}] - required :tiered_with_minimum_config, - Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] - - # @!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::Internal::Type::Boolean, nil?: true - - # @!attribute billing_cycle_configuration - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration, nil] - optional :billing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::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 dimensional_price_configuration - # For dimensional price: specifies a price group and dimension values - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::DimensionalPriceConfiguration, nil] - optional :dimensional_price_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::DimensionalPriceConfiguration - }, - 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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration, nil] - optional :invoicing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::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::Internal::Type::HashOf[String, nil?: true], nil?: true - - # @!method initialize(cadence:, item_id:, name:, tiered_with_minimum_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :tiered_with_minimum) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum} - # for more details. - # - # @param cadence [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::Cadence] The cadence to bill for this price on. - # - # @param item_id [String] The id of the item the price will be associated with. - # - # @param name [String] The name of the price. - # - # @param tiered_with_minimum_config [Hash{Symbol=>Object}] - # - # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b - # - # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi - # - # @param billing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont - # - # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. - # - # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr - # - # @param dimensional_price_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values - # - # @param external_price_id [String, nil] An alias for the price. - # - # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl - # - # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice - # - # @param invoicing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. - # - # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed - # - # @param model_type [Symbol, :tiered_with_minimum] - - # The cadence to bill for this price on. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum#cadence - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL = :annual - SEMI_ANNUAL = :semi_annual - MONTHLY = :monthly - QUARTERLY = :quarterly - ONE_TIME = :one_time - CUSTOM = :custom - - # @!method self.values - # @return [Array] - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum#billing_cycle_configuration - class BillingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @param duration [Integer] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum#dimensional_price_configuration - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # The list of dimension values matching (in order) the dimensions of the price - # group - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String] - - # @!attribute dimensional_price_group_id - # The id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :dimensional_price_group_id, String, nil?: true - - # @!attribute external_dimensional_price_group_id - # The external id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :external_dimensional_price_group_id, String, nil?: true - - # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::DimensionalPriceConfiguration} - # for more details. - # - # For dimensional price: specifies a price group and dimension values - # - # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro - # - # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in - # - # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum#invoicing_cycle_configuration - class InvoicingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # 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] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - end - - class UnitWithPercent < Orb::Internal::Type::BaseModel - # @!attribute cadence - # The cadence to bill for this price on. - # - # @return [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::Cadence] - required :cadence, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::Cadence - } - - # @!attribute item_id - # The id of the item the price will be associated with. - # - # @return [String] - required :item_id, String - - # @!attribute model_type - # - # @return [Symbol, :unit_with_percent] - required :model_type, const: :unit_with_percent - - # @!attribute name - # The name of the price. - # - # @return [String] - required :name, String - - # @!attribute unit_with_percent_config - # - # @return [Hash{Symbol=>Object}] - required :unit_with_percent_config, Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] - - # @!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::Internal::Type::Boolean, nil?: true - - # @!attribute billing_cycle_configuration - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration, nil] - optional :billing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::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 dimensional_price_configuration - # For dimensional price: specifies a price group and dimension values - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::DimensionalPriceConfiguration, nil] - optional :dimensional_price_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::DimensionalPriceConfiguration - }, - 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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration, nil] - optional :invoicing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::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::Internal::Type::HashOf[String, nil?: true], nil?: true - - # @!method initialize(cadence:, item_id:, name:, unit_with_percent_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :unit_with_percent) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent} - # for more details. - # - # @param cadence [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::Cadence] The cadence to bill for this price on. - # - # @param item_id [String] The id of the item the price will be associated with. - # - # @param name [String] The name of the price. - # - # @param unit_with_percent_config [Hash{Symbol=>Object}] - # - # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b - # - # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi - # - # @param billing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont - # - # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. - # - # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr - # - # @param dimensional_price_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values - # - # @param external_price_id [String, nil] An alias for the price. - # - # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl - # - # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice - # - # @param invoicing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. - # - # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed - # - # @param model_type [Symbol, :unit_with_percent] - - # The cadence to bill for this price on. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent#cadence - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL = :annual - SEMI_ANNUAL = :semi_annual - MONTHLY = :monthly - QUARTERLY = :quarterly - ONE_TIME = :one_time - CUSTOM = :custom - - # @!method self.values - # @return [Array] - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent#billing_cycle_configuration - class BillingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @param duration [Integer] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent#dimensional_price_configuration - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # The list of dimension values matching (in order) the dimensions of the price - # group - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String] - - # @!attribute dimensional_price_group_id - # The id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :dimensional_price_group_id, String, nil?: true - - # @!attribute external_dimensional_price_group_id - # The external id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :external_dimensional_price_group_id, String, nil?: true - - # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::DimensionalPriceConfiguration} - # for more details. - # - # For dimensional price: specifies a price group and dimension values - # - # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro - # - # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in - # - # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent#invoicing_cycle_configuration - class InvoicingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # 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] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - end - - class PackageWithAllocation < Orb::Internal::Type::BaseModel - # @!attribute cadence - # The cadence to bill for this price on. - # - # @return [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::Cadence] - required :cadence, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::Cadence - } - - # @!attribute item_id - # The id of the item the price will be associated with. - # - # @return [String] - required :item_id, String - - # @!attribute model_type - # - # @return [Symbol, :package_with_allocation] - required :model_type, const: :package_with_allocation - - # @!attribute name - # The name of the price. - # - # @return [String] - required :name, String - - # @!attribute package_with_allocation_config - # - # @return [Hash{Symbol=>Object}] - required :package_with_allocation_config, - Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] - - # @!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::Internal::Type::Boolean, nil?: true - - # @!attribute billing_cycle_configuration - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration, nil] - optional :billing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::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 dimensional_price_configuration - # For dimensional price: specifies a price group and dimension values - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::DimensionalPriceConfiguration, nil] - optional :dimensional_price_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::DimensionalPriceConfiguration - }, - 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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration, nil] - optional :invoicing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::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::Internal::Type::HashOf[String, nil?: true], nil?: true - - # @!method initialize(cadence:, item_id:, name:, package_with_allocation_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :package_with_allocation) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation} - # for more details. - # - # @param cadence [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::Cadence] The cadence to bill for this price on. - # - # @param item_id [String] The id of the item the price will be associated with. - # - # @param name [String] The name of the price. - # - # @param package_with_allocation_config [Hash{Symbol=>Object}] - # - # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b - # - # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi - # - # @param billing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont - # - # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. - # - # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr - # - # @param dimensional_price_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values - # - # @param external_price_id [String, nil] An alias for the price. - # - # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl - # - # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice - # - # @param invoicing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. - # - # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed - # - # @param model_type [Symbol, :package_with_allocation] - - # The cadence to bill for this price on. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation#cadence - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL = :annual - SEMI_ANNUAL = :semi_annual - MONTHLY = :monthly - QUARTERLY = :quarterly - ONE_TIME = :one_time - CUSTOM = :custom - - # @!method self.values - # @return [Array] - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation#billing_cycle_configuration - class BillingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @param duration [Integer] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation#dimensional_price_configuration - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # The list of dimension values matching (in order) the dimensions of the price - # group - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String] - - # @!attribute dimensional_price_group_id - # The id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :dimensional_price_group_id, String, nil?: true - - # @!attribute external_dimensional_price_group_id - # The external id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :external_dimensional_price_group_id, String, nil?: true - - # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::DimensionalPriceConfiguration} - # for more details. - # - # For dimensional price: specifies a price group and dimension values - # - # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro - # - # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in - # - # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation#invoicing_cycle_configuration - class InvoicingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # 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] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - end - - class TieredWithProration < Orb::Internal::Type::BaseModel - # @!attribute cadence - # The cadence to bill for this price on. - # - # @return [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::Cadence] - required :cadence, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::Cadence - } - - # @!attribute item_id - # The id of the item the price will be associated with. - # - # @return [String] - required :item_id, String - - # @!attribute model_type - # - # @return [Symbol, :tiered_with_proration] - required :model_type, const: :tiered_with_proration - - # @!attribute name - # The name of the price. - # - # @return [String] - required :name, String - - # @!attribute tiered_with_proration_config - # - # @return [Hash{Symbol=>Object}] - required :tiered_with_proration_config, - Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] - - # @!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::Internal::Type::Boolean, nil?: true - - # @!attribute billing_cycle_configuration - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration, nil] - optional :billing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::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 dimensional_price_configuration - # For dimensional price: specifies a price group and dimension values - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::DimensionalPriceConfiguration, nil] - optional :dimensional_price_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::DimensionalPriceConfiguration - }, - 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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration, nil] - optional :invoicing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::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::Internal::Type::HashOf[String, nil?: true], nil?: true - - # @!method initialize(cadence:, item_id:, name:, tiered_with_proration_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :tiered_with_proration) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration} - # for more details. - # - # @param cadence [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::Cadence] The cadence to bill for this price on. - # - # @param item_id [String] The id of the item the price will be associated with. - # - # @param name [String] The name of the price. - # - # @param tiered_with_proration_config [Hash{Symbol=>Object}] - # - # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b - # - # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi - # - # @param billing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont - # - # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. - # - # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr - # - # @param dimensional_price_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values - # - # @param external_price_id [String, nil] An alias for the price. - # - # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl - # - # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice - # - # @param invoicing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. - # - # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed - # - # @param model_type [Symbol, :tiered_with_proration] - - # The cadence to bill for this price on. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration#cadence - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL = :annual - SEMI_ANNUAL = :semi_annual - MONTHLY = :monthly - QUARTERLY = :quarterly - ONE_TIME = :one_time - CUSTOM = :custom - - # @!method self.values - # @return [Array] - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration#billing_cycle_configuration - class BillingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @param duration [Integer] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration#dimensional_price_configuration - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # The list of dimension values matching (in order) the dimensions of the price - # group - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String] - - # @!attribute dimensional_price_group_id - # The id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :dimensional_price_group_id, String, nil?: true - - # @!attribute external_dimensional_price_group_id - # The external id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :external_dimensional_price_group_id, String, nil?: true - - # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::DimensionalPriceConfiguration} - # for more details. - # - # For dimensional price: specifies a price group and dimension values - # - # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro - # - # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in - # - # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration#invoicing_cycle_configuration - class InvoicingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # 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] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - end - - class UnitWithProration < Orb::Internal::Type::BaseModel - # @!attribute cadence - # The cadence to bill for this price on. - # - # @return [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::Cadence] - required :cadence, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::Cadence - } - - # @!attribute item_id - # The id of the item the price will be associated with. - # - # @return [String] - required :item_id, String - - # @!attribute model_type - # - # @return [Symbol, :unit_with_proration] - required :model_type, const: :unit_with_proration - - # @!attribute name - # The name of the price. - # - # @return [String] - required :name, String - - # @!attribute unit_with_proration_config - # - # @return [Hash{Symbol=>Object}] - required :unit_with_proration_config, - Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] - - # @!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::Internal::Type::Boolean, nil?: true - - # @!attribute billing_cycle_configuration - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration, nil] - optional :billing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::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 dimensional_price_configuration - # For dimensional price: specifies a price group and dimension values - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::DimensionalPriceConfiguration, nil] - optional :dimensional_price_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::DimensionalPriceConfiguration - }, - 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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration, nil] - optional :invoicing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::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::Internal::Type::HashOf[String, nil?: true], nil?: true - - # @!method initialize(cadence:, item_id:, name:, unit_with_proration_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :unit_with_proration) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration} - # for more details. - # - # @param cadence [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::Cadence] The cadence to bill for this price on. - # - # @param item_id [String] The id of the item the price will be associated with. - # - # @param name [String] The name of the price. - # - # @param unit_with_proration_config [Hash{Symbol=>Object}] - # - # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b - # - # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi - # - # @param billing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont - # - # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. - # - # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr - # - # @param dimensional_price_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values - # - # @param external_price_id [String, nil] An alias for the price. - # - # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl - # - # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice - # - # @param invoicing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. - # - # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed - # - # @param model_type [Symbol, :unit_with_proration] - - # The cadence to bill for this price on. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration#cadence - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL = :annual - SEMI_ANNUAL = :semi_annual - MONTHLY = :monthly - QUARTERLY = :quarterly - ONE_TIME = :one_time - CUSTOM = :custom - - # @!method self.values - # @return [Array] - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration#billing_cycle_configuration - class BillingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @param duration [Integer] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration#dimensional_price_configuration - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # The list of dimension values matching (in order) the dimensions of the price - # group - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String] - - # @!attribute dimensional_price_group_id - # The id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :dimensional_price_group_id, String, nil?: true - - # @!attribute external_dimensional_price_group_id - # The external id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :external_dimensional_price_group_id, String, nil?: true - - # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::DimensionalPriceConfiguration} - # for more details. - # - # For dimensional price: specifies a price group and dimension values - # - # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro - # - # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in - # - # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration#invoicing_cycle_configuration - class InvoicingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # 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] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - end - - class GroupedAllocation < Orb::Internal::Type::BaseModel - # @!attribute cadence - # The cadence to bill for this price on. - # - # @return [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::Cadence] - required :cadence, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::Cadence - } - - # @!attribute grouped_allocation_config - # - # @return [Hash{Symbol=>Object}] - required :grouped_allocation_config, Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] - - # @!attribute item_id - # The id of the item the price will be associated with. - # - # @return [String] - required :item_id, String - - # @!attribute model_type - # - # @return [Symbol, :grouped_allocation] - required :model_type, const: :grouped_allocation - - # @!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::Internal::Type::Boolean, nil?: true - - # @!attribute billing_cycle_configuration - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration, nil] - optional :billing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::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 dimensional_price_configuration - # For dimensional price: specifies a price group and dimension values - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::DimensionalPriceConfiguration, nil] - optional :dimensional_price_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::DimensionalPriceConfiguration - }, - 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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration, nil] - optional :invoicing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::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::Internal::Type::HashOf[String, nil?: true], nil?: true - - # @!method initialize(cadence:, grouped_allocation_config:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :grouped_allocation) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation} - # for more details. - # - # @param cadence [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::Cadence] The cadence to bill for this price on. - # - # @param grouped_allocation_config [Hash{Symbol=>Object}] - # - # @param item_id [String] The id of the item the price will be associated with. - # - # @param name [String] The name of the price. - # - # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b - # - # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi - # - # @param billing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont - # - # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. - # - # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr - # - # @param dimensional_price_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values - # - # @param external_price_id [String, nil] An alias for the price. - # - # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl - # - # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice - # - # @param invoicing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. - # - # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed - # - # @param model_type [Symbol, :grouped_allocation] - - # The cadence to bill for this price on. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation#cadence - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL = :annual - SEMI_ANNUAL = :semi_annual - MONTHLY = :monthly - QUARTERLY = :quarterly - ONE_TIME = :one_time - CUSTOM = :custom - - # @!method self.values - # @return [Array] - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation#billing_cycle_configuration - class BillingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @param duration [Integer] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation#dimensional_price_configuration - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # The list of dimension values matching (in order) the dimensions of the price - # group - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String] - - # @!attribute dimensional_price_group_id - # The id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :dimensional_price_group_id, String, nil?: true - - # @!attribute external_dimensional_price_group_id - # The external id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :external_dimensional_price_group_id, String, nil?: true - - # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::DimensionalPriceConfiguration} - # for more details. - # - # For dimensional price: specifies a price group and dimension values - # - # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro - # - # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in - # - # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation#invoicing_cycle_configuration - class InvoicingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # 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] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - end - - class GroupedWithProratedMinimum < Orb::Internal::Type::BaseModel - # @!attribute cadence - # The cadence to bill for this price on. - # - # @return [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::Cadence] - required :cadence, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::Cadence - } - - # @!attribute grouped_with_prorated_minimum_config - # - # @return [Hash{Symbol=>Object}] - required :grouped_with_prorated_minimum_config, - Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] - - # @!attribute item_id - # The id of the item the price will be associated with. - # - # @return [String] - required :item_id, String - - # @!attribute model_type - # - # @return [Symbol, :grouped_with_prorated_minimum] - required :model_type, const: :grouped_with_prorated_minimum - - # @!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::Internal::Type::Boolean, nil?: true - - # @!attribute billing_cycle_configuration - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration, nil] - optional :billing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::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 dimensional_price_configuration - # For dimensional price: specifies a price group and dimension values - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration, nil] - optional :dimensional_price_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration - }, - 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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration, nil] - optional :invoicing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::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::Internal::Type::HashOf[String, nil?: true], nil?: true - - # @!method initialize(cadence:, grouped_with_prorated_minimum_config:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :grouped_with_prorated_minimum) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum} - # for more details. - # - # @param cadence [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::Cadence] The cadence to bill for this price on. - # - # @param grouped_with_prorated_minimum_config [Hash{Symbol=>Object}] - # - # @param item_id [String] The id of the item the price will be associated with. - # - # @param name [String] The name of the price. - # - # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b - # - # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi - # - # @param billing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont - # - # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. - # - # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr - # - # @param dimensional_price_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values - # - # @param external_price_id [String, nil] An alias for the price. - # - # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl - # - # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice - # - # @param invoicing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. - # - # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed - # - # @param model_type [Symbol, :grouped_with_prorated_minimum] - - # The cadence to bill for this price on. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum#cadence - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL = :annual - SEMI_ANNUAL = :semi_annual - MONTHLY = :monthly - QUARTERLY = :quarterly - ONE_TIME = :one_time - CUSTOM = :custom - - # @!method self.values - # @return [Array] - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum#billing_cycle_configuration - class BillingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @param duration [Integer] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum#dimensional_price_configuration - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # The list of dimension values matching (in order) the dimensions of the price - # group - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String] - - # @!attribute dimensional_price_group_id - # The id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :dimensional_price_group_id, String, nil?: true - - # @!attribute external_dimensional_price_group_id - # The external id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :external_dimensional_price_group_id, String, nil?: true - - # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration} - # for more details. - # - # For dimensional price: specifies a price group and dimension values - # - # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro - # - # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in - # - # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum#invoicing_cycle_configuration - class InvoicingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # 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] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - end - - class GroupedWithMeteredMinimum < Orb::Internal::Type::BaseModel - # @!attribute cadence - # The cadence to bill for this price on. - # - # @return [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::Cadence] - required :cadence, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::Cadence - } - - # @!attribute grouped_with_metered_minimum_config - # - # @return [Hash{Symbol=>Object}] - required :grouped_with_metered_minimum_config, - Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] - - # @!attribute item_id - # The id of the item the price will be associated with. - # - # @return [String] - required :item_id, String - - # @!attribute model_type - # - # @return [Symbol, :grouped_with_metered_minimum] - required :model_type, const: :grouped_with_metered_minimum - - # @!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::Internal::Type::Boolean, nil?: true - - # @!attribute billing_cycle_configuration - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration, nil] - optional :billing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::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 dimensional_price_configuration - # For dimensional price: specifies a price group and dimension values - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration, nil] - optional :dimensional_price_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration - }, - 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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration, nil] - optional :invoicing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::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::Internal::Type::HashOf[String, nil?: true], nil?: true - - # @!method initialize(cadence:, grouped_with_metered_minimum_config:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :grouped_with_metered_minimum) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum} - # for more details. - # - # @param cadence [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::Cadence] The cadence to bill for this price on. - # - # @param grouped_with_metered_minimum_config [Hash{Symbol=>Object}] - # - # @param item_id [String] The id of the item the price will be associated with. - # - # @param name [String] The name of the price. - # - # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b - # - # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi - # - # @param billing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont - # - # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. - # - # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr - # - # @param dimensional_price_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values - # - # @param external_price_id [String, nil] An alias for the price. - # - # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl - # - # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice - # - # @param invoicing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. - # - # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed - # - # @param model_type [Symbol, :grouped_with_metered_minimum] - - # The cadence to bill for this price on. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum#cadence - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL = :annual - SEMI_ANNUAL = :semi_annual - MONTHLY = :monthly - QUARTERLY = :quarterly - ONE_TIME = :one_time - CUSTOM = :custom - - # @!method self.values - # @return [Array] - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum#billing_cycle_configuration - class BillingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @param duration [Integer] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum#dimensional_price_configuration - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # The list of dimension values matching (in order) the dimensions of the price - # group - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String] - - # @!attribute dimensional_price_group_id - # The id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :dimensional_price_group_id, String, nil?: true - - # @!attribute external_dimensional_price_group_id - # The external id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :external_dimensional_price_group_id, String, nil?: true - - # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration} - # for more details. - # - # For dimensional price: specifies a price group and dimension values - # - # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro - # - # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in - # - # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum#invoicing_cycle_configuration - class InvoicingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # 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] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - end - - class MatrixWithDisplayName < Orb::Internal::Type::BaseModel - # @!attribute cadence - # The cadence to bill for this price on. - # - # @return [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::Cadence] - required :cadence, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::Cadence - } - - # @!attribute item_id - # The id of the item the price will be associated with. - # - # @return [String] - required :item_id, String - - # @!attribute matrix_with_display_name_config - # - # @return [Hash{Symbol=>Object}] - required :matrix_with_display_name_config, - Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] - - # @!attribute model_type - # - # @return [Symbol, :matrix_with_display_name] - required :model_type, const: :matrix_with_display_name - - # @!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::Internal::Type::Boolean, nil?: true - - # @!attribute billing_cycle_configuration - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration, nil] - optional :billing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::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 dimensional_price_configuration - # For dimensional price: specifies a price group and dimension values - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration, nil] - optional :dimensional_price_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration - }, - 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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration, nil] - optional :invoicing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::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::Internal::Type::HashOf[String, nil?: true], nil?: true - - # @!method initialize(cadence:, item_id:, matrix_with_display_name_config:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :matrix_with_display_name) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName} - # for more details. - # - # @param cadence [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::Cadence] The cadence to bill for this price on. - # - # @param item_id [String] The id of the item the price will be associated with. - # - # @param matrix_with_display_name_config [Hash{Symbol=>Object}] - # - # @param name [String] The name of the price. - # - # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b - # - # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi - # - # @param billing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont - # - # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. - # - # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr - # - # @param dimensional_price_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values - # - # @param external_price_id [String, nil] An alias for the price. - # - # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl - # - # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice - # - # @param invoicing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. - # - # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed - # - # @param model_type [Symbol, :matrix_with_display_name] - - # The cadence to bill for this price on. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName#cadence - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL = :annual - SEMI_ANNUAL = :semi_annual - MONTHLY = :monthly - QUARTERLY = :quarterly - ONE_TIME = :one_time - CUSTOM = :custom - - # @!method self.values - # @return [Array] - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName#billing_cycle_configuration - class BillingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @param duration [Integer] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName#dimensional_price_configuration - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # The list of dimension values matching (in order) the dimensions of the price - # group - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String] - - # @!attribute dimensional_price_group_id - # The id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :dimensional_price_group_id, String, nil?: true - - # @!attribute external_dimensional_price_group_id - # The external id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :external_dimensional_price_group_id, String, nil?: true - - # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration} - # for more details. - # - # For dimensional price: specifies a price group and dimension values - # - # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro - # - # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in - # - # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName#invoicing_cycle_configuration - class InvoicingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # 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] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - end - - class BulkWithProration < Orb::Internal::Type::BaseModel - # @!attribute bulk_with_proration_config - # - # @return [Hash{Symbol=>Object}] - required :bulk_with_proration_config, - Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] - - # @!attribute cadence - # The cadence to bill for this price on. - # - # @return [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::Cadence] - required :cadence, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::Cadence - } - - # @!attribute item_id - # The id of the item the price will be associated with. - # - # @return [String] - required :item_id, String - - # @!attribute model_type - # - # @return [Symbol, :bulk_with_proration] - required :model_type, const: :bulk_with_proration - - # @!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::Internal::Type::Boolean, nil?: true - - # @!attribute billing_cycle_configuration - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration, nil] - optional :billing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::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 dimensional_price_configuration - # For dimensional price: specifies a price group and dimension values - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::DimensionalPriceConfiguration, nil] - optional :dimensional_price_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::DimensionalPriceConfiguration - }, - 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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration, nil] - optional :invoicing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::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::Internal::Type::HashOf[String, nil?: true], nil?: true - - # @!method initialize(bulk_with_proration_config:, cadence:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :bulk_with_proration) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration} - # for more details. - # - # @param bulk_with_proration_config [Hash{Symbol=>Object}] - # - # @param cadence [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::Cadence] The cadence to bill for this price on. - # - # @param item_id [String] The id of the item the price will be associated with. - # - # @param name [String] The name of the price. - # - # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b - # - # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi - # - # @param billing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont - # - # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. - # - # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr - # - # @param dimensional_price_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values - # - # @param external_price_id [String, nil] An alias for the price. - # - # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl - # - # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice - # - # @param invoicing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. - # - # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed - # - # @param model_type [Symbol, :bulk_with_proration] - - # The cadence to bill for this price on. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration#cadence - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL = :annual - SEMI_ANNUAL = :semi_annual - MONTHLY = :monthly - QUARTERLY = :quarterly - ONE_TIME = :one_time - CUSTOM = :custom - - # @!method self.values - # @return [Array] - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration#billing_cycle_configuration - class BillingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @param duration [Integer] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration#dimensional_price_configuration - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # The list of dimension values matching (in order) the dimensions of the price - # group - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String] - - # @!attribute dimensional_price_group_id - # The id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :dimensional_price_group_id, String, nil?: true - - # @!attribute external_dimensional_price_group_id - # The external id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :external_dimensional_price_group_id, String, nil?: true - - # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::DimensionalPriceConfiguration} - # for more details. - # - # For dimensional price: specifies a price group and dimension values - # - # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro - # - # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in - # - # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration#invoicing_cycle_configuration - class InvoicingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # 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] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - end - - class GroupedTieredPackage < Orb::Internal::Type::BaseModel - # @!attribute cadence - # The cadence to bill for this price on. - # - # @return [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::Cadence] - required :cadence, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::Cadence - } - - # @!attribute grouped_tiered_package_config - # - # @return [Hash{Symbol=>Object}] - required :grouped_tiered_package_config, - Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] - - # @!attribute item_id - # The id of the item the price will be associated with. - # - # @return [String] - required :item_id, String - - # @!attribute model_type - # - # @return [Symbol, :grouped_tiered_package] - required :model_type, const: :grouped_tiered_package - - # @!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::Internal::Type::Boolean, nil?: true - - # @!attribute billing_cycle_configuration - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration, nil] - optional :billing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::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 dimensional_price_configuration - # For dimensional price: specifies a price group and dimension values - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration, nil] - optional :dimensional_price_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration - }, - 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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration, nil] - optional :invoicing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::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::Internal::Type::HashOf[String, nil?: true], nil?: true - - # @!method initialize(cadence:, grouped_tiered_package_config:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :grouped_tiered_package) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage} - # for more details. - # - # @param cadence [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::Cadence] The cadence to bill for this price on. - # - # @param grouped_tiered_package_config [Hash{Symbol=>Object}] - # - # @param item_id [String] The id of the item the price will be associated with. - # - # @param name [String] The name of the price. - # - # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b - # - # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi - # - # @param billing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont - # - # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. - # - # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr - # - # @param dimensional_price_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values - # - # @param external_price_id [String, nil] An alias for the price. - # - # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl - # - # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice - # - # @param invoicing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. - # - # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed - # - # @param model_type [Symbol, :grouped_tiered_package] - - # The cadence to bill for this price on. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage#cadence - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL = :annual - SEMI_ANNUAL = :semi_annual - MONTHLY = :monthly - QUARTERLY = :quarterly - ONE_TIME = :one_time - CUSTOM = :custom - - # @!method self.values - # @return [Array] - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage#billing_cycle_configuration - class BillingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @param duration [Integer] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage#dimensional_price_configuration - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # The list of dimension values matching (in order) the dimensions of the price - # group - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String] - - # @!attribute dimensional_price_group_id - # The id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :dimensional_price_group_id, String, nil?: true - - # @!attribute external_dimensional_price_group_id - # The external id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :external_dimensional_price_group_id, String, nil?: true - - # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration} - # for more details. - # - # For dimensional price: specifies a price group and dimension values - # - # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro - # - # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in - # - # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage#invoicing_cycle_configuration - class InvoicingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # 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] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - end - - class MaxGroupTieredPackage < Orb::Internal::Type::BaseModel - # @!attribute cadence - # The cadence to bill for this price on. - # - # @return [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::Cadence] - required :cadence, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::Cadence - } - - # @!attribute item_id - # The id of the item the price will be associated with. - # - # @return [String] - required :item_id, String - - # @!attribute max_group_tiered_package_config - # - # @return [Hash{Symbol=>Object}] - required :max_group_tiered_package_config, - Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] - - # @!attribute model_type - # - # @return [Symbol, :max_group_tiered_package] - required :model_type, const: :max_group_tiered_package - - # @!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::Internal::Type::Boolean, nil?: true - - # @!attribute billing_cycle_configuration - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration, nil] - optional :billing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::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 dimensional_price_configuration - # For dimensional price: specifies a price group and dimension values - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration, nil] - optional :dimensional_price_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration - }, - 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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration, nil] - optional :invoicing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::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::Internal::Type::HashOf[String, nil?: true], nil?: true - - # @!method initialize(cadence:, item_id:, max_group_tiered_package_config:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :max_group_tiered_package) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage} - # for more details. - # - # @param cadence [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::Cadence] The cadence to bill for this price on. - # - # @param item_id [String] The id of the item the price will be associated with. - # - # @param max_group_tiered_package_config [Hash{Symbol=>Object}] - # - # @param name [String] The name of the price. - # - # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b - # - # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi - # - # @param billing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont - # - # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. - # - # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr - # - # @param dimensional_price_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values - # - # @param external_price_id [String, nil] An alias for the price. - # - # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl - # - # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice - # - # @param invoicing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. - # - # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed - # - # @param model_type [Symbol, :max_group_tiered_package] - - # The cadence to bill for this price on. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage#cadence - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL = :annual - SEMI_ANNUAL = :semi_annual - MONTHLY = :monthly - QUARTERLY = :quarterly - ONE_TIME = :one_time - CUSTOM = :custom - - # @!method self.values - # @return [Array] - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage#billing_cycle_configuration - class BillingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @param duration [Integer] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage#dimensional_price_configuration - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # The list of dimension values matching (in order) the dimensions of the price - # group - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String] - - # @!attribute dimensional_price_group_id - # The id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :dimensional_price_group_id, String, nil?: true - - # @!attribute external_dimensional_price_group_id - # The external id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :external_dimensional_price_group_id, String, nil?: true - - # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration} - # for more details. - # - # For dimensional price: specifies a price group and dimension values - # - # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro - # - # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in - # - # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage#invoicing_cycle_configuration - class InvoicingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # 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] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - end - - class ScalableMatrixWithUnitPricing < Orb::Internal::Type::BaseModel - # @!attribute cadence - # The cadence to bill for this price on. - # - # @return [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::Cadence] - required :cadence, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::Cadence - } - - # @!attribute item_id - # The id of the item the price will be associated with. - # - # @return [String] - required :item_id, String - - # @!attribute model_type - # - # @return [Symbol, :scalable_matrix_with_unit_pricing] - required :model_type, const: :scalable_matrix_with_unit_pricing - - # @!attribute name - # The name of the price. - # - # @return [String] - required :name, String - - # @!attribute scalable_matrix_with_unit_pricing_config - # - # @return [Hash{Symbol=>Object}] - required :scalable_matrix_with_unit_pricing_config, - Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] - - # @!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::Internal::Type::Boolean, nil?: true - - # @!attribute billing_cycle_configuration - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration, nil] - optional :billing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::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 dimensional_price_configuration - # For dimensional price: specifies a price group and dimension values - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration, nil] - optional :dimensional_price_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration - }, - 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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration, nil] - optional :invoicing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::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::Internal::Type::HashOf[String, nil?: true], nil?: true - - # @!method initialize(cadence:, item_id:, name:, scalable_matrix_with_unit_pricing_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :scalable_matrix_with_unit_pricing) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing} - # for more details. - # - # @param cadence [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::Cadence] The cadence to bill for this price on. - # - # @param item_id [String] The id of the item the price will be associated with. - # - # @param name [String] The name of the price. - # - # @param scalable_matrix_with_unit_pricing_config [Hash{Symbol=>Object}] - # - # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b - # - # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi - # - # @param billing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont - # - # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. - # - # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr - # - # @param dimensional_price_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values - # - # @param external_price_id [String, nil] An alias for the price. - # - # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl - # - # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice - # - # @param invoicing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. - # - # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed - # - # @param model_type [Symbol, :scalable_matrix_with_unit_pricing] - - # The cadence to bill for this price on. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing#cadence - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL = :annual - SEMI_ANNUAL = :semi_annual - MONTHLY = :monthly - QUARTERLY = :quarterly - ONE_TIME = :one_time - CUSTOM = :custom - - # @!method self.values - # @return [Array] - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing#billing_cycle_configuration - class BillingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @param duration [Integer] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing#dimensional_price_configuration - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # The list of dimension values matching (in order) the dimensions of the price - # group - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String] - - # @!attribute dimensional_price_group_id - # The id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :dimensional_price_group_id, String, nil?: true - - # @!attribute external_dimensional_price_group_id - # The external id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :external_dimensional_price_group_id, String, nil?: true - - # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration} - # for more details. - # - # For dimensional price: specifies a price group and dimension values - # - # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro - # - # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in - # - # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing#invoicing_cycle_configuration - class InvoicingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # 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] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - end - - class ScalableMatrixWithTieredPricing < Orb::Internal::Type::BaseModel - # @!attribute cadence - # The cadence to bill for this price on. - # - # @return [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::Cadence] - required :cadence, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::Cadence - } - - # @!attribute item_id - # The id of the item the price will be associated with. - # - # @return [String] - required :item_id, String - - # @!attribute model_type - # - # @return [Symbol, :scalable_matrix_with_tiered_pricing] - required :model_type, const: :scalable_matrix_with_tiered_pricing - - # @!attribute name - # The name of the price. - # - # @return [String] - required :name, String - - # @!attribute scalable_matrix_with_tiered_pricing_config - # - # @return [Hash{Symbol=>Object}] - required :scalable_matrix_with_tiered_pricing_config, - Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] - - # @!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::Internal::Type::Boolean, nil?: true - - # @!attribute billing_cycle_configuration - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration, nil] - optional :billing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::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 dimensional_price_configuration - # For dimensional price: specifies a price group and dimension values - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration, nil] - optional :dimensional_price_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration - }, - 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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration, nil] - optional :invoicing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::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::Internal::Type::HashOf[String, nil?: true], nil?: true - - # @!method initialize(cadence:, item_id:, name:, scalable_matrix_with_tiered_pricing_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :scalable_matrix_with_tiered_pricing) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing} - # for more details. - # - # @param cadence [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::Cadence] The cadence to bill for this price on. - # - # @param item_id [String] The id of the item the price will be associated with. - # - # @param name [String] The name of the price. - # - # @param scalable_matrix_with_tiered_pricing_config [Hash{Symbol=>Object}] - # - # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b - # - # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi - # - # @param billing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont - # - # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. - # - # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr - # - # @param dimensional_price_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values - # - # @param external_price_id [String, nil] An alias for the price. - # - # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl - # - # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice - # - # @param invoicing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. - # - # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed - # - # @param model_type [Symbol, :scalable_matrix_with_tiered_pricing] - - # The cadence to bill for this price on. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing#cadence - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL = :annual - SEMI_ANNUAL = :semi_annual - MONTHLY = :monthly - QUARTERLY = :quarterly - ONE_TIME = :one_time - CUSTOM = :custom - - # @!method self.values - # @return [Array] - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing#billing_cycle_configuration - class BillingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @param duration [Integer] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing#dimensional_price_configuration - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # The list of dimension values matching (in order) the dimensions of the price - # group - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String] - - # @!attribute dimensional_price_group_id - # The id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :dimensional_price_group_id, String, nil?: true - - # @!attribute external_dimensional_price_group_id - # The external id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :external_dimensional_price_group_id, String, nil?: true - - # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration} - # for more details. - # - # For dimensional price: specifies a price group and dimension values - # - # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro - # - # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in - # - # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing#invoicing_cycle_configuration - class InvoicingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # 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] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - end - - class CumulativeGroupedBulk < Orb::Internal::Type::BaseModel - # @!attribute cadence - # The cadence to bill for this price on. - # - # @return [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::Cadence] - required :cadence, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::Cadence - } - - # @!attribute cumulative_grouped_bulk_config - # - # @return [Hash{Symbol=>Object}] - required :cumulative_grouped_bulk_config, - Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] - - # @!attribute item_id - # The id of the item the price 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::Internal::Type::Boolean, nil?: true - - # @!attribute billing_cycle_configuration - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration, nil] - optional :billing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::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 dimensional_price_configuration - # For dimensional price: specifies a price group and dimension values - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration, nil] - optional :dimensional_price_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration - }, - 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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration, nil] - optional :invoicing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::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::Internal::Type::HashOf[String, nil?: true], nil?: true - - # @!method 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, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :cumulative_grouped_bulk) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk} - # for more details. - # - # @param cadence [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::Cadence] The cadence to bill for this price on. - # - # @param cumulative_grouped_bulk_config [Hash{Symbol=>Object}] - # - # @param item_id [String] The id of the item the price will be associated with. - # - # @param name [String] The name of the price. - # - # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b - # - # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi - # - # @param billing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont - # - # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. - # - # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr - # - # @param dimensional_price_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values - # - # @param external_price_id [String, nil] An alias for the price. - # - # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl - # - # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice - # - # @param invoicing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. - # - # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed - # - # @param model_type [Symbol, :cumulative_grouped_bulk] - - # The cadence to bill for this price on. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk#cadence - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL = :annual - SEMI_ANNUAL = :semi_annual - MONTHLY = :monthly - QUARTERLY = :quarterly - ONE_TIME = :one_time - CUSTOM = :custom - - # @!method self.values - # @return [Array] - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk#billing_cycle_configuration - class BillingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @param duration [Integer] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk#dimensional_price_configuration - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # The list of dimension values matching (in order) the dimensions of the price - # group - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String] - - # @!attribute dimensional_price_group_id - # The id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :dimensional_price_group_id, String, nil?: true - - # @!attribute external_dimensional_price_group_id - # The external id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :external_dimensional_price_group_id, String, nil?: true - - # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration} - # for more details. - # - # For dimensional price: specifies a price group and dimension values - # - # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro - # - # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in - # - # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk#invoicing_cycle_configuration - class InvoicingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # 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] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - end - - class TieredPackageWithMinimum < Orb::Internal::Type::BaseModel - # @!attribute cadence - # The cadence to bill for this price on. - # - # @return [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::Cadence] - required :cadence, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::Cadence - } - - # @!attribute item_id - # The id of the item the price will be associated with. - # - # @return [String] - required :item_id, String - - # @!attribute model_type - # - # @return [Symbol, :tiered_package_with_minimum] - required :model_type, const: :tiered_package_with_minimum - - # @!attribute name - # The name of the price. - # - # @return [String] - required :name, String - - # @!attribute tiered_package_with_minimum_config - # - # @return [Hash{Symbol=>Object}] - required :tiered_package_with_minimum_config, - Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] - - # @!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::Internal::Type::Boolean, nil?: true - - # @!attribute billing_cycle_configuration - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration, nil] - optional :billing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::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 dimensional_price_configuration - # For dimensional price: specifies a price group and dimension values - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration, nil] - optional :dimensional_price_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration - }, - 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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration, nil] - optional :invoicing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::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::Internal::Type::HashOf[String, nil?: true], nil?: true - - # @!method initialize(cadence:, item_id:, name:, tiered_package_with_minimum_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :tiered_package_with_minimum) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum} - # for more details. - # - # @param cadence [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::Cadence] The cadence to bill for this price on. - # - # @param item_id [String] The id of the item the price will be associated with. - # - # @param name [String] The name of the price. - # - # @param tiered_package_with_minimum_config [Hash{Symbol=>Object}] - # - # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b - # - # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi - # - # @param billing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont - # - # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. - # - # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr - # - # @param dimensional_price_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values - # - # @param external_price_id [String, nil] An alias for the price. - # - # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl - # - # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice - # - # @param invoicing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. - # - # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed - # - # @param model_type [Symbol, :tiered_package_with_minimum] - - # The cadence to bill for this price on. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum#cadence - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL = :annual - SEMI_ANNUAL = :semi_annual - MONTHLY = :monthly - QUARTERLY = :quarterly - ONE_TIME = :one_time - CUSTOM = :custom - - # @!method self.values - # @return [Array] - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum#billing_cycle_configuration - class BillingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @param duration [Integer] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum#dimensional_price_configuration - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # The list of dimension values matching (in order) the dimensions of the price - # group - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String] - - # @!attribute dimensional_price_group_id - # The id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :dimensional_price_group_id, String, nil?: true - - # @!attribute external_dimensional_price_group_id - # The external id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :external_dimensional_price_group_id, String, nil?: true - - # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration} - # for more details. - # - # For dimensional price: specifies a price group and dimension values - # - # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro - # - # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in - # - # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum#invoicing_cycle_configuration - class InvoicingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # 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] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - end - - class MatrixWithAllocation < Orb::Internal::Type::BaseModel - # @!attribute cadence - # The cadence to bill for this price on. - # - # @return [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::Cadence] - required :cadence, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::Cadence - } - - # @!attribute item_id - # The id of the item the price will be associated with. - # - # @return [String] - required :item_id, String - - # @!attribute matrix_with_allocation_config - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig] - required :matrix_with_allocation_config, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig - } - - # @!attribute model_type - # - # @return [Symbol, :matrix_with_allocation] - required :model_type, const: :matrix_with_allocation - - # @!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::Internal::Type::Boolean, nil?: true - - # @!attribute billing_cycle_configuration - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration, nil] - optional :billing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::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 dimensional_price_configuration - # For dimensional price: specifies a price group and dimension values - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration, nil] - optional :dimensional_price_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration - }, - 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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration, nil] - optional :invoicing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::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::Internal::Type::HashOf[String, nil?: true], nil?: true - - # @!method initialize(cadence:, item_id:, matrix_with_allocation_config:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :matrix_with_allocation) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation} - # for more details. - # - # @param cadence [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::Cadence] The cadence to bill for this price on. - # - # @param item_id [String] The id of the item the price will be associated with. - # - # @param matrix_with_allocation_config [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig] - # - # @param name [String] The name of the price. - # - # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b - # - # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi - # - # @param billing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont - # - # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. - # - # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr - # - # @param dimensional_price_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values - # - # @param external_price_id [String, nil] An alias for the price. - # - # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl - # - # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice - # - # @param invoicing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. - # - # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed - # - # @param model_type [Symbol, :matrix_with_allocation] - - # The cadence to bill for this price on. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation#cadence - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL = :annual - SEMI_ANNUAL = :semi_annual - MONTHLY = :monthly - QUARTERLY = :quarterly - ONE_TIME = :one_time - CUSTOM = :custom - - # @!method self.values - # @return [Array] - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation#matrix_with_allocation_config - class MatrixWithAllocationConfig < Orb::Internal::Type::BaseModel - # @!attribute allocation - # Allocation to be used to calculate the price - # - # @return [Float] - required :allocation, Float - - # @!attribute default_unit_amount - # Default per unit rate for any usage not bucketed into a specified matrix_value - # - # @return [String] - required :default_unit_amount, String - - # @!attribute dimensions - # One or two event property values to evaluate matrix groups by - # - # @return [Array] - required :dimensions, Orb::Internal::Type::ArrayOf[String, nil?: true] - - # @!attribute matrix_values - # Matrix values for specified matrix grouping keys - # - # @return [Array] - required :matrix_values, - -> do - Orb::Internal::Type::ArrayOf[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue - ] - end - - # @!method initialize(allocation:, default_unit_amount:, dimensions:, matrix_values:) - # @param allocation [Float] Allocation to be used to calculate the price - # - # @param default_unit_amount [String] Default per unit rate for any usage not bucketed into a specified matrix_value - # - # @param dimensions [Array] One or two event property values to evaluate matrix groups by - # - # @param matrix_values [Array] Matrix values for specified matrix grouping keys - - class MatrixValue < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # One or two matrix keys to filter usage to this Matrix value by. For example, - # ["region", "tier"] could be used to filter cloud usage by a cloud region and an - # instance tier. - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String, nil?: true] - - # @!attribute unit_amount - # Unit price for the specified dimension_values - # - # @return [String] - required :unit_amount, String - - # @!method initialize(dimension_values:, unit_amount:) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue} - # for more details. - # - # @param dimension_values [Array] One or two matrix keys to filter usage to this Matrix value by. For example, ["r - # - # @param unit_amount [String] Unit price for the specified dimension_values - end - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation#billing_cycle_configuration - class BillingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @param duration [Integer] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation#dimensional_price_configuration - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # The list of dimension values matching (in order) the dimensions of the price - # group - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String] - - # @!attribute dimensional_price_group_id - # The id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :dimensional_price_group_id, String, nil?: true - - # @!attribute external_dimensional_price_group_id - # The external id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :external_dimensional_price_group_id, String, nil?: true - - # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration} - # for more details. - # - # For dimensional price: specifies a price group and dimension values - # - # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro - # - # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in - # - # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation#invoicing_cycle_configuration - class InvoicingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # 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] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - end - - class GroupedTiered < Orb::Internal::Type::BaseModel - # @!attribute cadence - # The cadence to bill for this price on. - # - # @return [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::Cadence] - required :cadence, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::Cadence - } - - # @!attribute grouped_tiered_config - # - # @return [Hash{Symbol=>Object}] - required :grouped_tiered_config, Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] - - # @!attribute item_id - # The id of the item the price will be associated with. - # - # @return [String] - required :item_id, String - - # @!attribute model_type - # - # @return [Symbol, :grouped_tiered] - required :model_type, const: :grouped_tiered - - # @!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::Internal::Type::Boolean, nil?: true - - # @!attribute billing_cycle_configuration - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration, nil] - optional :billing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::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 dimensional_price_configuration - # For dimensional price: specifies a price group and dimension values - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::DimensionalPriceConfiguration, nil] - optional :dimensional_price_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::DimensionalPriceConfiguration - }, - 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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration, nil] - optional :invoicing_cycle_configuration, - -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::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::Internal::Type::HashOf[String, nil?: true], nil?: true - - # @!method initialize(cadence:, grouped_tiered_config:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :grouped_tiered) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered} - # for more details. - # - # @param cadence [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::Cadence] The cadence to bill for this price on. - # - # @param grouped_tiered_config [Hash{Symbol=>Object}] - # - # @param item_id [String] The id of the item the price will be associated with. - # - # @param name [String] The name of the price. - # - # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b - # - # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi - # - # @param billing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont - # - # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. - # - # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr - # - # @param dimensional_price_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values - # - # @param external_price_id [String, nil] An alias for the price. - # - # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl - # - # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice - # - # @param invoicing_cycle_configuration [Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. - # - # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed - # - # @param model_type [Symbol, :grouped_tiered] - - # The cadence to bill for this price on. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered#cadence - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL = :annual - SEMI_ANNUAL = :semi_annual - MONTHLY = :monthly - QUARTERLY = :quarterly - ONE_TIME = :one_time - CUSTOM = :custom - - # @!method self.values - # @return [Array] - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered#billing_cycle_configuration - class BillingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @param duration [Integer] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered#dimensional_price_configuration - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # The list of dimension values matching (in order) the dimensions of the price - # group - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String] - - # @!attribute dimensional_price_group_id - # The id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :dimensional_price_group_id, String, nil?: true - - # @!attribute external_dimensional_price_group_id - # The external id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :external_dimensional_price_group_id, String, nil?: true - - # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::DimensionalPriceConfiguration} - # for more details. - # - # For dimensional price: specifies a price group and dimension values - # - # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro - # - # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in - # - # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in - end - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered#invoicing_cycle_configuration - class InvoicingCycleConfiguration < Orb::Internal::Type::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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # 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] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - end - - # @!method self.variants - # @return [Array(Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation, Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered)] - end - end - end - end - end - end -end diff --git a/lib/orb/models/plans/external_plan_id/version_create_response.rb b/lib/orb/models/plans/external_plan_id/version_create_response.rb deleted file mode 100644 index 26a6fa6d..00000000 --- a/lib/orb/models/plans/external_plan_id/version_create_response.rb +++ /dev/null @@ -1,819 +0,0 @@ -# frozen_string_literal: true - -module Orb - module Models - module Plans - module ExternalPlanID - # @see Orb::Resources::Plans::ExternalPlanID::Versions#create - class VersionCreateResponse < Orb::Internal::Type::BaseModel - # @!attribute adjustments - # Adjustments for this plan. If the plan has phases, this includes adjustments - # across all phases of the plan. - # - # @return [Array] - required :adjustments, - -> { Orb::Internal::Type::ArrayOf[union: Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment] } - - # @!attribute created_at - # - # @return [Time] - required :created_at, Time - - # @!attribute plan_phases - # - # @return [Array, nil] - required :plan_phases, - -> { Orb::Internal::Type::ArrayOf[Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::PlanPhase] }, - nil?: true - - # @!attribute prices - # Prices for this plan. If the plan has phases, this includes prices across all - # phases of the plan. - # - # @return [Array] - required :prices, -> { Orb::Internal::Type::ArrayOf[union: Orb::Price] } - - # @!attribute version - # - # @return [Integer] - required :version, Integer - - # @!method initialize(adjustments:, created_at:, plan_phases:, prices:, version:) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateResponse} for more details. - # - # The PlanVersion resource represents the prices and adjustments present on a - # specific version of a plan. - # - # @param adjustments [Array] Adjustments for this plan. If the plan has phases, this includes adjustments acr - # - # @param created_at [Time] - # - # @param plan_phases [Array, nil] - # - # @param prices [Array] Prices for this plan. If the plan has phases, this includes prices across all ph - # - # @param version [Integer] - - module Adjustment - extend Orb::Internal::Type::Union - - discriminator :adjustment_type - - variant :usage_discount, - -> { Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::UsageDiscount } - - variant :amount_discount, - -> { Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::AmountDiscount } - - variant :percentage_discount, - -> { Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::PercentageDiscount } - - variant :minimum, -> { Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Minimum } - - variant :maximum, -> { Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Maximum } - - class UsageDiscount < Orb::Internal::Type::BaseModel - # @!attribute id - # - # @return [String] - required :id, String - - # @!attribute adjustment_type - # - # @return [Symbol, :usage_discount] - required :adjustment_type, const: :usage_discount - - # @!attribute applies_to_price_ids - # @deprecated - # - # The price IDs that this adjustment applies to. - # - # @return [Array] - required :applies_to_price_ids, Orb::Internal::Type::ArrayOf[String] - - # @!attribute filters - # The filters that determine which prices to apply this adjustment to. - # - # @return [Array] - required :filters, - -> { Orb::Internal::Type::ArrayOf[Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::UsageDiscount::Filter] } - - # @!attribute is_invoice_level - # True for adjustments that apply to an entire invocice, false for adjustments - # that apply to only one price. - # - # @return [Boolean] - required :is_invoice_level, Orb::Internal::Type::Boolean - - # @!attribute plan_phase_order - # The plan phase in which this adjustment is active. - # - # @return [Integer, nil] - required :plan_phase_order, Integer, nil?: true - - # @!attribute reason - # The reason for the adjustment. - # - # @return [String, nil] - required :reason, String, nil?: true - - # @!attribute usage_discount - # The number of usage units by which to discount the price this adjustment applies - # to in a given billing period. - # - # @return [Float] - required :usage_discount, Float - - # @!method initialize(id:, applies_to_price_ids:, filters:, is_invoice_level:, plan_phase_order:, reason:, usage_discount:, adjustment_type: :usage_discount) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::UsageDiscount} - # for more details. - # - # @param id [String] - # - # @param applies_to_price_ids [Array] The price IDs that this adjustment applies to. - # - # @param filters [Array] The filters that determine which prices to apply this adjustment to. - # - # @param is_invoice_level [Boolean] True for adjustments that apply to an entire invocice, false for adjustments tha - # - # @param plan_phase_order [Integer, nil] The plan phase in which this adjustment is active. - # - # @param reason [String, nil] The reason for the adjustment. - # - # @param usage_discount [Float] The number of usage units by which to discount the price this adjustment applies - # - # @param adjustment_type [Symbol, :usage_discount] - - class Filter < Orb::Internal::Type::BaseModel - # @!attribute field - # The property of the price to filter on. - # - # @return [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::UsageDiscount::Filter::Field] - required :field, - enum: -> { Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::UsageDiscount::Filter::Field } - - # @!attribute operator - # Should prices that match the filter be included or excluded. - # - # @return [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::UsageDiscount::Filter::Operator] - required :operator, - enum: -> { Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::UsageDiscount::Filter::Operator } - - # @!attribute values - # The IDs or values that match this filter. - # - # @return [Array] - required :values, Orb::Internal::Type::ArrayOf[String] - - # @!method initialize(field:, operator:, values:) - # @param field [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::UsageDiscount::Filter::Field] The property of the price to filter on. - # - # @param operator [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::UsageDiscount::Filter::Operator] Should prices that match the filter be included or excluded. - # - # @param values [Array] The IDs or values that match this filter. - - # The property of the price to filter on. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::UsageDiscount::Filter#field - module Field - extend Orb::Internal::Type::Enum - - PRICE_ID = :price_id - ITEM_ID = :item_id - PRICE_TYPE = :price_type - CURRENCY = :currency - PRICING_UNIT_ID = :pricing_unit_id - - # @!method self.values - # @return [Array] - end - - # Should prices that match the filter be included or excluded. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::UsageDiscount::Filter#operator - module Operator - extend Orb::Internal::Type::Enum - - INCLUDES = :includes - EXCLUDES = :excludes - - # @!method self.values - # @return [Array] - end - end - end - - class AmountDiscount < Orb::Internal::Type::BaseModel - # @!attribute id - # - # @return [String] - required :id, String - - # @!attribute adjustment_type - # - # @return [Symbol, :amount_discount] - required :adjustment_type, const: :amount_discount - - # @!attribute amount_discount - # The amount by which to discount the prices this adjustment applies to in a given - # billing period. - # - # @return [String] - required :amount_discount, String - - # @!attribute applies_to_price_ids - # @deprecated - # - # The price IDs that this adjustment applies to. - # - # @return [Array] - required :applies_to_price_ids, Orb::Internal::Type::ArrayOf[String] - - # @!attribute filters - # The filters that determine which prices to apply this adjustment to. - # - # @return [Array] - required :filters, - -> { Orb::Internal::Type::ArrayOf[Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::AmountDiscount::Filter] } - - # @!attribute is_invoice_level - # True for adjustments that apply to an entire invocice, false for adjustments - # that apply to only one price. - # - # @return [Boolean] - required :is_invoice_level, Orb::Internal::Type::Boolean - - # @!attribute plan_phase_order - # The plan phase in which this adjustment is active. - # - # @return [Integer, nil] - required :plan_phase_order, Integer, nil?: true - - # @!attribute reason - # The reason for the adjustment. - # - # @return [String, nil] - required :reason, String, nil?: true - - # @!method initialize(id:, amount_discount:, applies_to_price_ids:, filters:, is_invoice_level:, plan_phase_order:, reason:, adjustment_type: :amount_discount) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::AmountDiscount} - # for more details. - # - # @param id [String] - # - # @param amount_discount [String] The amount by which to discount the prices this adjustment applies to in a given - # - # @param applies_to_price_ids [Array] The price IDs that this adjustment applies to. - # - # @param filters [Array] The filters that determine which prices to apply this adjustment to. - # - # @param is_invoice_level [Boolean] True for adjustments that apply to an entire invocice, false for adjustments tha - # - # @param plan_phase_order [Integer, nil] The plan phase in which this adjustment is active. - # - # @param reason [String, nil] The reason for the adjustment. - # - # @param adjustment_type [Symbol, :amount_discount] - - class Filter < Orb::Internal::Type::BaseModel - # @!attribute field - # The property of the price to filter on. - # - # @return [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::AmountDiscount::Filter::Field] - required :field, - enum: -> { Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::AmountDiscount::Filter::Field } - - # @!attribute operator - # Should prices that match the filter be included or excluded. - # - # @return [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::AmountDiscount::Filter::Operator] - required :operator, - enum: -> { Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::AmountDiscount::Filter::Operator } - - # @!attribute values - # The IDs or values that match this filter. - # - # @return [Array] - required :values, Orb::Internal::Type::ArrayOf[String] - - # @!method initialize(field:, operator:, values:) - # @param field [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::AmountDiscount::Filter::Field] The property of the price to filter on. - # - # @param operator [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::AmountDiscount::Filter::Operator] Should prices that match the filter be included or excluded. - # - # @param values [Array] The IDs or values that match this filter. - - # The property of the price to filter on. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::AmountDiscount::Filter#field - module Field - extend Orb::Internal::Type::Enum - - PRICE_ID = :price_id - ITEM_ID = :item_id - PRICE_TYPE = :price_type - CURRENCY = :currency - PRICING_UNIT_ID = :pricing_unit_id - - # @!method self.values - # @return [Array] - end - - # Should prices that match the filter be included or excluded. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::AmountDiscount::Filter#operator - module Operator - extend Orb::Internal::Type::Enum - - INCLUDES = :includes - EXCLUDES = :excludes - - # @!method self.values - # @return [Array] - end - end - end - - class PercentageDiscount < Orb::Internal::Type::BaseModel - # @!attribute id - # - # @return [String] - required :id, String - - # @!attribute adjustment_type - # - # @return [Symbol, :percentage_discount] - required :adjustment_type, const: :percentage_discount - - # @!attribute applies_to_price_ids - # @deprecated - # - # The price IDs that this adjustment applies to. - # - # @return [Array] - required :applies_to_price_ids, Orb::Internal::Type::ArrayOf[String] - - # @!attribute filters - # The filters that determine which prices to apply this adjustment to. - # - # @return [Array] - required :filters, - -> { Orb::Internal::Type::ArrayOf[Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::PercentageDiscount::Filter] } - - # @!attribute is_invoice_level - # True for adjustments that apply to an entire invocice, false for adjustments - # that apply to only one price. - # - # @return [Boolean] - required :is_invoice_level, Orb::Internal::Type::Boolean - - # @!attribute percentage_discount - # The percentage (as a value between 0 and 1) by which to discount the price - # intervals this adjustment applies to in a given billing period. - # - # @return [Float] - required :percentage_discount, Float - - # @!attribute plan_phase_order - # The plan phase in which this adjustment is active. - # - # @return [Integer, nil] - required :plan_phase_order, Integer, nil?: true - - # @!attribute reason - # The reason for the adjustment. - # - # @return [String, nil] - required :reason, String, nil?: true - - # @!method initialize(id:, applies_to_price_ids:, filters:, is_invoice_level:, percentage_discount:, plan_phase_order:, reason:, adjustment_type: :percentage_discount) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::PercentageDiscount} - # for more details. - # - # @param id [String] - # - # @param applies_to_price_ids [Array] The price IDs that this adjustment applies to. - # - # @param filters [Array] The filters that determine which prices to apply this adjustment to. - # - # @param is_invoice_level [Boolean] True for adjustments that apply to an entire invocice, false for adjustments tha - # - # @param percentage_discount [Float] The percentage (as a value between 0 and 1) by which to discount the price inter - # - # @param plan_phase_order [Integer, nil] The plan phase in which this adjustment is active. - # - # @param reason [String, nil] The reason for the adjustment. - # - # @param adjustment_type [Symbol, :percentage_discount] - - class Filter < Orb::Internal::Type::BaseModel - # @!attribute field - # The property of the price to filter on. - # - # @return [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::PercentageDiscount::Filter::Field] - required :field, - enum: -> { Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::PercentageDiscount::Filter::Field } - - # @!attribute operator - # Should prices that match the filter be included or excluded. - # - # @return [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::PercentageDiscount::Filter::Operator] - required :operator, - enum: -> { Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::PercentageDiscount::Filter::Operator } - - # @!attribute values - # The IDs or values that match this filter. - # - # @return [Array] - required :values, Orb::Internal::Type::ArrayOf[String] - - # @!method initialize(field:, operator:, values:) - # @param field [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::PercentageDiscount::Filter::Field] The property of the price to filter on. - # - # @param operator [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::PercentageDiscount::Filter::Operator] Should prices that match the filter be included or excluded. - # - # @param values [Array] The IDs or values that match this filter. - - # The property of the price to filter on. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::PercentageDiscount::Filter#field - module Field - extend Orb::Internal::Type::Enum - - PRICE_ID = :price_id - ITEM_ID = :item_id - PRICE_TYPE = :price_type - CURRENCY = :currency - PRICING_UNIT_ID = :pricing_unit_id - - # @!method self.values - # @return [Array] - end - - # Should prices that match the filter be included or excluded. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::PercentageDiscount::Filter#operator - module Operator - extend Orb::Internal::Type::Enum - - INCLUDES = :includes - EXCLUDES = :excludes - - # @!method self.values - # @return [Array] - end - end - end - - class Minimum < Orb::Internal::Type::BaseModel - # @!attribute id - # - # @return [String] - required :id, String - - # @!attribute adjustment_type - # - # @return [Symbol, :minimum] - required :adjustment_type, const: :minimum - - # @!attribute applies_to_price_ids - # @deprecated - # - # The price IDs that this adjustment applies to. - # - # @return [Array] - required :applies_to_price_ids, Orb::Internal::Type::ArrayOf[String] - - # @!attribute filters - # The filters that determine which prices to apply this adjustment to. - # - # @return [Array] - required :filters, - -> { Orb::Internal::Type::ArrayOf[Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Minimum::Filter] } - - # @!attribute is_invoice_level - # True for adjustments that apply to an entire invocice, false for adjustments - # that apply to only one price. - # - # @return [Boolean] - required :is_invoice_level, Orb::Internal::Type::Boolean - - # @!attribute item_id - # The item ID that revenue from this minimum will be attributed to. - # - # @return [String] - required :item_id, String - - # @!attribute minimum_amount - # The minimum amount to charge in a given billing period for the prices this - # adjustment applies to. - # - # @return [String] - required :minimum_amount, String - - # @!attribute plan_phase_order - # The plan phase in which this adjustment is active. - # - # @return [Integer, nil] - required :plan_phase_order, Integer, nil?: true - - # @!attribute reason - # The reason for the adjustment. - # - # @return [String, nil] - required :reason, String, nil?: true - - # @!method initialize(id:, applies_to_price_ids:, filters:, is_invoice_level:, item_id:, minimum_amount:, plan_phase_order:, reason:, adjustment_type: :minimum) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Minimum} - # for more details. - # - # @param id [String] - # - # @param applies_to_price_ids [Array] The price IDs that this adjustment applies to. - # - # @param filters [Array] The filters that determine which prices to apply this adjustment to. - # - # @param is_invoice_level [Boolean] True for adjustments that apply to an entire invocice, false for adjustments tha - # - # @param item_id [String] The item ID that revenue from this minimum will be attributed to. - # - # @param minimum_amount [String] The minimum amount to charge in a given billing period for the prices this adjus - # - # @param plan_phase_order [Integer, nil] The plan phase in which this adjustment is active. - # - # @param reason [String, nil] The reason for the adjustment. - # - # @param adjustment_type [Symbol, :minimum] - - class Filter < Orb::Internal::Type::BaseModel - # @!attribute field - # The property of the price to filter on. - # - # @return [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Minimum::Filter::Field] - required :field, - enum: -> { Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Minimum::Filter::Field } - - # @!attribute operator - # Should prices that match the filter be included or excluded. - # - # @return [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Minimum::Filter::Operator] - required :operator, - enum: -> { Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Minimum::Filter::Operator } - - # @!attribute values - # The IDs or values that match this filter. - # - # @return [Array] - required :values, Orb::Internal::Type::ArrayOf[String] - - # @!method initialize(field:, operator:, values:) - # @param field [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Minimum::Filter::Field] The property of the price to filter on. - # - # @param operator [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Minimum::Filter::Operator] Should prices that match the filter be included or excluded. - # - # @param values [Array] The IDs or values that match this filter. - - # The property of the price to filter on. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Minimum::Filter#field - module Field - extend Orb::Internal::Type::Enum - - PRICE_ID = :price_id - ITEM_ID = :item_id - PRICE_TYPE = :price_type - CURRENCY = :currency - PRICING_UNIT_ID = :pricing_unit_id - - # @!method self.values - # @return [Array] - end - - # Should prices that match the filter be included or excluded. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Minimum::Filter#operator - module Operator - extend Orb::Internal::Type::Enum - - INCLUDES = :includes - EXCLUDES = :excludes - - # @!method self.values - # @return [Array] - end - end - end - - class Maximum < Orb::Internal::Type::BaseModel - # @!attribute id - # - # @return [String] - required :id, String - - # @!attribute adjustment_type - # - # @return [Symbol, :maximum] - required :adjustment_type, const: :maximum - - # @!attribute applies_to_price_ids - # @deprecated - # - # The price IDs that this adjustment applies to. - # - # @return [Array] - required :applies_to_price_ids, Orb::Internal::Type::ArrayOf[String] - - # @!attribute filters - # The filters that determine which prices to apply this adjustment to. - # - # @return [Array] - required :filters, - -> { Orb::Internal::Type::ArrayOf[Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Maximum::Filter] } - - # @!attribute is_invoice_level - # True for adjustments that apply to an entire invocice, false for adjustments - # that apply to only one price. - # - # @return [Boolean] - required :is_invoice_level, Orb::Internal::Type::Boolean - - # @!attribute maximum_amount - # The maximum amount to charge in a given billing period for the prices this - # adjustment applies to. - # - # @return [String] - required :maximum_amount, String - - # @!attribute plan_phase_order - # The plan phase in which this adjustment is active. - # - # @return [Integer, nil] - required :plan_phase_order, Integer, nil?: true - - # @!attribute reason - # The reason for the adjustment. - # - # @return [String, nil] - required :reason, String, nil?: true - - # @!method initialize(id:, applies_to_price_ids:, filters:, is_invoice_level:, maximum_amount:, plan_phase_order:, reason:, adjustment_type: :maximum) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Maximum} - # for more details. - # - # @param id [String] - # - # @param applies_to_price_ids [Array] The price IDs that this adjustment applies to. - # - # @param filters [Array] The filters that determine which prices to apply this adjustment to. - # - # @param is_invoice_level [Boolean] True for adjustments that apply to an entire invocice, false for adjustments tha - # - # @param maximum_amount [String] The maximum amount to charge in a given billing period for the prices this adjus - # - # @param plan_phase_order [Integer, nil] The plan phase in which this adjustment is active. - # - # @param reason [String, nil] The reason for the adjustment. - # - # @param adjustment_type [Symbol, :maximum] - - class Filter < Orb::Internal::Type::BaseModel - # @!attribute field - # The property of the price to filter on. - # - # @return [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Maximum::Filter::Field] - required :field, - enum: -> { Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Maximum::Filter::Field } - - # @!attribute operator - # Should prices that match the filter be included or excluded. - # - # @return [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Maximum::Filter::Operator] - required :operator, - enum: -> { Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Maximum::Filter::Operator } - - # @!attribute values - # The IDs or values that match this filter. - # - # @return [Array] - required :values, Orb::Internal::Type::ArrayOf[String] - - # @!method initialize(field:, operator:, values:) - # @param field [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Maximum::Filter::Field] The property of the price to filter on. - # - # @param operator [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Maximum::Filter::Operator] Should prices that match the filter be included or excluded. - # - # @param values [Array] The IDs or values that match this filter. - - # The property of the price to filter on. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Maximum::Filter#field - module Field - extend Orb::Internal::Type::Enum - - PRICE_ID = :price_id - ITEM_ID = :item_id - PRICE_TYPE = :price_type - CURRENCY = :currency - PRICING_UNIT_ID = :pricing_unit_id - - # @!method self.values - # @return [Array] - end - - # Should prices that match the filter be included or excluded. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Maximum::Filter#operator - module Operator - extend Orb::Internal::Type::Enum - - INCLUDES = :includes - EXCLUDES = :excludes - - # @!method self.values - # @return [Array] - end - end - end - - # @!method self.variants - # @return [Array(Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::UsageDiscount, Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::AmountDiscount, Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::PercentageDiscount, Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Minimum, Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Maximum)] - end - - class PlanPhase < Orb::Internal::Type::BaseModel - # @!attribute id - # - # @return [String] - required :id, String - - # @!attribute description - # - # @return [String, nil] - required :description, String, nil?: true - - # @!attribute duration - # How many terms of length `duration_unit` this phase is active for. If null, this - # phase is evergreen and active indefinitely - # - # @return [Integer, nil] - required :duration, Integer, nil?: true - - # @!attribute duration_unit - # - # @return [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::PlanPhase::DurationUnit, nil] - required :duration_unit, - enum: -> { Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::PlanPhase::DurationUnit }, - nil?: true - - # @!attribute name - # - # @return [String] - required :name, String - - # @!attribute order - # Determines the ordering of the phase in a plan's lifecycle. 1 = first phase. - # - # @return [Integer] - required :order, Integer - - # @!method initialize(id:, description:, duration:, duration_unit:, name:, order:) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::PlanPhase} for more - # details. - # - # @param id [String] - # - # @param description [String, nil] - # - # @param duration [Integer, nil] How many terms of length `duration_unit` this phase is active for. If null, this - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::PlanPhase::DurationUnit, nil] - # - # @param name [String] - # - # @param order [Integer] Determines the ordering of the phase in a plan's lifecycle. 1 = first phase. - - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::PlanPhase#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAILY = :daily - MONTHLY = :monthly - QUARTERLY = :quarterly - SEMI_ANNUAL = :semi_annual - ANNUAL = :annual - - # @!method self.values - # @return [Array] - end - end - end - end - end - end -end diff --git a/lib/orb/models/plans/external_plan_id/version_retrieve_params.rb b/lib/orb/models/plans/external_plan_id/version_retrieve_params.rb deleted file mode 100644 index 9a2d65ff..00000000 --- a/lib/orb/models/plans/external_plan_id/version_retrieve_params.rb +++ /dev/null @@ -1,24 +0,0 @@ -# frozen_string_literal: true - -module Orb - module Models - module Plans - module ExternalPlanID - # @see Orb::Resources::Plans::ExternalPlanID::Versions#retrieve - class VersionRetrieveParams < Orb::Internal::Type::BaseModel - extend Orb::Internal::Type::RequestParameters::Converter - include Orb::Internal::Type::RequestParameters - - # @!attribute external_plan_id - # - # @return [String] - required :external_plan_id, String - - # @!method initialize(external_plan_id:, request_options: {}) - # @param external_plan_id [String] - # @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}] - end - end - end - end -end diff --git a/lib/orb/models/plans/external_plan_id/version_retrieve_response.rb b/lib/orb/models/plans/external_plan_id/version_retrieve_response.rb deleted file mode 100644 index d345de36..00000000 --- a/lib/orb/models/plans/external_plan_id/version_retrieve_response.rb +++ /dev/null @@ -1,819 +0,0 @@ -# frozen_string_literal: true - -module Orb - module Models - module Plans - module ExternalPlanID - # @see Orb::Resources::Plans::ExternalPlanID::Versions#retrieve - class VersionRetrieveResponse < Orb::Internal::Type::BaseModel - # @!attribute adjustments - # Adjustments for this plan. If the plan has phases, this includes adjustments - # across all phases of the plan. - # - # @return [Array] - required :adjustments, - -> { Orb::Internal::Type::ArrayOf[union: Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment] } - - # @!attribute created_at - # - # @return [Time] - required :created_at, Time - - # @!attribute plan_phases - # - # @return [Array, nil] - required :plan_phases, - -> { Orb::Internal::Type::ArrayOf[Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::PlanPhase] }, - nil?: true - - # @!attribute prices - # Prices for this plan. If the plan has phases, this includes prices across all - # phases of the plan. - # - # @return [Array] - required :prices, -> { Orb::Internal::Type::ArrayOf[union: Orb::Price] } - - # @!attribute version - # - # @return [Integer] - required :version, Integer - - # @!method initialize(adjustments:, created_at:, plan_phases:, prices:, version:) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse} for more details. - # - # The PlanVersion resource represents the prices and adjustments present on a - # specific version of a plan. - # - # @param adjustments [Array] Adjustments for this plan. If the plan has phases, this includes adjustments acr - # - # @param created_at [Time] - # - # @param plan_phases [Array, nil] - # - # @param prices [Array] Prices for this plan. If the plan has phases, this includes prices across all ph - # - # @param version [Integer] - - module Adjustment - extend Orb::Internal::Type::Union - - discriminator :adjustment_type - - variant :usage_discount, - -> { Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::UsageDiscount } - - variant :amount_discount, - -> { Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::AmountDiscount } - - variant :percentage_discount, - -> { Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::PercentageDiscount } - - variant :minimum, -> { Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Minimum } - - variant :maximum, -> { Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Maximum } - - class UsageDiscount < Orb::Internal::Type::BaseModel - # @!attribute id - # - # @return [String] - required :id, String - - # @!attribute adjustment_type - # - # @return [Symbol, :usage_discount] - required :adjustment_type, const: :usage_discount - - # @!attribute applies_to_price_ids - # @deprecated - # - # The price IDs that this adjustment applies to. - # - # @return [Array] - required :applies_to_price_ids, Orb::Internal::Type::ArrayOf[String] - - # @!attribute filters - # The filters that determine which prices to apply this adjustment to. - # - # @return [Array] - required :filters, - -> { Orb::Internal::Type::ArrayOf[Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter] } - - # @!attribute is_invoice_level - # True for adjustments that apply to an entire invocice, false for adjustments - # that apply to only one price. - # - # @return [Boolean] - required :is_invoice_level, Orb::Internal::Type::Boolean - - # @!attribute plan_phase_order - # The plan phase in which this adjustment is active. - # - # @return [Integer, nil] - required :plan_phase_order, Integer, nil?: true - - # @!attribute reason - # The reason for the adjustment. - # - # @return [String, nil] - required :reason, String, nil?: true - - # @!attribute usage_discount - # The number of usage units by which to discount the price this adjustment applies - # to in a given billing period. - # - # @return [Float] - required :usage_discount, Float - - # @!method initialize(id:, applies_to_price_ids:, filters:, is_invoice_level:, plan_phase_order:, reason:, usage_discount:, adjustment_type: :usage_discount) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::UsageDiscount} - # for more details. - # - # @param id [String] - # - # @param applies_to_price_ids [Array] The price IDs that this adjustment applies to. - # - # @param filters [Array] The filters that determine which prices to apply this adjustment to. - # - # @param is_invoice_level [Boolean] True for adjustments that apply to an entire invocice, false for adjustments tha - # - # @param plan_phase_order [Integer, nil] The plan phase in which this adjustment is active. - # - # @param reason [String, nil] The reason for the adjustment. - # - # @param usage_discount [Float] The number of usage units by which to discount the price this adjustment applies - # - # @param adjustment_type [Symbol, :usage_discount] - - class Filter < Orb::Internal::Type::BaseModel - # @!attribute field - # The property of the price to filter on. - # - # @return [Symbol, Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter::Field] - required :field, - enum: -> { Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter::Field } - - # @!attribute operator - # Should prices that match the filter be included or excluded. - # - # @return [Symbol, Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter::Operator] - required :operator, - enum: -> { Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter::Operator } - - # @!attribute values - # The IDs or values that match this filter. - # - # @return [Array] - required :values, Orb::Internal::Type::ArrayOf[String] - - # @!method initialize(field:, operator:, values:) - # @param field [Symbol, Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter::Field] The property of the price to filter on. - # - # @param operator [Symbol, Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter::Operator] Should prices that match the filter be included or excluded. - # - # @param values [Array] The IDs or values that match this filter. - - # The property of the price to filter on. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter#field - module Field - extend Orb::Internal::Type::Enum - - PRICE_ID = :price_id - ITEM_ID = :item_id - PRICE_TYPE = :price_type - CURRENCY = :currency - PRICING_UNIT_ID = :pricing_unit_id - - # @!method self.values - # @return [Array] - end - - # Should prices that match the filter be included or excluded. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter#operator - module Operator - extend Orb::Internal::Type::Enum - - INCLUDES = :includes - EXCLUDES = :excludes - - # @!method self.values - # @return [Array] - end - end - end - - class AmountDiscount < Orb::Internal::Type::BaseModel - # @!attribute id - # - # @return [String] - required :id, String - - # @!attribute adjustment_type - # - # @return [Symbol, :amount_discount] - required :adjustment_type, const: :amount_discount - - # @!attribute amount_discount - # The amount by which to discount the prices this adjustment applies to in a given - # billing period. - # - # @return [String] - required :amount_discount, String - - # @!attribute applies_to_price_ids - # @deprecated - # - # The price IDs that this adjustment applies to. - # - # @return [Array] - required :applies_to_price_ids, Orb::Internal::Type::ArrayOf[String] - - # @!attribute filters - # The filters that determine which prices to apply this adjustment to. - # - # @return [Array] - required :filters, - -> { Orb::Internal::Type::ArrayOf[Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter] } - - # @!attribute is_invoice_level - # True for adjustments that apply to an entire invocice, false for adjustments - # that apply to only one price. - # - # @return [Boolean] - required :is_invoice_level, Orb::Internal::Type::Boolean - - # @!attribute plan_phase_order - # The plan phase in which this adjustment is active. - # - # @return [Integer, nil] - required :plan_phase_order, Integer, nil?: true - - # @!attribute reason - # The reason for the adjustment. - # - # @return [String, nil] - required :reason, String, nil?: true - - # @!method initialize(id:, amount_discount:, applies_to_price_ids:, filters:, is_invoice_level:, plan_phase_order:, reason:, adjustment_type: :amount_discount) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::AmountDiscount} - # for more details. - # - # @param id [String] - # - # @param amount_discount [String] The amount by which to discount the prices this adjustment applies to in a given - # - # @param applies_to_price_ids [Array] The price IDs that this adjustment applies to. - # - # @param filters [Array] The filters that determine which prices to apply this adjustment to. - # - # @param is_invoice_level [Boolean] True for adjustments that apply to an entire invocice, false for adjustments tha - # - # @param plan_phase_order [Integer, nil] The plan phase in which this adjustment is active. - # - # @param reason [String, nil] The reason for the adjustment. - # - # @param adjustment_type [Symbol, :amount_discount] - - class Filter < Orb::Internal::Type::BaseModel - # @!attribute field - # The property of the price to filter on. - # - # @return [Symbol, Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter::Field] - required :field, - enum: -> { Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter::Field } - - # @!attribute operator - # Should prices that match the filter be included or excluded. - # - # @return [Symbol, Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter::Operator] - required :operator, - enum: -> { Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter::Operator } - - # @!attribute values - # The IDs or values that match this filter. - # - # @return [Array] - required :values, Orb::Internal::Type::ArrayOf[String] - - # @!method initialize(field:, operator:, values:) - # @param field [Symbol, Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter::Field] The property of the price to filter on. - # - # @param operator [Symbol, Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter::Operator] Should prices that match the filter be included or excluded. - # - # @param values [Array] The IDs or values that match this filter. - - # The property of the price to filter on. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter#field - module Field - extend Orb::Internal::Type::Enum - - PRICE_ID = :price_id - ITEM_ID = :item_id - PRICE_TYPE = :price_type - CURRENCY = :currency - PRICING_UNIT_ID = :pricing_unit_id - - # @!method self.values - # @return [Array] - end - - # Should prices that match the filter be included or excluded. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter#operator - module Operator - extend Orb::Internal::Type::Enum - - INCLUDES = :includes - EXCLUDES = :excludes - - # @!method self.values - # @return [Array] - end - end - end - - class PercentageDiscount < Orb::Internal::Type::BaseModel - # @!attribute id - # - # @return [String] - required :id, String - - # @!attribute adjustment_type - # - # @return [Symbol, :percentage_discount] - required :adjustment_type, const: :percentage_discount - - # @!attribute applies_to_price_ids - # @deprecated - # - # The price IDs that this adjustment applies to. - # - # @return [Array] - required :applies_to_price_ids, Orb::Internal::Type::ArrayOf[String] - - # @!attribute filters - # The filters that determine which prices to apply this adjustment to. - # - # @return [Array] - required :filters, - -> { Orb::Internal::Type::ArrayOf[Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter] } - - # @!attribute is_invoice_level - # True for adjustments that apply to an entire invocice, false for adjustments - # that apply to only one price. - # - # @return [Boolean] - required :is_invoice_level, Orb::Internal::Type::Boolean - - # @!attribute percentage_discount - # The percentage (as a value between 0 and 1) by which to discount the price - # intervals this adjustment applies to in a given billing period. - # - # @return [Float] - required :percentage_discount, Float - - # @!attribute plan_phase_order - # The plan phase in which this adjustment is active. - # - # @return [Integer, nil] - required :plan_phase_order, Integer, nil?: true - - # @!attribute reason - # The reason for the adjustment. - # - # @return [String, nil] - required :reason, String, nil?: true - - # @!method initialize(id:, applies_to_price_ids:, filters:, is_invoice_level:, percentage_discount:, plan_phase_order:, reason:, adjustment_type: :percentage_discount) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::PercentageDiscount} - # for more details. - # - # @param id [String] - # - # @param applies_to_price_ids [Array] The price IDs that this adjustment applies to. - # - # @param filters [Array] The filters that determine which prices to apply this adjustment to. - # - # @param is_invoice_level [Boolean] True for adjustments that apply to an entire invocice, false for adjustments tha - # - # @param percentage_discount [Float] The percentage (as a value between 0 and 1) by which to discount the price inter - # - # @param plan_phase_order [Integer, nil] The plan phase in which this adjustment is active. - # - # @param reason [String, nil] The reason for the adjustment. - # - # @param adjustment_type [Symbol, :percentage_discount] - - class Filter < Orb::Internal::Type::BaseModel - # @!attribute field - # The property of the price to filter on. - # - # @return [Symbol, Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter::Field] - required :field, - enum: -> { Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter::Field } - - # @!attribute operator - # Should prices that match the filter be included or excluded. - # - # @return [Symbol, Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter::Operator] - required :operator, - enum: -> { Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter::Operator } - - # @!attribute values - # The IDs or values that match this filter. - # - # @return [Array] - required :values, Orb::Internal::Type::ArrayOf[String] - - # @!method initialize(field:, operator:, values:) - # @param field [Symbol, Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter::Field] The property of the price to filter on. - # - # @param operator [Symbol, Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter::Operator] Should prices that match the filter be included or excluded. - # - # @param values [Array] The IDs or values that match this filter. - - # The property of the price to filter on. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter#field - module Field - extend Orb::Internal::Type::Enum - - PRICE_ID = :price_id - ITEM_ID = :item_id - PRICE_TYPE = :price_type - CURRENCY = :currency - PRICING_UNIT_ID = :pricing_unit_id - - # @!method self.values - # @return [Array] - end - - # Should prices that match the filter be included or excluded. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter#operator - module Operator - extend Orb::Internal::Type::Enum - - INCLUDES = :includes - EXCLUDES = :excludes - - # @!method self.values - # @return [Array] - end - end - end - - class Minimum < Orb::Internal::Type::BaseModel - # @!attribute id - # - # @return [String] - required :id, String - - # @!attribute adjustment_type - # - # @return [Symbol, :minimum] - required :adjustment_type, const: :minimum - - # @!attribute applies_to_price_ids - # @deprecated - # - # The price IDs that this adjustment applies to. - # - # @return [Array] - required :applies_to_price_ids, Orb::Internal::Type::ArrayOf[String] - - # @!attribute filters - # The filters that determine which prices to apply this adjustment to. - # - # @return [Array] - required :filters, - -> { Orb::Internal::Type::ArrayOf[Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Minimum::Filter] } - - # @!attribute is_invoice_level - # True for adjustments that apply to an entire invocice, false for adjustments - # that apply to only one price. - # - # @return [Boolean] - required :is_invoice_level, Orb::Internal::Type::Boolean - - # @!attribute item_id - # The item ID that revenue from this minimum will be attributed to. - # - # @return [String] - required :item_id, String - - # @!attribute minimum_amount - # The minimum amount to charge in a given billing period for the prices this - # adjustment applies to. - # - # @return [String] - required :minimum_amount, String - - # @!attribute plan_phase_order - # The plan phase in which this adjustment is active. - # - # @return [Integer, nil] - required :plan_phase_order, Integer, nil?: true - - # @!attribute reason - # The reason for the adjustment. - # - # @return [String, nil] - required :reason, String, nil?: true - - # @!method initialize(id:, applies_to_price_ids:, filters:, is_invoice_level:, item_id:, minimum_amount:, plan_phase_order:, reason:, adjustment_type: :minimum) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Minimum} - # for more details. - # - # @param id [String] - # - # @param applies_to_price_ids [Array] The price IDs that this adjustment applies to. - # - # @param filters [Array] The filters that determine which prices to apply this adjustment to. - # - # @param is_invoice_level [Boolean] True for adjustments that apply to an entire invocice, false for adjustments tha - # - # @param item_id [String] The item ID that revenue from this minimum will be attributed to. - # - # @param minimum_amount [String] The minimum amount to charge in a given billing period for the prices this adjus - # - # @param plan_phase_order [Integer, nil] The plan phase in which this adjustment is active. - # - # @param reason [String, nil] The reason for the adjustment. - # - # @param adjustment_type [Symbol, :minimum] - - class Filter < Orb::Internal::Type::BaseModel - # @!attribute field - # The property of the price to filter on. - # - # @return [Symbol, Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Minimum::Filter::Field] - required :field, - enum: -> { Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Minimum::Filter::Field } - - # @!attribute operator - # Should prices that match the filter be included or excluded. - # - # @return [Symbol, Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Minimum::Filter::Operator] - required :operator, - enum: -> { Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Minimum::Filter::Operator } - - # @!attribute values - # The IDs or values that match this filter. - # - # @return [Array] - required :values, Orb::Internal::Type::ArrayOf[String] - - # @!method initialize(field:, operator:, values:) - # @param field [Symbol, Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Minimum::Filter::Field] The property of the price to filter on. - # - # @param operator [Symbol, Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Minimum::Filter::Operator] Should prices that match the filter be included or excluded. - # - # @param values [Array] The IDs or values that match this filter. - - # The property of the price to filter on. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Minimum::Filter#field - module Field - extend Orb::Internal::Type::Enum - - PRICE_ID = :price_id - ITEM_ID = :item_id - PRICE_TYPE = :price_type - CURRENCY = :currency - PRICING_UNIT_ID = :pricing_unit_id - - # @!method self.values - # @return [Array] - end - - # Should prices that match the filter be included or excluded. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Minimum::Filter#operator - module Operator - extend Orb::Internal::Type::Enum - - INCLUDES = :includes - EXCLUDES = :excludes - - # @!method self.values - # @return [Array] - end - end - end - - class Maximum < Orb::Internal::Type::BaseModel - # @!attribute id - # - # @return [String] - required :id, String - - # @!attribute adjustment_type - # - # @return [Symbol, :maximum] - required :adjustment_type, const: :maximum - - # @!attribute applies_to_price_ids - # @deprecated - # - # The price IDs that this adjustment applies to. - # - # @return [Array] - required :applies_to_price_ids, Orb::Internal::Type::ArrayOf[String] - - # @!attribute filters - # The filters that determine which prices to apply this adjustment to. - # - # @return [Array] - required :filters, - -> { Orb::Internal::Type::ArrayOf[Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Maximum::Filter] } - - # @!attribute is_invoice_level - # True for adjustments that apply to an entire invocice, false for adjustments - # that apply to only one price. - # - # @return [Boolean] - required :is_invoice_level, Orb::Internal::Type::Boolean - - # @!attribute maximum_amount - # The maximum amount to charge in a given billing period for the prices this - # adjustment applies to. - # - # @return [String] - required :maximum_amount, String - - # @!attribute plan_phase_order - # The plan phase in which this adjustment is active. - # - # @return [Integer, nil] - required :plan_phase_order, Integer, nil?: true - - # @!attribute reason - # The reason for the adjustment. - # - # @return [String, nil] - required :reason, String, nil?: true - - # @!method initialize(id:, applies_to_price_ids:, filters:, is_invoice_level:, maximum_amount:, plan_phase_order:, reason:, adjustment_type: :maximum) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Maximum} - # for more details. - # - # @param id [String] - # - # @param applies_to_price_ids [Array] The price IDs that this adjustment applies to. - # - # @param filters [Array] The filters that determine which prices to apply this adjustment to. - # - # @param is_invoice_level [Boolean] True for adjustments that apply to an entire invocice, false for adjustments tha - # - # @param maximum_amount [String] The maximum amount to charge in a given billing period for the prices this adjus - # - # @param plan_phase_order [Integer, nil] The plan phase in which this adjustment is active. - # - # @param reason [String, nil] The reason for the adjustment. - # - # @param adjustment_type [Symbol, :maximum] - - class Filter < Orb::Internal::Type::BaseModel - # @!attribute field - # The property of the price to filter on. - # - # @return [Symbol, Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Maximum::Filter::Field] - required :field, - enum: -> { Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Maximum::Filter::Field } - - # @!attribute operator - # Should prices that match the filter be included or excluded. - # - # @return [Symbol, Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Maximum::Filter::Operator] - required :operator, - enum: -> { Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Maximum::Filter::Operator } - - # @!attribute values - # The IDs or values that match this filter. - # - # @return [Array] - required :values, Orb::Internal::Type::ArrayOf[String] - - # @!method initialize(field:, operator:, values:) - # @param field [Symbol, Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Maximum::Filter::Field] The property of the price to filter on. - # - # @param operator [Symbol, Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Maximum::Filter::Operator] Should prices that match the filter be included or excluded. - # - # @param values [Array] The IDs or values that match this filter. - - # The property of the price to filter on. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Maximum::Filter#field - module Field - extend Orb::Internal::Type::Enum - - PRICE_ID = :price_id - ITEM_ID = :item_id - PRICE_TYPE = :price_type - CURRENCY = :currency - PRICING_UNIT_ID = :pricing_unit_id - - # @!method self.values - # @return [Array] - end - - # Should prices that match the filter be included or excluded. - # - # @see Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Maximum::Filter#operator - module Operator - extend Orb::Internal::Type::Enum - - INCLUDES = :includes - EXCLUDES = :excludes - - # @!method self.values - # @return [Array] - end - end - end - - # @!method self.variants - # @return [Array(Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::UsageDiscount, Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::AmountDiscount, Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::PercentageDiscount, Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Minimum, Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Maximum)] - end - - class PlanPhase < Orb::Internal::Type::BaseModel - # @!attribute id - # - # @return [String] - required :id, String - - # @!attribute description - # - # @return [String, nil] - required :description, String, nil?: true - - # @!attribute duration - # How many terms of length `duration_unit` this phase is active for. If null, this - # phase is evergreen and active indefinitely - # - # @return [Integer, nil] - required :duration, Integer, nil?: true - - # @!attribute duration_unit - # - # @return [Symbol, Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::PlanPhase::DurationUnit, nil] - required :duration_unit, - enum: -> { Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::PlanPhase::DurationUnit }, - nil?: true - - # @!attribute name - # - # @return [String] - required :name, String - - # @!attribute order - # Determines the ordering of the phase in a plan's lifecycle. 1 = first phase. - # - # @return [Integer] - required :order, Integer - - # @!method initialize(id:, description:, duration:, duration_unit:, name:, order:) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::PlanPhase} for - # more details. - # - # @param id [String] - # - # @param description [String, nil] - # - # @param duration [Integer, nil] How many terms of length `duration_unit` this phase is active for. If null, this - # - # @param duration_unit [Symbol, Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::PlanPhase::DurationUnit, nil] - # - # @param name [String] - # - # @param order [Integer] Determines the ordering of the phase in a plan's lifecycle. 1 = first phase. - - # @see Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::PlanPhase#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAILY = :daily - MONTHLY = :monthly - QUARTERLY = :quarterly - SEMI_ANNUAL = :semi_annual - ANNUAL = :annual - - # @!method self.values - # @return [Array] - end - end - end - end - end - end -end diff --git a/lib/orb/models/plans/version_create_response.rb b/lib/orb/models/plans/version_create_response.rb deleted file mode 100644 index ab51f6df..00000000 --- a/lib/orb/models/plans/version_create_response.rb +++ /dev/null @@ -1,814 +0,0 @@ -# frozen_string_literal: true - -module Orb - module Models - module Plans - # @see Orb::Resources::Plans::Versions#create - class VersionCreateResponse < Orb::Internal::Type::BaseModel - # @!attribute adjustments - # Adjustments for this plan. If the plan has phases, this includes adjustments - # across all phases of the plan. - # - # @return [Array] - required :adjustments, - -> { Orb::Internal::Type::ArrayOf[union: Orb::Models::Plans::VersionCreateResponse::Adjustment] } - - # @!attribute created_at - # - # @return [Time] - required :created_at, Time - - # @!attribute plan_phases - # - # @return [Array, nil] - required :plan_phases, - -> { Orb::Internal::Type::ArrayOf[Orb::Models::Plans::VersionCreateResponse::PlanPhase] }, - nil?: true - - # @!attribute prices - # Prices for this plan. If the plan has phases, this includes prices across all - # phases of the plan. - # - # @return [Array] - required :prices, -> { Orb::Internal::Type::ArrayOf[union: Orb::Price] } - - # @!attribute version - # - # @return [Integer] - required :version, Integer - - # @!method initialize(adjustments:, created_at:, plan_phases:, prices:, version:) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateResponse} for more details. - # - # The PlanVersion resource represents the prices and adjustments present on a - # specific version of a plan. - # - # @param adjustments [Array] Adjustments for this plan. If the plan has phases, this includes adjustments acr - # - # @param created_at [Time] - # - # @param plan_phases [Array, nil] - # - # @param prices [Array] Prices for this plan. If the plan has phases, this includes prices across all ph - # - # @param version [Integer] - - module Adjustment - extend Orb::Internal::Type::Union - - discriminator :adjustment_type - - variant :usage_discount, -> { Orb::Models::Plans::VersionCreateResponse::Adjustment::UsageDiscount } - - variant :amount_discount, -> { Orb::Models::Plans::VersionCreateResponse::Adjustment::AmountDiscount } - - variant :percentage_discount, - -> { Orb::Models::Plans::VersionCreateResponse::Adjustment::PercentageDiscount } - - variant :minimum, -> { Orb::Models::Plans::VersionCreateResponse::Adjustment::Minimum } - - variant :maximum, -> { Orb::Models::Plans::VersionCreateResponse::Adjustment::Maximum } - - class UsageDiscount < Orb::Internal::Type::BaseModel - # @!attribute id - # - # @return [String] - required :id, String - - # @!attribute adjustment_type - # - # @return [Symbol, :usage_discount] - required :adjustment_type, const: :usage_discount - - # @!attribute applies_to_price_ids - # @deprecated - # - # The price IDs that this adjustment applies to. - # - # @return [Array] - required :applies_to_price_ids, Orb::Internal::Type::ArrayOf[String] - - # @!attribute filters - # The filters that determine which prices to apply this adjustment to. - # - # @return [Array] - required :filters, - -> { Orb::Internal::Type::ArrayOf[Orb::Models::Plans::VersionCreateResponse::Adjustment::UsageDiscount::Filter] } - - # @!attribute is_invoice_level - # True for adjustments that apply to an entire invocice, false for adjustments - # that apply to only one price. - # - # @return [Boolean] - required :is_invoice_level, Orb::Internal::Type::Boolean - - # @!attribute plan_phase_order - # The plan phase in which this adjustment is active. - # - # @return [Integer, nil] - required :plan_phase_order, Integer, nil?: true - - # @!attribute reason - # The reason for the adjustment. - # - # @return [String, nil] - required :reason, String, nil?: true - - # @!attribute usage_discount - # The number of usage units by which to discount the price this adjustment applies - # to in a given billing period. - # - # @return [Float] - required :usage_discount, Float - - # @!method initialize(id:, applies_to_price_ids:, filters:, is_invoice_level:, plan_phase_order:, reason:, usage_discount:, adjustment_type: :usage_discount) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateResponse::Adjustment::UsageDiscount} for more - # details. - # - # @param id [String] - # - # @param applies_to_price_ids [Array] The price IDs that this adjustment applies to. - # - # @param filters [Array] The filters that determine which prices to apply this adjustment to. - # - # @param is_invoice_level [Boolean] True for adjustments that apply to an entire invocice, false for adjustments tha - # - # @param plan_phase_order [Integer, nil] The plan phase in which this adjustment is active. - # - # @param reason [String, nil] The reason for the adjustment. - # - # @param usage_discount [Float] The number of usage units by which to discount the price this adjustment applies - # - # @param adjustment_type [Symbol, :usage_discount] - - class Filter < Orb::Internal::Type::BaseModel - # @!attribute field - # The property of the price to filter on. - # - # @return [Symbol, Orb::Models::Plans::VersionCreateResponse::Adjustment::UsageDiscount::Filter::Field] - required :field, - enum: -> { Orb::Models::Plans::VersionCreateResponse::Adjustment::UsageDiscount::Filter::Field } - - # @!attribute operator - # Should prices that match the filter be included or excluded. - # - # @return [Symbol, Orb::Models::Plans::VersionCreateResponse::Adjustment::UsageDiscount::Filter::Operator] - required :operator, - enum: -> { Orb::Models::Plans::VersionCreateResponse::Adjustment::UsageDiscount::Filter::Operator } - - # @!attribute values - # The IDs or values that match this filter. - # - # @return [Array] - required :values, Orb::Internal::Type::ArrayOf[String] - - # @!method initialize(field:, operator:, values:) - # @param field [Symbol, Orb::Models::Plans::VersionCreateResponse::Adjustment::UsageDiscount::Filter::Field] The property of the price to filter on. - # - # @param operator [Symbol, Orb::Models::Plans::VersionCreateResponse::Adjustment::UsageDiscount::Filter::Operator] Should prices that match the filter be included or excluded. - # - # @param values [Array] The IDs or values that match this filter. - - # The property of the price to filter on. - # - # @see Orb::Models::Plans::VersionCreateResponse::Adjustment::UsageDiscount::Filter#field - module Field - extend Orb::Internal::Type::Enum - - PRICE_ID = :price_id - ITEM_ID = :item_id - PRICE_TYPE = :price_type - CURRENCY = :currency - PRICING_UNIT_ID = :pricing_unit_id - - # @!method self.values - # @return [Array] - end - - # Should prices that match the filter be included or excluded. - # - # @see Orb::Models::Plans::VersionCreateResponse::Adjustment::UsageDiscount::Filter#operator - module Operator - extend Orb::Internal::Type::Enum - - INCLUDES = :includes - EXCLUDES = :excludes - - # @!method self.values - # @return [Array] - end - end - end - - class AmountDiscount < Orb::Internal::Type::BaseModel - # @!attribute id - # - # @return [String] - required :id, String - - # @!attribute adjustment_type - # - # @return [Symbol, :amount_discount] - required :adjustment_type, const: :amount_discount - - # @!attribute amount_discount - # The amount by which to discount the prices this adjustment applies to in a given - # billing period. - # - # @return [String] - required :amount_discount, String - - # @!attribute applies_to_price_ids - # @deprecated - # - # The price IDs that this adjustment applies to. - # - # @return [Array] - required :applies_to_price_ids, Orb::Internal::Type::ArrayOf[String] - - # @!attribute filters - # The filters that determine which prices to apply this adjustment to. - # - # @return [Array] - required :filters, - -> { Orb::Internal::Type::ArrayOf[Orb::Models::Plans::VersionCreateResponse::Adjustment::AmountDiscount::Filter] } - - # @!attribute is_invoice_level - # True for adjustments that apply to an entire invocice, false for adjustments - # that apply to only one price. - # - # @return [Boolean] - required :is_invoice_level, Orb::Internal::Type::Boolean - - # @!attribute plan_phase_order - # The plan phase in which this adjustment is active. - # - # @return [Integer, nil] - required :plan_phase_order, Integer, nil?: true - - # @!attribute reason - # The reason for the adjustment. - # - # @return [String, nil] - required :reason, String, nil?: true - - # @!method initialize(id:, amount_discount:, applies_to_price_ids:, filters:, is_invoice_level:, plan_phase_order:, reason:, adjustment_type: :amount_discount) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateResponse::Adjustment::AmountDiscount} for more - # details. - # - # @param id [String] - # - # @param amount_discount [String] The amount by which to discount the prices this adjustment applies to in a given - # - # @param applies_to_price_ids [Array] The price IDs that this adjustment applies to. - # - # @param filters [Array] The filters that determine which prices to apply this adjustment to. - # - # @param is_invoice_level [Boolean] True for adjustments that apply to an entire invocice, false for adjustments tha - # - # @param plan_phase_order [Integer, nil] The plan phase in which this adjustment is active. - # - # @param reason [String, nil] The reason for the adjustment. - # - # @param adjustment_type [Symbol, :amount_discount] - - class Filter < Orb::Internal::Type::BaseModel - # @!attribute field - # The property of the price to filter on. - # - # @return [Symbol, Orb::Models::Plans::VersionCreateResponse::Adjustment::AmountDiscount::Filter::Field] - required :field, - enum: -> { Orb::Models::Plans::VersionCreateResponse::Adjustment::AmountDiscount::Filter::Field } - - # @!attribute operator - # Should prices that match the filter be included or excluded. - # - # @return [Symbol, Orb::Models::Plans::VersionCreateResponse::Adjustment::AmountDiscount::Filter::Operator] - required :operator, - enum: -> { Orb::Models::Plans::VersionCreateResponse::Adjustment::AmountDiscount::Filter::Operator } - - # @!attribute values - # The IDs or values that match this filter. - # - # @return [Array] - required :values, Orb::Internal::Type::ArrayOf[String] - - # @!method initialize(field:, operator:, values:) - # @param field [Symbol, Orb::Models::Plans::VersionCreateResponse::Adjustment::AmountDiscount::Filter::Field] The property of the price to filter on. - # - # @param operator [Symbol, Orb::Models::Plans::VersionCreateResponse::Adjustment::AmountDiscount::Filter::Operator] Should prices that match the filter be included or excluded. - # - # @param values [Array] The IDs or values that match this filter. - - # The property of the price to filter on. - # - # @see Orb::Models::Plans::VersionCreateResponse::Adjustment::AmountDiscount::Filter#field - module Field - extend Orb::Internal::Type::Enum - - PRICE_ID = :price_id - ITEM_ID = :item_id - PRICE_TYPE = :price_type - CURRENCY = :currency - PRICING_UNIT_ID = :pricing_unit_id - - # @!method self.values - # @return [Array] - end - - # Should prices that match the filter be included or excluded. - # - # @see Orb::Models::Plans::VersionCreateResponse::Adjustment::AmountDiscount::Filter#operator - module Operator - extend Orb::Internal::Type::Enum - - INCLUDES = :includes - EXCLUDES = :excludes - - # @!method self.values - # @return [Array] - end - end - end - - class PercentageDiscount < Orb::Internal::Type::BaseModel - # @!attribute id - # - # @return [String] - required :id, String - - # @!attribute adjustment_type - # - # @return [Symbol, :percentage_discount] - required :adjustment_type, const: :percentage_discount - - # @!attribute applies_to_price_ids - # @deprecated - # - # The price IDs that this adjustment applies to. - # - # @return [Array] - required :applies_to_price_ids, Orb::Internal::Type::ArrayOf[String] - - # @!attribute filters - # The filters that determine which prices to apply this adjustment to. - # - # @return [Array] - required :filters, - -> { Orb::Internal::Type::ArrayOf[Orb::Models::Plans::VersionCreateResponse::Adjustment::PercentageDiscount::Filter] } - - # @!attribute is_invoice_level - # True for adjustments that apply to an entire invocice, false for adjustments - # that apply to only one price. - # - # @return [Boolean] - required :is_invoice_level, Orb::Internal::Type::Boolean - - # @!attribute percentage_discount - # The percentage (as a value between 0 and 1) by which to discount the price - # intervals this adjustment applies to in a given billing period. - # - # @return [Float] - required :percentage_discount, Float - - # @!attribute plan_phase_order - # The plan phase in which this adjustment is active. - # - # @return [Integer, nil] - required :plan_phase_order, Integer, nil?: true - - # @!attribute reason - # The reason for the adjustment. - # - # @return [String, nil] - required :reason, String, nil?: true - - # @!method initialize(id:, applies_to_price_ids:, filters:, is_invoice_level:, percentage_discount:, plan_phase_order:, reason:, adjustment_type: :percentage_discount) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateResponse::Adjustment::PercentageDiscount} for - # more details. - # - # @param id [String] - # - # @param applies_to_price_ids [Array] The price IDs that this adjustment applies to. - # - # @param filters [Array] The filters that determine which prices to apply this adjustment to. - # - # @param is_invoice_level [Boolean] True for adjustments that apply to an entire invocice, false for adjustments tha - # - # @param percentage_discount [Float] The percentage (as a value between 0 and 1) by which to discount the price inter - # - # @param plan_phase_order [Integer, nil] The plan phase in which this adjustment is active. - # - # @param reason [String, nil] The reason for the adjustment. - # - # @param adjustment_type [Symbol, :percentage_discount] - - class Filter < Orb::Internal::Type::BaseModel - # @!attribute field - # The property of the price to filter on. - # - # @return [Symbol, Orb::Models::Plans::VersionCreateResponse::Adjustment::PercentageDiscount::Filter::Field] - required :field, - enum: -> { Orb::Models::Plans::VersionCreateResponse::Adjustment::PercentageDiscount::Filter::Field } - - # @!attribute operator - # Should prices that match the filter be included or excluded. - # - # @return [Symbol, Orb::Models::Plans::VersionCreateResponse::Adjustment::PercentageDiscount::Filter::Operator] - required :operator, - enum: -> { Orb::Models::Plans::VersionCreateResponse::Adjustment::PercentageDiscount::Filter::Operator } - - # @!attribute values - # The IDs or values that match this filter. - # - # @return [Array] - required :values, Orb::Internal::Type::ArrayOf[String] - - # @!method initialize(field:, operator:, values:) - # @param field [Symbol, Orb::Models::Plans::VersionCreateResponse::Adjustment::PercentageDiscount::Filter::Field] The property of the price to filter on. - # - # @param operator [Symbol, Orb::Models::Plans::VersionCreateResponse::Adjustment::PercentageDiscount::Filter::Operator] Should prices that match the filter be included or excluded. - # - # @param values [Array] The IDs or values that match this filter. - - # The property of the price to filter on. - # - # @see Orb::Models::Plans::VersionCreateResponse::Adjustment::PercentageDiscount::Filter#field - module Field - extend Orb::Internal::Type::Enum - - PRICE_ID = :price_id - ITEM_ID = :item_id - PRICE_TYPE = :price_type - CURRENCY = :currency - PRICING_UNIT_ID = :pricing_unit_id - - # @!method self.values - # @return [Array] - end - - # Should prices that match the filter be included or excluded. - # - # @see Orb::Models::Plans::VersionCreateResponse::Adjustment::PercentageDiscount::Filter#operator - module Operator - extend Orb::Internal::Type::Enum - - INCLUDES = :includes - EXCLUDES = :excludes - - # @!method self.values - # @return [Array] - end - end - end - - class Minimum < Orb::Internal::Type::BaseModel - # @!attribute id - # - # @return [String] - required :id, String - - # @!attribute adjustment_type - # - # @return [Symbol, :minimum] - required :adjustment_type, const: :minimum - - # @!attribute applies_to_price_ids - # @deprecated - # - # The price IDs that this adjustment applies to. - # - # @return [Array] - required :applies_to_price_ids, Orb::Internal::Type::ArrayOf[String] - - # @!attribute filters - # The filters that determine which prices to apply this adjustment to. - # - # @return [Array] - required :filters, - -> { Orb::Internal::Type::ArrayOf[Orb::Models::Plans::VersionCreateResponse::Adjustment::Minimum::Filter] } - - # @!attribute is_invoice_level - # True for adjustments that apply to an entire invocice, false for adjustments - # that apply to only one price. - # - # @return [Boolean] - required :is_invoice_level, Orb::Internal::Type::Boolean - - # @!attribute item_id - # The item ID that revenue from this minimum will be attributed to. - # - # @return [String] - required :item_id, String - - # @!attribute minimum_amount - # The minimum amount to charge in a given billing period for the prices this - # adjustment applies to. - # - # @return [String] - required :minimum_amount, String - - # @!attribute plan_phase_order - # The plan phase in which this adjustment is active. - # - # @return [Integer, nil] - required :plan_phase_order, Integer, nil?: true - - # @!attribute reason - # The reason for the adjustment. - # - # @return [String, nil] - required :reason, String, nil?: true - - # @!method initialize(id:, applies_to_price_ids:, filters:, is_invoice_level:, item_id:, minimum_amount:, plan_phase_order:, reason:, adjustment_type: :minimum) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateResponse::Adjustment::Minimum} for more - # details. - # - # @param id [String] - # - # @param applies_to_price_ids [Array] The price IDs that this adjustment applies to. - # - # @param filters [Array] The filters that determine which prices to apply this adjustment to. - # - # @param is_invoice_level [Boolean] True for adjustments that apply to an entire invocice, false for adjustments tha - # - # @param item_id [String] The item ID that revenue from this minimum will be attributed to. - # - # @param minimum_amount [String] The minimum amount to charge in a given billing period for the prices this adjus - # - # @param plan_phase_order [Integer, nil] The plan phase in which this adjustment is active. - # - # @param reason [String, nil] The reason for the adjustment. - # - # @param adjustment_type [Symbol, :minimum] - - class Filter < Orb::Internal::Type::BaseModel - # @!attribute field - # The property of the price to filter on. - # - # @return [Symbol, Orb::Models::Plans::VersionCreateResponse::Adjustment::Minimum::Filter::Field] - required :field, - enum: -> { Orb::Models::Plans::VersionCreateResponse::Adjustment::Minimum::Filter::Field } - - # @!attribute operator - # Should prices that match the filter be included or excluded. - # - # @return [Symbol, Orb::Models::Plans::VersionCreateResponse::Adjustment::Minimum::Filter::Operator] - required :operator, - enum: -> { Orb::Models::Plans::VersionCreateResponse::Adjustment::Minimum::Filter::Operator } - - # @!attribute values - # The IDs or values that match this filter. - # - # @return [Array] - required :values, Orb::Internal::Type::ArrayOf[String] - - # @!method initialize(field:, operator:, values:) - # @param field [Symbol, Orb::Models::Plans::VersionCreateResponse::Adjustment::Minimum::Filter::Field] The property of the price to filter on. - # - # @param operator [Symbol, Orb::Models::Plans::VersionCreateResponse::Adjustment::Minimum::Filter::Operator] Should prices that match the filter be included or excluded. - # - # @param values [Array] The IDs or values that match this filter. - - # The property of the price to filter on. - # - # @see Orb::Models::Plans::VersionCreateResponse::Adjustment::Minimum::Filter#field - module Field - extend Orb::Internal::Type::Enum - - PRICE_ID = :price_id - ITEM_ID = :item_id - PRICE_TYPE = :price_type - CURRENCY = :currency - PRICING_UNIT_ID = :pricing_unit_id - - # @!method self.values - # @return [Array] - end - - # Should prices that match the filter be included or excluded. - # - # @see Orb::Models::Plans::VersionCreateResponse::Adjustment::Minimum::Filter#operator - module Operator - extend Orb::Internal::Type::Enum - - INCLUDES = :includes - EXCLUDES = :excludes - - # @!method self.values - # @return [Array] - end - end - end - - class Maximum < Orb::Internal::Type::BaseModel - # @!attribute id - # - # @return [String] - required :id, String - - # @!attribute adjustment_type - # - # @return [Symbol, :maximum] - required :adjustment_type, const: :maximum - - # @!attribute applies_to_price_ids - # @deprecated - # - # The price IDs that this adjustment applies to. - # - # @return [Array] - required :applies_to_price_ids, Orb::Internal::Type::ArrayOf[String] - - # @!attribute filters - # The filters that determine which prices to apply this adjustment to. - # - # @return [Array] - required :filters, - -> { Orb::Internal::Type::ArrayOf[Orb::Models::Plans::VersionCreateResponse::Adjustment::Maximum::Filter] } - - # @!attribute is_invoice_level - # True for adjustments that apply to an entire invocice, false for adjustments - # that apply to only one price. - # - # @return [Boolean] - required :is_invoice_level, Orb::Internal::Type::Boolean - - # @!attribute maximum_amount - # The maximum amount to charge in a given billing period for the prices this - # adjustment applies to. - # - # @return [String] - required :maximum_amount, String - - # @!attribute plan_phase_order - # The plan phase in which this adjustment is active. - # - # @return [Integer, nil] - required :plan_phase_order, Integer, nil?: true - - # @!attribute reason - # The reason for the adjustment. - # - # @return [String, nil] - required :reason, String, nil?: true - - # @!method initialize(id:, applies_to_price_ids:, filters:, is_invoice_level:, maximum_amount:, plan_phase_order:, reason:, adjustment_type: :maximum) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateResponse::Adjustment::Maximum} for more - # details. - # - # @param id [String] - # - # @param applies_to_price_ids [Array] The price IDs that this adjustment applies to. - # - # @param filters [Array] The filters that determine which prices to apply this adjustment to. - # - # @param is_invoice_level [Boolean] True for adjustments that apply to an entire invocice, false for adjustments tha - # - # @param maximum_amount [String] The maximum amount to charge in a given billing period for the prices this adjus - # - # @param plan_phase_order [Integer, nil] The plan phase in which this adjustment is active. - # - # @param reason [String, nil] The reason for the adjustment. - # - # @param adjustment_type [Symbol, :maximum] - - class Filter < Orb::Internal::Type::BaseModel - # @!attribute field - # The property of the price to filter on. - # - # @return [Symbol, Orb::Models::Plans::VersionCreateResponse::Adjustment::Maximum::Filter::Field] - required :field, - enum: -> { Orb::Models::Plans::VersionCreateResponse::Adjustment::Maximum::Filter::Field } - - # @!attribute operator - # Should prices that match the filter be included or excluded. - # - # @return [Symbol, Orb::Models::Plans::VersionCreateResponse::Adjustment::Maximum::Filter::Operator] - required :operator, - enum: -> { Orb::Models::Plans::VersionCreateResponse::Adjustment::Maximum::Filter::Operator } - - # @!attribute values - # The IDs or values that match this filter. - # - # @return [Array] - required :values, Orb::Internal::Type::ArrayOf[String] - - # @!method initialize(field:, operator:, values:) - # @param field [Symbol, Orb::Models::Plans::VersionCreateResponse::Adjustment::Maximum::Filter::Field] The property of the price to filter on. - # - # @param operator [Symbol, Orb::Models::Plans::VersionCreateResponse::Adjustment::Maximum::Filter::Operator] Should prices that match the filter be included or excluded. - # - # @param values [Array] The IDs or values that match this filter. - - # The property of the price to filter on. - # - # @see Orb::Models::Plans::VersionCreateResponse::Adjustment::Maximum::Filter#field - module Field - extend Orb::Internal::Type::Enum - - PRICE_ID = :price_id - ITEM_ID = :item_id - PRICE_TYPE = :price_type - CURRENCY = :currency - PRICING_UNIT_ID = :pricing_unit_id - - # @!method self.values - # @return [Array] - end - - # Should prices that match the filter be included or excluded. - # - # @see Orb::Models::Plans::VersionCreateResponse::Adjustment::Maximum::Filter#operator - module Operator - extend Orb::Internal::Type::Enum - - INCLUDES = :includes - EXCLUDES = :excludes - - # @!method self.values - # @return [Array] - end - end - end - - # @!method self.variants - # @return [Array(Orb::Models::Plans::VersionCreateResponse::Adjustment::UsageDiscount, Orb::Models::Plans::VersionCreateResponse::Adjustment::AmountDiscount, Orb::Models::Plans::VersionCreateResponse::Adjustment::PercentageDiscount, Orb::Models::Plans::VersionCreateResponse::Adjustment::Minimum, Orb::Models::Plans::VersionCreateResponse::Adjustment::Maximum)] - end - - class PlanPhase < Orb::Internal::Type::BaseModel - # @!attribute id - # - # @return [String] - required :id, String - - # @!attribute description - # - # @return [String, nil] - required :description, String, nil?: true - - # @!attribute duration - # How many terms of length `duration_unit` this phase is active for. If null, this - # phase is evergreen and active indefinitely - # - # @return [Integer, nil] - required :duration, Integer, nil?: true - - # @!attribute duration_unit - # - # @return [Symbol, Orb::Models::Plans::VersionCreateResponse::PlanPhase::DurationUnit, nil] - required :duration_unit, - enum: -> { Orb::Models::Plans::VersionCreateResponse::PlanPhase::DurationUnit }, - nil?: true - - # @!attribute name - # - # @return [String] - required :name, String - - # @!attribute order - # Determines the ordering of the phase in a plan's lifecycle. 1 = first phase. - # - # @return [Integer] - required :order, Integer - - # @!method initialize(id:, description:, duration:, duration_unit:, name:, order:) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionCreateResponse::PlanPhase} for more details. - # - # @param id [String] - # - # @param description [String, nil] - # - # @param duration [Integer, nil] How many terms of length `duration_unit` this phase is active for. If null, this - # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionCreateResponse::PlanPhase::DurationUnit, nil] - # - # @param name [String] - # - # @param order [Integer] Determines the ordering of the phase in a plan's lifecycle. 1 = first phase. - - # @see Orb::Models::Plans::VersionCreateResponse::PlanPhase#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAILY = :daily - MONTHLY = :monthly - QUARTERLY = :quarterly - SEMI_ANNUAL = :semi_annual - ANNUAL = :annual - - # @!method self.values - # @return [Array] - end - end - end - end - end -end diff --git a/lib/orb/models/plans/version_retrieve_params.rb b/lib/orb/models/plans/version_retrieve_params.rb deleted file mode 100644 index 086de808..00000000 --- a/lib/orb/models/plans/version_retrieve_params.rb +++ /dev/null @@ -1,22 +0,0 @@ -# frozen_string_literal: true - -module Orb - module Models - module Plans - # @see Orb::Resources::Plans::Versions#retrieve - class VersionRetrieveParams < Orb::Internal::Type::BaseModel - extend Orb::Internal::Type::RequestParameters::Converter - include Orb::Internal::Type::RequestParameters - - # @!attribute plan_id - # - # @return [String] - required :plan_id, String - - # @!method initialize(plan_id:, request_options: {}) - # @param plan_id [String] - # @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}] - end - end - end -end diff --git a/lib/orb/models/plans/version_retrieve_response.rb b/lib/orb/models/plans/version_retrieve_response.rb deleted file mode 100644 index 9e9b3445..00000000 --- a/lib/orb/models/plans/version_retrieve_response.rb +++ /dev/null @@ -1,814 +0,0 @@ -# frozen_string_literal: true - -module Orb - module Models - module Plans - # @see Orb::Resources::Plans::Versions#retrieve - class VersionRetrieveResponse < Orb::Internal::Type::BaseModel - # @!attribute adjustments - # Adjustments for this plan. If the plan has phases, this includes adjustments - # across all phases of the plan. - # - # @return [Array] - required :adjustments, - -> { Orb::Internal::Type::ArrayOf[union: Orb::Models::Plans::VersionRetrieveResponse::Adjustment] } - - # @!attribute created_at - # - # @return [Time] - required :created_at, Time - - # @!attribute plan_phases - # - # @return [Array, nil] - required :plan_phases, - -> { Orb::Internal::Type::ArrayOf[Orb::Models::Plans::VersionRetrieveResponse::PlanPhase] }, - nil?: true - - # @!attribute prices - # Prices for this plan. If the plan has phases, this includes prices across all - # phases of the plan. - # - # @return [Array] - required :prices, -> { Orb::Internal::Type::ArrayOf[union: Orb::Price] } - - # @!attribute version - # - # @return [Integer] - required :version, Integer - - # @!method initialize(adjustments:, created_at:, plan_phases:, prices:, version:) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionRetrieveResponse} for more details. - # - # The PlanVersion resource represents the prices and adjustments present on a - # specific version of a plan. - # - # @param adjustments [Array] Adjustments for this plan. If the plan has phases, this includes adjustments acr - # - # @param created_at [Time] - # - # @param plan_phases [Array, nil] - # - # @param prices [Array] Prices for this plan. If the plan has phases, this includes prices across all ph - # - # @param version [Integer] - - module Adjustment - extend Orb::Internal::Type::Union - - discriminator :adjustment_type - - variant :usage_discount, -> { Orb::Models::Plans::VersionRetrieveResponse::Adjustment::UsageDiscount } - - variant :amount_discount, -> { Orb::Models::Plans::VersionRetrieveResponse::Adjustment::AmountDiscount } - - variant :percentage_discount, - -> { Orb::Models::Plans::VersionRetrieveResponse::Adjustment::PercentageDiscount } - - variant :minimum, -> { Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Minimum } - - variant :maximum, -> { Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Maximum } - - class UsageDiscount < Orb::Internal::Type::BaseModel - # @!attribute id - # - # @return [String] - required :id, String - - # @!attribute adjustment_type - # - # @return [Symbol, :usage_discount] - required :adjustment_type, const: :usage_discount - - # @!attribute applies_to_price_ids - # @deprecated - # - # The price IDs that this adjustment applies to. - # - # @return [Array] - required :applies_to_price_ids, Orb::Internal::Type::ArrayOf[String] - - # @!attribute filters - # The filters that determine which prices to apply this adjustment to. - # - # @return [Array] - required :filters, - -> { Orb::Internal::Type::ArrayOf[Orb::Models::Plans::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter] } - - # @!attribute is_invoice_level - # True for adjustments that apply to an entire invocice, false for adjustments - # that apply to only one price. - # - # @return [Boolean] - required :is_invoice_level, Orb::Internal::Type::Boolean - - # @!attribute plan_phase_order - # The plan phase in which this adjustment is active. - # - # @return [Integer, nil] - required :plan_phase_order, Integer, nil?: true - - # @!attribute reason - # The reason for the adjustment. - # - # @return [String, nil] - required :reason, String, nil?: true - - # @!attribute usage_discount - # The number of usage units by which to discount the price this adjustment applies - # to in a given billing period. - # - # @return [Float] - required :usage_discount, Float - - # @!method initialize(id:, applies_to_price_ids:, filters:, is_invoice_level:, plan_phase_order:, reason:, usage_discount:, adjustment_type: :usage_discount) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionRetrieveResponse::Adjustment::UsageDiscount} for - # more details. - # - # @param id [String] - # - # @param applies_to_price_ids [Array] The price IDs that this adjustment applies to. - # - # @param filters [Array] The filters that determine which prices to apply this adjustment to. - # - # @param is_invoice_level [Boolean] True for adjustments that apply to an entire invocice, false for adjustments tha - # - # @param plan_phase_order [Integer, nil] The plan phase in which this adjustment is active. - # - # @param reason [String, nil] The reason for the adjustment. - # - # @param usage_discount [Float] The number of usage units by which to discount the price this adjustment applies - # - # @param adjustment_type [Symbol, :usage_discount] - - class Filter < Orb::Internal::Type::BaseModel - # @!attribute field - # The property of the price to filter on. - # - # @return [Symbol, Orb::Models::Plans::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter::Field] - required :field, - enum: -> { Orb::Models::Plans::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter::Field } - - # @!attribute operator - # Should prices that match the filter be included or excluded. - # - # @return [Symbol, Orb::Models::Plans::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter::Operator] - required :operator, - enum: -> { Orb::Models::Plans::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter::Operator } - - # @!attribute values - # The IDs or values that match this filter. - # - # @return [Array] - required :values, Orb::Internal::Type::ArrayOf[String] - - # @!method initialize(field:, operator:, values:) - # @param field [Symbol, Orb::Models::Plans::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter::Field] The property of the price to filter on. - # - # @param operator [Symbol, Orb::Models::Plans::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter::Operator] Should prices that match the filter be included or excluded. - # - # @param values [Array] The IDs or values that match this filter. - - # The property of the price to filter on. - # - # @see Orb::Models::Plans::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter#field - module Field - extend Orb::Internal::Type::Enum - - PRICE_ID = :price_id - ITEM_ID = :item_id - PRICE_TYPE = :price_type - CURRENCY = :currency - PRICING_UNIT_ID = :pricing_unit_id - - # @!method self.values - # @return [Array] - end - - # Should prices that match the filter be included or excluded. - # - # @see Orb::Models::Plans::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter#operator - module Operator - extend Orb::Internal::Type::Enum - - INCLUDES = :includes - EXCLUDES = :excludes - - # @!method self.values - # @return [Array] - end - end - end - - class AmountDiscount < Orb::Internal::Type::BaseModel - # @!attribute id - # - # @return [String] - required :id, String - - # @!attribute adjustment_type - # - # @return [Symbol, :amount_discount] - required :adjustment_type, const: :amount_discount - - # @!attribute amount_discount - # The amount by which to discount the prices this adjustment applies to in a given - # billing period. - # - # @return [String] - required :amount_discount, String - - # @!attribute applies_to_price_ids - # @deprecated - # - # The price IDs that this adjustment applies to. - # - # @return [Array] - required :applies_to_price_ids, Orb::Internal::Type::ArrayOf[String] - - # @!attribute filters - # The filters that determine which prices to apply this adjustment to. - # - # @return [Array] - required :filters, - -> { Orb::Internal::Type::ArrayOf[Orb::Models::Plans::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter] } - - # @!attribute is_invoice_level - # True for adjustments that apply to an entire invocice, false for adjustments - # that apply to only one price. - # - # @return [Boolean] - required :is_invoice_level, Orb::Internal::Type::Boolean - - # @!attribute plan_phase_order - # The plan phase in which this adjustment is active. - # - # @return [Integer, nil] - required :plan_phase_order, Integer, nil?: true - - # @!attribute reason - # The reason for the adjustment. - # - # @return [String, nil] - required :reason, String, nil?: true - - # @!method initialize(id:, amount_discount:, applies_to_price_ids:, filters:, is_invoice_level:, plan_phase_order:, reason:, adjustment_type: :amount_discount) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionRetrieveResponse::Adjustment::AmountDiscount} for - # more details. - # - # @param id [String] - # - # @param amount_discount [String] The amount by which to discount the prices this adjustment applies to in a given - # - # @param applies_to_price_ids [Array] The price IDs that this adjustment applies to. - # - # @param filters [Array] The filters that determine which prices to apply this adjustment to. - # - # @param is_invoice_level [Boolean] True for adjustments that apply to an entire invocice, false for adjustments tha - # - # @param plan_phase_order [Integer, nil] The plan phase in which this adjustment is active. - # - # @param reason [String, nil] The reason for the adjustment. - # - # @param adjustment_type [Symbol, :amount_discount] - - class Filter < Orb::Internal::Type::BaseModel - # @!attribute field - # The property of the price to filter on. - # - # @return [Symbol, Orb::Models::Plans::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter::Field] - required :field, - enum: -> { Orb::Models::Plans::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter::Field } - - # @!attribute operator - # Should prices that match the filter be included or excluded. - # - # @return [Symbol, Orb::Models::Plans::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter::Operator] - required :operator, - enum: -> { Orb::Models::Plans::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter::Operator } - - # @!attribute values - # The IDs or values that match this filter. - # - # @return [Array] - required :values, Orb::Internal::Type::ArrayOf[String] - - # @!method initialize(field:, operator:, values:) - # @param field [Symbol, Orb::Models::Plans::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter::Field] The property of the price to filter on. - # - # @param operator [Symbol, Orb::Models::Plans::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter::Operator] Should prices that match the filter be included or excluded. - # - # @param values [Array] The IDs or values that match this filter. - - # The property of the price to filter on. - # - # @see Orb::Models::Plans::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter#field - module Field - extend Orb::Internal::Type::Enum - - PRICE_ID = :price_id - ITEM_ID = :item_id - PRICE_TYPE = :price_type - CURRENCY = :currency - PRICING_UNIT_ID = :pricing_unit_id - - # @!method self.values - # @return [Array] - end - - # Should prices that match the filter be included or excluded. - # - # @see Orb::Models::Plans::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter#operator - module Operator - extend Orb::Internal::Type::Enum - - INCLUDES = :includes - EXCLUDES = :excludes - - # @!method self.values - # @return [Array] - end - end - end - - class PercentageDiscount < Orb::Internal::Type::BaseModel - # @!attribute id - # - # @return [String] - required :id, String - - # @!attribute adjustment_type - # - # @return [Symbol, :percentage_discount] - required :adjustment_type, const: :percentage_discount - - # @!attribute applies_to_price_ids - # @deprecated - # - # The price IDs that this adjustment applies to. - # - # @return [Array] - required :applies_to_price_ids, Orb::Internal::Type::ArrayOf[String] - - # @!attribute filters - # The filters that determine which prices to apply this adjustment to. - # - # @return [Array] - required :filters, - -> { Orb::Internal::Type::ArrayOf[Orb::Models::Plans::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter] } - - # @!attribute is_invoice_level - # True for adjustments that apply to an entire invocice, false for adjustments - # that apply to only one price. - # - # @return [Boolean] - required :is_invoice_level, Orb::Internal::Type::Boolean - - # @!attribute percentage_discount - # The percentage (as a value between 0 and 1) by which to discount the price - # intervals this adjustment applies to in a given billing period. - # - # @return [Float] - required :percentage_discount, Float - - # @!attribute plan_phase_order - # The plan phase in which this adjustment is active. - # - # @return [Integer, nil] - required :plan_phase_order, Integer, nil?: true - - # @!attribute reason - # The reason for the adjustment. - # - # @return [String, nil] - required :reason, String, nil?: true - - # @!method initialize(id:, applies_to_price_ids:, filters:, is_invoice_level:, percentage_discount:, plan_phase_order:, reason:, adjustment_type: :percentage_discount) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionRetrieveResponse::Adjustment::PercentageDiscount} - # for more details. - # - # @param id [String] - # - # @param applies_to_price_ids [Array] The price IDs that this adjustment applies to. - # - # @param filters [Array] The filters that determine which prices to apply this adjustment to. - # - # @param is_invoice_level [Boolean] True for adjustments that apply to an entire invocice, false for adjustments tha - # - # @param percentage_discount [Float] The percentage (as a value between 0 and 1) by which to discount the price inter - # - # @param plan_phase_order [Integer, nil] The plan phase in which this adjustment is active. - # - # @param reason [String, nil] The reason for the adjustment. - # - # @param adjustment_type [Symbol, :percentage_discount] - - class Filter < Orb::Internal::Type::BaseModel - # @!attribute field - # The property of the price to filter on. - # - # @return [Symbol, Orb::Models::Plans::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter::Field] - required :field, - enum: -> { Orb::Models::Plans::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter::Field } - - # @!attribute operator - # Should prices that match the filter be included or excluded. - # - # @return [Symbol, Orb::Models::Plans::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter::Operator] - required :operator, - enum: -> { Orb::Models::Plans::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter::Operator } - - # @!attribute values - # The IDs or values that match this filter. - # - # @return [Array] - required :values, Orb::Internal::Type::ArrayOf[String] - - # @!method initialize(field:, operator:, values:) - # @param field [Symbol, Orb::Models::Plans::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter::Field] The property of the price to filter on. - # - # @param operator [Symbol, Orb::Models::Plans::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter::Operator] Should prices that match the filter be included or excluded. - # - # @param values [Array] The IDs or values that match this filter. - - # The property of the price to filter on. - # - # @see Orb::Models::Plans::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter#field - module Field - extend Orb::Internal::Type::Enum - - PRICE_ID = :price_id - ITEM_ID = :item_id - PRICE_TYPE = :price_type - CURRENCY = :currency - PRICING_UNIT_ID = :pricing_unit_id - - # @!method self.values - # @return [Array] - end - - # Should prices that match the filter be included or excluded. - # - # @see Orb::Models::Plans::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter#operator - module Operator - extend Orb::Internal::Type::Enum - - INCLUDES = :includes - EXCLUDES = :excludes - - # @!method self.values - # @return [Array] - end - end - end - - class Minimum < Orb::Internal::Type::BaseModel - # @!attribute id - # - # @return [String] - required :id, String - - # @!attribute adjustment_type - # - # @return [Symbol, :minimum] - required :adjustment_type, const: :minimum - - # @!attribute applies_to_price_ids - # @deprecated - # - # The price IDs that this adjustment applies to. - # - # @return [Array] - required :applies_to_price_ids, Orb::Internal::Type::ArrayOf[String] - - # @!attribute filters - # The filters that determine which prices to apply this adjustment to. - # - # @return [Array] - required :filters, - -> { Orb::Internal::Type::ArrayOf[Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Minimum::Filter] } - - # @!attribute is_invoice_level - # True for adjustments that apply to an entire invocice, false for adjustments - # that apply to only one price. - # - # @return [Boolean] - required :is_invoice_level, Orb::Internal::Type::Boolean - - # @!attribute item_id - # The item ID that revenue from this minimum will be attributed to. - # - # @return [String] - required :item_id, String - - # @!attribute minimum_amount - # The minimum amount to charge in a given billing period for the prices this - # adjustment applies to. - # - # @return [String] - required :minimum_amount, String - - # @!attribute plan_phase_order - # The plan phase in which this adjustment is active. - # - # @return [Integer, nil] - required :plan_phase_order, Integer, nil?: true - - # @!attribute reason - # The reason for the adjustment. - # - # @return [String, nil] - required :reason, String, nil?: true - - # @!method initialize(id:, applies_to_price_ids:, filters:, is_invoice_level:, item_id:, minimum_amount:, plan_phase_order:, reason:, adjustment_type: :minimum) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Minimum} for more - # details. - # - # @param id [String] - # - # @param applies_to_price_ids [Array] The price IDs that this adjustment applies to. - # - # @param filters [Array] The filters that determine which prices to apply this adjustment to. - # - # @param is_invoice_level [Boolean] True for adjustments that apply to an entire invocice, false for adjustments tha - # - # @param item_id [String] The item ID that revenue from this minimum will be attributed to. - # - # @param minimum_amount [String] The minimum amount to charge in a given billing period for the prices this adjus - # - # @param plan_phase_order [Integer, nil] The plan phase in which this adjustment is active. - # - # @param reason [String, nil] The reason for the adjustment. - # - # @param adjustment_type [Symbol, :minimum] - - class Filter < Orb::Internal::Type::BaseModel - # @!attribute field - # The property of the price to filter on. - # - # @return [Symbol, Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Minimum::Filter::Field] - required :field, - enum: -> { Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Minimum::Filter::Field } - - # @!attribute operator - # Should prices that match the filter be included or excluded. - # - # @return [Symbol, Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Minimum::Filter::Operator] - required :operator, - enum: -> { Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Minimum::Filter::Operator } - - # @!attribute values - # The IDs or values that match this filter. - # - # @return [Array] - required :values, Orb::Internal::Type::ArrayOf[String] - - # @!method initialize(field:, operator:, values:) - # @param field [Symbol, Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Minimum::Filter::Field] The property of the price to filter on. - # - # @param operator [Symbol, Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Minimum::Filter::Operator] Should prices that match the filter be included or excluded. - # - # @param values [Array] The IDs or values that match this filter. - - # The property of the price to filter on. - # - # @see Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Minimum::Filter#field - module Field - extend Orb::Internal::Type::Enum - - PRICE_ID = :price_id - ITEM_ID = :item_id - PRICE_TYPE = :price_type - CURRENCY = :currency - PRICING_UNIT_ID = :pricing_unit_id - - # @!method self.values - # @return [Array] - end - - # Should prices that match the filter be included or excluded. - # - # @see Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Minimum::Filter#operator - module Operator - extend Orb::Internal::Type::Enum - - INCLUDES = :includes - EXCLUDES = :excludes - - # @!method self.values - # @return [Array] - end - end - end - - class Maximum < Orb::Internal::Type::BaseModel - # @!attribute id - # - # @return [String] - required :id, String - - # @!attribute adjustment_type - # - # @return [Symbol, :maximum] - required :adjustment_type, const: :maximum - - # @!attribute applies_to_price_ids - # @deprecated - # - # The price IDs that this adjustment applies to. - # - # @return [Array] - required :applies_to_price_ids, Orb::Internal::Type::ArrayOf[String] - - # @!attribute filters - # The filters that determine which prices to apply this adjustment to. - # - # @return [Array] - required :filters, - -> { Orb::Internal::Type::ArrayOf[Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Maximum::Filter] } - - # @!attribute is_invoice_level - # True for adjustments that apply to an entire invocice, false for adjustments - # that apply to only one price. - # - # @return [Boolean] - required :is_invoice_level, Orb::Internal::Type::Boolean - - # @!attribute maximum_amount - # The maximum amount to charge in a given billing period for the prices this - # adjustment applies to. - # - # @return [String] - required :maximum_amount, String - - # @!attribute plan_phase_order - # The plan phase in which this adjustment is active. - # - # @return [Integer, nil] - required :plan_phase_order, Integer, nil?: true - - # @!attribute reason - # The reason for the adjustment. - # - # @return [String, nil] - required :reason, String, nil?: true - - # @!method initialize(id:, applies_to_price_ids:, filters:, is_invoice_level:, maximum_amount:, plan_phase_order:, reason:, adjustment_type: :maximum) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Maximum} for more - # details. - # - # @param id [String] - # - # @param applies_to_price_ids [Array] The price IDs that this adjustment applies to. - # - # @param filters [Array] The filters that determine which prices to apply this adjustment to. - # - # @param is_invoice_level [Boolean] True for adjustments that apply to an entire invocice, false for adjustments tha - # - # @param maximum_amount [String] The maximum amount to charge in a given billing period for the prices this adjus - # - # @param plan_phase_order [Integer, nil] The plan phase in which this adjustment is active. - # - # @param reason [String, nil] The reason for the adjustment. - # - # @param adjustment_type [Symbol, :maximum] - - class Filter < Orb::Internal::Type::BaseModel - # @!attribute field - # The property of the price to filter on. - # - # @return [Symbol, Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Maximum::Filter::Field] - required :field, - enum: -> { Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Maximum::Filter::Field } - - # @!attribute operator - # Should prices that match the filter be included or excluded. - # - # @return [Symbol, Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Maximum::Filter::Operator] - required :operator, - enum: -> { Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Maximum::Filter::Operator } - - # @!attribute values - # The IDs or values that match this filter. - # - # @return [Array] - required :values, Orb::Internal::Type::ArrayOf[String] - - # @!method initialize(field:, operator:, values:) - # @param field [Symbol, Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Maximum::Filter::Field] The property of the price to filter on. - # - # @param operator [Symbol, Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Maximum::Filter::Operator] Should prices that match the filter be included or excluded. - # - # @param values [Array] The IDs or values that match this filter. - - # The property of the price to filter on. - # - # @see Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Maximum::Filter#field - module Field - extend Orb::Internal::Type::Enum - - PRICE_ID = :price_id - ITEM_ID = :item_id - PRICE_TYPE = :price_type - CURRENCY = :currency - PRICING_UNIT_ID = :pricing_unit_id - - # @!method self.values - # @return [Array] - end - - # Should prices that match the filter be included or excluded. - # - # @see Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Maximum::Filter#operator - module Operator - extend Orb::Internal::Type::Enum - - INCLUDES = :includes - EXCLUDES = :excludes - - # @!method self.values - # @return [Array] - end - end - end - - # @!method self.variants - # @return [Array(Orb::Models::Plans::VersionRetrieveResponse::Adjustment::UsageDiscount, Orb::Models::Plans::VersionRetrieveResponse::Adjustment::AmountDiscount, Orb::Models::Plans::VersionRetrieveResponse::Adjustment::PercentageDiscount, Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Minimum, Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Maximum)] - end - - class PlanPhase < Orb::Internal::Type::BaseModel - # @!attribute id - # - # @return [String] - required :id, String - - # @!attribute description - # - # @return [String, nil] - required :description, String, nil?: true - - # @!attribute duration - # How many terms of length `duration_unit` this phase is active for. If null, this - # phase is evergreen and active indefinitely - # - # @return [Integer, nil] - required :duration, Integer, nil?: true - - # @!attribute duration_unit - # - # @return [Symbol, Orb::Models::Plans::VersionRetrieveResponse::PlanPhase::DurationUnit, nil] - required :duration_unit, - enum: -> { Orb::Models::Plans::VersionRetrieveResponse::PlanPhase::DurationUnit }, - nil?: true - - # @!attribute name - # - # @return [String] - required :name, String - - # @!attribute order - # Determines the ordering of the phase in a plan's lifecycle. 1 = first phase. - # - # @return [Integer] - required :order, Integer - - # @!method initialize(id:, description:, duration:, duration_unit:, name:, order:) - # Some parameter documentations has been truncated, see - # {Orb::Models::Plans::VersionRetrieveResponse::PlanPhase} for more details. - # - # @param id [String] - # - # @param description [String, nil] - # - # @param duration [Integer, nil] How many terms of length `duration_unit` this phase is active for. If null, this - # - # @param duration_unit [Symbol, Orb::Models::Plans::VersionRetrieveResponse::PlanPhase::DurationUnit, nil] - # - # @param name [String] - # - # @param order [Integer] Determines the ordering of the phase in a plan's lifecycle. 1 = first phase. - - # @see Orb::Models::Plans::VersionRetrieveResponse::PlanPhase#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAILY = :daily - MONTHLY = :monthly - QUARTERLY = :quarterly - SEMI_ANNUAL = :semi_annual - ANNUAL = :annual - - # @!method self.values - # @return [Array] - end - end - end - end - end -end diff --git a/lib/orb/models/price_evaluate_multiple_params.rb b/lib/orb/models/price_evaluate_multiple_params.rb new file mode 100644 index 00000000..0ab2e469 --- /dev/null +++ b/lib/orb/models/price_evaluate_multiple_params.rb @@ -0,0 +1,8620 @@ +# frozen_string_literal: true + +module Orb + module Models + # @see Orb::Resources::Prices#evaluate_multiple + class PriceEvaluateMultipleParams < Orb::Internal::Type::BaseModel + extend Orb::Internal::Type::RequestParameters::Converter + include Orb::Internal::Type::RequestParameters + + # @!attribute timeframe_end + # The exclusive upper bound for event timestamps + # + # @return [Time] + required :timeframe_end, Time + + # @!attribute timeframe_start + # The inclusive lower bound for event timestamps + # + # @return [Time] + required :timeframe_start, Time + + # @!attribute customer_id + # The ID of the customer to which this evaluation is scoped. + # + # @return [String, nil] + optional :customer_id, String, nil?: true + + # @!attribute events + # Optional list of preview events to use instead of actual usage data (max 500) + # + # @return [Array, nil] + optional :events, + -> { + Orb::Internal::Type::ArrayOf[Orb::PriceEvaluateMultipleParams::Event] + }, + nil?: true + + # @!attribute external_customer_id + # The external customer ID of the customer to which this evaluation is scoped. + # + # @return [String, nil] + optional :external_customer_id, String, nil?: true + + # @!attribute price_evaluations + # List of prices to evaluate (max 100) + # + # @return [Array, nil] + optional :price_evaluations, + -> { Orb::Internal::Type::ArrayOf[Orb::PriceEvaluateMultipleParams::PriceEvaluation] } + + # @!method initialize(timeframe_end:, timeframe_start:, customer_id: nil, events: nil, external_customer_id: nil, price_evaluations: nil, request_options: {}) + # @param timeframe_end [Time] The exclusive upper bound for event timestamps + # + # @param timeframe_start [Time] The inclusive lower bound for event timestamps + # + # @param customer_id [String, nil] The ID of the customer to which this evaluation is scoped. + # + # @param events [Array, nil] Optional list of preview events to use instead of actual usage data (max 500) + # + # @param external_customer_id [String, nil] The external customer ID of the customer to which this evaluation is scoped. + # + # @param price_evaluations [Array] List of prices to evaluate (max 100) + # + # @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}] + + class Event < Orb::Internal::Type::BaseModel + # @!attribute event_name + # A name to meaningfully identify the action or event type. + # + # @return [String] + required :event_name, String + + # @!attribute properties + # A dictionary of custom properties. Values in this dictionary must be numeric, + # boolean, or strings. Nested dictionaries are disallowed. + # + # @return [Object] + required :properties, Orb::Internal::Type::Unknown + + # @!attribute timestamp + # An ISO 8601 format date with no timezone offset (i.e. UTC). This should + # represent the time that usage was recorded, and is particularly important to + # attribute usage to a given billing period. + # + # @return [Time] + required :timestamp, Time + + # @!attribute customer_id + # The Orb Customer identifier + # + # @return [String, nil] + optional :customer_id, String, nil?: true + + # @!attribute external_customer_id + # An alias for the Orb customer, whose mapping is specified when creating the + # customer + # + # @return [String, nil] + optional :external_customer_id, String, nil?: true + + # @!method initialize(event_name:, properties:, timestamp:, customer_id: nil, external_customer_id: nil) + # Some parameter documentations has been truncated, see + # {Orb::Models::PriceEvaluateMultipleParams::Event} for more details. + # + # @param event_name [String] A name to meaningfully identify the action or event type. + # + # @param properties [Object] A dictionary of custom properties. Values in this dictionary must be numeric, bo + # + # @param timestamp [Time] An ISO 8601 format date with no timezone offset (i.e. UTC). This should represen + # + # @param customer_id [String, nil] The Orb Customer identifier + # + # @param external_customer_id [String, nil] An alias for the Orb customer, whose mapping is specified when creating the cust + end + + class PriceEvaluation < Orb::Internal::Type::BaseModel + # @!attribute filter + # A boolean + # [computed property](/extensibility/advanced-metrics#computed-properties) used to + # filter the underlying billable metric + # + # @return [String, nil] + optional :filter, String, nil?: true + + # @!attribute grouping_keys + # Properties (or + # [computed properties](/extensibility/advanced-metrics#computed-properties)) used + # to group the underlying billable metric + # + # @return [Array, nil] + optional :grouping_keys, Orb::Internal::Type::ArrayOf[String] + + # @!attribute price + # An inline price definition to evaluate, allowing you to test price + # configurations before adding them to Orb. + # + # @return [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk, nil] + optional :price, union: -> { Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price }, nil?: true + + # @!attribute price_id + # The ID of a price to evaluate that exists in your Orb account. + # + # @return [String, nil] + optional :price_id, String, nil?: true + + # @!method initialize(filter: nil, grouping_keys: nil, price: nil, price_id: nil) + # Some parameter documentations has been truncated, see + # {Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation} for more details. + # + # @param filter [String, nil] A boolean [computed property](/extensibility/advanced-metrics#computed-propertie + # + # @param grouping_keys [Array] Properties (or [computed properties](/extensibility/advanced-metrics#computed-pr + # + # @param price [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk, nil] An inline price definition to evaluate, allowing you to test price configuration + # + # @param price_id [String, nil] The ID of a price to evaluate that exists in your Orb account. + + # An inline price definition to evaluate, allowing you to test price + # configurations before adding them to Orb. + # + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation#price + module Price + extend Orb::Internal::Type::Union + + discriminator :model_type + + variant :unit, -> { Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit } + + variant :package, -> { Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package } + + variant :matrix, -> { Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix } + + variant :matrix_with_allocation, + -> { Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation } + + variant :tiered, -> { Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered } + + variant :tiered_bps, -> { Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps } + + variant :bps, -> { Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps } + + variant :bulk_bps, -> { Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps } + + variant :bulk, -> { Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk } + + variant :threshold_total_amount, + -> { Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount } + + variant :tiered_package, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage + } + + variant :grouped_tiered, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered + } + + variant :max_group_tiered_package, + -> { Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage } + + variant :tiered_with_minimum, + -> { Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum } + + variant :package_with_allocation, + -> { Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation } + + variant :tiered_package_with_minimum, + -> { Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum } + + variant :unit_with_percent, + -> { Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent } + + variant :tiered_with_proration, + -> { Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration } + + variant :unit_with_proration, + -> { Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration } + + variant :grouped_allocation, + -> { Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation } + + variant :grouped_with_prorated_minimum, + -> { Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum } + + variant :grouped_with_metered_minimum, + -> { Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum } + + variant :matrix_with_display_name, + -> { Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName } + + variant :bulk_with_proration, + -> { Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration } + + variant :grouped_tiered_package, + -> { Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage } + + variant :scalable_matrix_with_unit_pricing, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing + } + + variant :scalable_matrix_with_tiered_pricing, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing + } + + variant :cumulative_grouped_bulk, + -> { Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk } + + class Unit < Orb::Internal::Type::BaseModel + # @!attribute cadence + # The cadence to bill for this price on. + # + # @return [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::Cadence] + required :cadence, + enum: -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::Cadence + } + + # @!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 price will be associated with. + # + # @return [String] + required :item_id, String + + # @!attribute model_type + # + # @return [Symbol, :unit] + required :model_type, const: :unit + + # @!attribute name + # The name of the price. + # + # @return [String] + required :name, String + + # @!attribute unit_config + # + # @return [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::UnitConfig] + required :unit_config, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::UnitConfig + } + + # @!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::Internal::Type::Boolean, nil?: true + + # @!attribute billing_cycle_configuration + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @return [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::BillingCycleConfiguration, nil] + optional :billing_cycle_configuration, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::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 dimensional_price_configuration + # For dimensional price: specifies a price group and dimension values + # + # @return [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::DimensionalPriceConfiguration, nil] + optional :dimensional_price_configuration, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::DimensionalPriceConfiguration + }, + 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::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::InvoicingCycleConfiguration, nil] + optional :invoicing_cycle_configuration, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::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::Internal::Type::HashOf[String, nil?: true], nil?: true + + # @!method initialize(cadence:, currency:, item_id:, name:, unit_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :unit) + # Some parameter documentations has been truncated, see + # {Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit} for + # more details. + # + # @param cadence [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::Cadence] The cadence to bill for this price on. + # + # @param currency [String] An ISO 4217 currency string for which this price is billed in. + # + # @param item_id [String] The id of the item the price will be associated with. + # + # @param name [String] The name of the price. + # + # @param unit_config [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::UnitConfig] + # + # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b + # + # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi + # + # @param billing_cycle_configuration [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # + # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. + # + # @param dimensional_price_configuration [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # + # @param external_price_id [String, nil] An alias for the price. + # + # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl + # + # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice + # + # @param invoicing_cycle_configuration [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # + # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed + # + # @param model_type [Symbol, :unit] + + # The cadence to bill for this price on. + # + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit#cadence + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + # @!method self.values + # @return [Array] + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit#unit_config + class UnitConfig < Orb::Internal::Type::BaseModel + # @!attribute unit_amount + # Rate per unit of usage + # + # @return [String] + required :unit_amount, String + + # @!method initialize(unit_amount:) + # @param unit_amount [String] Rate per unit of usage + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit#billing_cycle_configuration + class BillingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::BillingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @param duration [Integer] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::BillingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit#dimensional_price_configuration + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # The list of dimension values matching (in order) the dimensions of the price + # group + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String] + + # @!attribute dimensional_price_group_id + # The id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :dimensional_price_group_id, String, nil?: true + + # @!attribute external_dimensional_price_group_id + # The external id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :external_dimensional_price_group_id, String, nil?: true + + # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) + # Some parameter documentations has been truncated, see + # {Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::DimensionalPriceConfiguration} + # for more details. + # + # For dimensional price: specifies a price group and dimension values + # + # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro + # + # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in + # + # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit#invoicing_cycle_configuration + class InvoicingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::InvoicingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # 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] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::InvoicingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + end + + class Package < Orb::Internal::Type::BaseModel + # @!attribute cadence + # The cadence to bill for this price on. + # + # @return [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::Cadence] + required :cadence, + enum: -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::Cadence + } + + # @!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 price will be associated with. + # + # @return [String] + required :item_id, String + + # @!attribute model_type + # + # @return [Symbol, :package] + required :model_type, const: :package + + # @!attribute name + # The name of the price. + # + # @return [String] + required :name, String + + # @!attribute package_config + # + # @return [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::PackageConfig] + required :package_config, + -> { Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::PackageConfig } + + # @!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::Internal::Type::Boolean, nil?: true + + # @!attribute billing_cycle_configuration + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @return [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::BillingCycleConfiguration, nil] + optional :billing_cycle_configuration, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::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 dimensional_price_configuration + # For dimensional price: specifies a price group and dimension values + # + # @return [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::DimensionalPriceConfiguration, nil] + optional :dimensional_price_configuration, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::DimensionalPriceConfiguration + }, + 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::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::InvoicingCycleConfiguration, nil] + optional :invoicing_cycle_configuration, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::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::Internal::Type::HashOf[String, nil?: true], nil?: true + + # @!method initialize(cadence:, currency:, item_id:, name:, package_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :package) + # Some parameter documentations has been truncated, see + # {Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package} for + # more details. + # + # @param cadence [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::Cadence] The cadence to bill for this price on. + # + # @param currency [String] An ISO 4217 currency string for which this price is billed in. + # + # @param item_id [String] The id of the item the price will be associated with. + # + # @param name [String] The name of the price. + # + # @param package_config [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::PackageConfig] + # + # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b + # + # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi + # + # @param billing_cycle_configuration [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # + # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. + # + # @param dimensional_price_configuration [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # + # @param external_price_id [String, nil] An alias for the price. + # + # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl + # + # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice + # + # @param invoicing_cycle_configuration [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # + # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed + # + # @param model_type [Symbol, :package] + + # The cadence to bill for this price on. + # + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package#cadence + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + # @!method self.values + # @return [Array] + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package#package_config + class PackageConfig < Orb::Internal::Type::BaseModel + # @!attribute package_amount + # A currency amount to rate usage by + # + # @return [String] + required :package_amount, String + + # @!attribute package_size + # An integer amount to represent package size. For example, 1000 here would divide + # usage by 1000 before multiplying by package_amount in rating + # + # @return [Integer] + required :package_size, Integer + + # @!method initialize(package_amount:, package_size:) + # Some parameter documentations has been truncated, see + # {Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::PackageConfig} + # for more details. + # + # @param package_amount [String] A currency amount to rate usage by + # + # @param package_size [Integer] An integer amount to represent package size. For example, 1000 here would divide + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package#billing_cycle_configuration + class BillingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::BillingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @param duration [Integer] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::BillingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package#dimensional_price_configuration + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # The list of dimension values matching (in order) the dimensions of the price + # group + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String] + + # @!attribute dimensional_price_group_id + # The id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :dimensional_price_group_id, String, nil?: true + + # @!attribute external_dimensional_price_group_id + # The external id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :external_dimensional_price_group_id, String, nil?: true + + # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) + # Some parameter documentations has been truncated, see + # {Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::DimensionalPriceConfiguration} + # for more details. + # + # For dimensional price: specifies a price group and dimension values + # + # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro + # + # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in + # + # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package#invoicing_cycle_configuration + class InvoicingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::InvoicingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # 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] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::InvoicingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + end + + class Matrix < Orb::Internal::Type::BaseModel + # @!attribute cadence + # The cadence to bill for this price on. + # + # @return [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::Cadence] + required :cadence, + enum: -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::Cadence + } + + # @!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 price will be associated with. + # + # @return [String] + required :item_id, String + + # @!attribute matrix_config + # + # @return [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::MatrixConfig] + required :matrix_config, + -> { Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::MatrixConfig } + + # @!attribute model_type + # + # @return [Symbol, :matrix] + required :model_type, const: :matrix + + # @!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::Internal::Type::Boolean, nil?: true + + # @!attribute billing_cycle_configuration + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @return [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::BillingCycleConfiguration, nil] + optional :billing_cycle_configuration, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::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 dimensional_price_configuration + # For dimensional price: specifies a price group and dimension values + # + # @return [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::DimensionalPriceConfiguration, nil] + optional :dimensional_price_configuration, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::DimensionalPriceConfiguration + }, + 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::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::InvoicingCycleConfiguration, nil] + optional :invoicing_cycle_configuration, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::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::Internal::Type::HashOf[String, nil?: true], nil?: true + + # @!method initialize(cadence:, currency:, item_id:, matrix_config:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :matrix) + # Some parameter documentations has been truncated, see + # {Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix} for + # more details. + # + # @param cadence [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::Cadence] The cadence to bill for this price on. + # + # @param currency [String] An ISO 4217 currency string for which this price is billed in. + # + # @param item_id [String] The id of the item the price will be associated with. + # + # @param matrix_config [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::MatrixConfig] + # + # @param name [String] The name of the price. + # + # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b + # + # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi + # + # @param billing_cycle_configuration [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # + # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. + # + # @param dimensional_price_configuration [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # + # @param external_price_id [String, nil] An alias for the price. + # + # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl + # + # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice + # + # @param invoicing_cycle_configuration [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # + # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed + # + # @param model_type [Symbol, :matrix] + + # The cadence to bill for this price on. + # + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix#cadence + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + # @!method self.values + # @return [Array] + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix#matrix_config + class MatrixConfig < Orb::Internal::Type::BaseModel + # @!attribute default_unit_amount + # Default per unit rate for any usage not bucketed into a specified matrix_value + # + # @return [String] + required :default_unit_amount, String + + # @!attribute dimensions + # One or two event property values to evaluate matrix groups by + # + # @return [Array] + required :dimensions, Orb::Internal::Type::ArrayOf[String, nil?: true] + + # @!attribute matrix_values + # Matrix values for specified matrix grouping keys + # + # @return [Array] + required :matrix_values, + -> { + Orb::Internal::Type::ArrayOf[Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::MatrixConfig::MatrixValue] + } + + # @!method initialize(default_unit_amount:, dimensions:, matrix_values:) + # @param default_unit_amount [String] Default per unit rate for any usage not bucketed into a specified matrix_value + # + # @param dimensions [Array] One or two event property values to evaluate matrix groups by + # + # @param matrix_values [Array] Matrix values for specified matrix grouping keys + + class MatrixValue < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # One or two matrix keys to filter usage to this Matrix value by. For example, + # ["region", "tier"] could be used to filter cloud usage by a cloud region and an + # instance tier. + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String, nil?: true] + + # @!attribute unit_amount + # Unit price for the specified dimension_values + # + # @return [String] + required :unit_amount, String + + # @!method initialize(dimension_values:, unit_amount:) + # Some parameter documentations has been truncated, see + # {Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::MatrixConfig::MatrixValue} + # for more details. + # + # @param dimension_values [Array] One or two matrix keys to filter usage to this Matrix value by. For example, ["r + # + # @param unit_amount [String] Unit price for the specified dimension_values + end + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix#billing_cycle_configuration + class BillingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::BillingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @param duration [Integer] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::BillingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix#dimensional_price_configuration + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # The list of dimension values matching (in order) the dimensions of the price + # group + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String] + + # @!attribute dimensional_price_group_id + # The id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :dimensional_price_group_id, String, nil?: true + + # @!attribute external_dimensional_price_group_id + # The external id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :external_dimensional_price_group_id, String, nil?: true + + # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) + # Some parameter documentations has been truncated, see + # {Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::DimensionalPriceConfiguration} + # for more details. + # + # For dimensional price: specifies a price group and dimension values + # + # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro + # + # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in + # + # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix#invoicing_cycle_configuration + class InvoicingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::InvoicingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # 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] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::InvoicingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + end + + class MatrixWithAllocation < Orb::Internal::Type::BaseModel + # @!attribute cadence + # The cadence to bill for this price on. + # + # @return [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::Cadence] + required :cadence, + enum: -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::Cadence + } + + # @!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 price will be associated with. + # + # @return [String] + required :item_id, String + + # @!attribute matrix_with_allocation_config + # + # @return [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::MatrixWithAllocationConfig] + required :matrix_with_allocation_config, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::MatrixWithAllocationConfig + } + + # @!attribute model_type + # + # @return [Symbol, :matrix_with_allocation] + required :model_type, const: :matrix_with_allocation + + # @!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::Internal::Type::Boolean, nil?: true + + # @!attribute billing_cycle_configuration + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @return [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::BillingCycleConfiguration, nil] + optional :billing_cycle_configuration, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::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 dimensional_price_configuration + # For dimensional price: specifies a price group and dimension values + # + # @return [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::DimensionalPriceConfiguration, nil] + optional :dimensional_price_configuration, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::DimensionalPriceConfiguration + }, + 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::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::InvoicingCycleConfiguration, nil] + optional :invoicing_cycle_configuration, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::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::Internal::Type::HashOf[String, nil?: true], nil?: true + + # @!method initialize(cadence:, currency:, item_id:, matrix_with_allocation_config:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :matrix_with_allocation) + # Some parameter documentations has been truncated, see + # {Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation} + # for more details. + # + # @param cadence [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::Cadence] The cadence to bill for this price on. + # + # @param currency [String] An ISO 4217 currency string for which this price is billed in. + # + # @param item_id [String] The id of the item the price will be associated with. + # + # @param matrix_with_allocation_config [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::MatrixWithAllocationConfig] + # + # @param name [String] The name of the price. + # + # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b + # + # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi + # + # @param billing_cycle_configuration [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # + # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. + # + # @param dimensional_price_configuration [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # + # @param external_price_id [String, nil] An alias for the price. + # + # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl + # + # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice + # + # @param invoicing_cycle_configuration [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # + # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed + # + # @param model_type [Symbol, :matrix_with_allocation] + + # The cadence to bill for this price on. + # + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation#cadence + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + # @!method self.values + # @return [Array] + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation#matrix_with_allocation_config + class MatrixWithAllocationConfig < Orb::Internal::Type::BaseModel + # @!attribute allocation + # Allocation to be used to calculate the price + # + # @return [Float] + required :allocation, Float + + # @!attribute default_unit_amount + # Default per unit rate for any usage not bucketed into a specified matrix_value + # + # @return [String] + required :default_unit_amount, String + + # @!attribute dimensions + # One or two event property values to evaluate matrix groups by + # + # @return [Array] + required :dimensions, Orb::Internal::Type::ArrayOf[String, nil?: true] + + # @!attribute matrix_values + # Matrix values for specified matrix grouping keys + # + # @return [Array] + required :matrix_values, + -> do + Orb::Internal::Type::ArrayOf[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue + ] + end + + # @!method initialize(allocation:, default_unit_amount:, dimensions:, matrix_values:) + # @param allocation [Float] Allocation to be used to calculate the price + # + # @param default_unit_amount [String] Default per unit rate for any usage not bucketed into a specified matrix_value + # + # @param dimensions [Array] One or two event property values to evaluate matrix groups by + # + # @param matrix_values [Array] Matrix values for specified matrix grouping keys + + class MatrixValue < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # One or two matrix keys to filter usage to this Matrix value by. For example, + # ["region", "tier"] could be used to filter cloud usage by a cloud region and an + # instance tier. + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String, nil?: true] + + # @!attribute unit_amount + # Unit price for the specified dimension_values + # + # @return [String] + required :unit_amount, String + + # @!method initialize(dimension_values:, unit_amount:) + # Some parameter documentations has been truncated, see + # {Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue} + # for more details. + # + # @param dimension_values [Array] One or two matrix keys to filter usage to this Matrix value by. For example, ["r + # + # @param unit_amount [String] Unit price for the specified dimension_values + end + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation#billing_cycle_configuration + class BillingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @param duration [Integer] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::BillingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation#dimensional_price_configuration + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # The list of dimension values matching (in order) the dimensions of the price + # group + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String] + + # @!attribute dimensional_price_group_id + # The id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :dimensional_price_group_id, String, nil?: true + + # @!attribute external_dimensional_price_group_id + # The external id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :external_dimensional_price_group_id, String, nil?: true + + # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) + # Some parameter documentations has been truncated, see + # {Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::DimensionalPriceConfiguration} + # for more details. + # + # For dimensional price: specifies a price group and dimension values + # + # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro + # + # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in + # + # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation#invoicing_cycle_configuration + class InvoicingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # 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] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::InvoicingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + end + + class Tiered < Orb::Internal::Type::BaseModel + # @!attribute cadence + # The cadence to bill for this price on. + # + # @return [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::Cadence] + required :cadence, + enum: -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::Cadence + } + + # @!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 price will be associated with. + # + # @return [String] + required :item_id, String + + # @!attribute model_type + # + # @return [Symbol, :tiered] + required :model_type, const: :tiered + + # @!attribute name + # The name of the price. + # + # @return [String] + required :name, String + + # @!attribute tiered_config + # + # @return [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::TieredConfig] + required :tiered_config, + -> { Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::TieredConfig } + + # @!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::Internal::Type::Boolean, nil?: true + + # @!attribute billing_cycle_configuration + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @return [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::BillingCycleConfiguration, nil] + optional :billing_cycle_configuration, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::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 dimensional_price_configuration + # For dimensional price: specifies a price group and dimension values + # + # @return [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::DimensionalPriceConfiguration, nil] + optional :dimensional_price_configuration, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::DimensionalPriceConfiguration + }, + 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::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::InvoicingCycleConfiguration, nil] + optional :invoicing_cycle_configuration, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::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::Internal::Type::HashOf[String, nil?: true], nil?: true + + # @!method initialize(cadence:, currency:, item_id:, name:, tiered_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :tiered) + # Some parameter documentations has been truncated, see + # {Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered} for + # more details. + # + # @param cadence [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::Cadence] The cadence to bill for this price on. + # + # @param currency [String] An ISO 4217 currency string for which this price is billed in. + # + # @param item_id [String] The id of the item the price will be associated with. + # + # @param name [String] The name of the price. + # + # @param tiered_config [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::TieredConfig] + # + # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b + # + # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi + # + # @param billing_cycle_configuration [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # + # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. + # + # @param dimensional_price_configuration [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # + # @param external_price_id [String, nil] An alias for the price. + # + # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl + # + # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice + # + # @param invoicing_cycle_configuration [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # + # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed + # + # @param model_type [Symbol, :tiered] + + # The cadence to bill for this price on. + # + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered#cadence + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + # @!method self.values + # @return [Array] + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered#tiered_config + class TieredConfig < Orb::Internal::Type::BaseModel + # @!attribute tiers + # Tiers for rating based on total usage quantities into the specified tier + # + # @return [Array] + required :tiers, + -> { + Orb::Internal::Type::ArrayOf[Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::TieredConfig::Tier] + } + + # @!method initialize(tiers:) + # @param tiers [Array] Tiers for rating based on total usage quantities into the specified tier + + class Tier < Orb::Internal::Type::BaseModel + # @!attribute first_unit + # Exclusive tier starting value + # + # @return [Float] + required :first_unit, Float + + # @!attribute unit_amount + # Amount per unit + # + # @return [String] + required :unit_amount, String + + # @!attribute last_unit + # Inclusive tier ending value. If null, this is treated as the last tier + # + # @return [Float, nil] + optional :last_unit, Float, nil?: true + + # @!method initialize(first_unit:, unit_amount:, last_unit: nil) + # @param first_unit [Float] Exclusive tier starting value + # + # @param unit_amount [String] Amount per unit + # + # @param last_unit [Float, nil] Inclusive tier ending value. If null, this is treated as the last tier + end + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered#billing_cycle_configuration + class BillingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::BillingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @param duration [Integer] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::BillingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered#dimensional_price_configuration + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # The list of dimension values matching (in order) the dimensions of the price + # group + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String] + + # @!attribute dimensional_price_group_id + # The id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :dimensional_price_group_id, String, nil?: true + + # @!attribute external_dimensional_price_group_id + # The external id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :external_dimensional_price_group_id, String, nil?: true + + # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) + # Some parameter documentations has been truncated, see + # {Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::DimensionalPriceConfiguration} + # for more details. + # + # For dimensional price: specifies a price group and dimension values + # + # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro + # + # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in + # + # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered#invoicing_cycle_configuration + class InvoicingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::InvoicingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # 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] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::InvoicingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + end + + class TieredBps < Orb::Internal::Type::BaseModel + # @!attribute cadence + # The cadence to bill for this price on. + # + # @return [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::Cadence] + required :cadence, + enum: -> { Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::Cadence } + + # @!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 price will be associated with. + # + # @return [String] + required :item_id, String + + # @!attribute model_type + # + # @return [Symbol, :tiered_bps] + required :model_type, const: :tiered_bps + + # @!attribute name + # The name of the price. + # + # @return [String] + required :name, String + + # @!attribute tiered_bps_config + # + # @return [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::TieredBpsConfig] + required :tiered_bps_config, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::TieredBpsConfig + } + + # @!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::Internal::Type::Boolean, nil?: true + + # @!attribute billing_cycle_configuration + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @return [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::BillingCycleConfiguration, nil] + optional :billing_cycle_configuration, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::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 dimensional_price_configuration + # For dimensional price: specifies a price group and dimension values + # + # @return [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::DimensionalPriceConfiguration, nil] + optional :dimensional_price_configuration, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::DimensionalPriceConfiguration + }, + 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::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::InvoicingCycleConfiguration, nil] + optional :invoicing_cycle_configuration, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::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::Internal::Type::HashOf[String, nil?: true], nil?: true + + # @!method initialize(cadence:, currency:, item_id:, name:, tiered_bps_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :tiered_bps) + # Some parameter documentations has been truncated, see + # {Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps} + # for more details. + # + # @param cadence [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::Cadence] The cadence to bill for this price on. + # + # @param currency [String] An ISO 4217 currency string for which this price is billed in. + # + # @param item_id [String] The id of the item the price will be associated with. + # + # @param name [String] The name of the price. + # + # @param tiered_bps_config [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::TieredBpsConfig] + # + # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b + # + # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi + # + # @param billing_cycle_configuration [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # + # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. + # + # @param dimensional_price_configuration [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # + # @param external_price_id [String, nil] An alias for the price. + # + # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl + # + # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice + # + # @param invoicing_cycle_configuration [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # + # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed + # + # @param model_type [Symbol, :tiered_bps] + + # The cadence to bill for this price on. + # + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps#cadence + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + # @!method self.values + # @return [Array] + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps#tiered_bps_config + class TieredBpsConfig < Orb::Internal::Type::BaseModel + # @!attribute tiers + # Tiers for a Graduated BPS pricing model, where usage is bucketed into specified + # tiers + # + # @return [Array] + required :tiers, + -> { + Orb::Internal::Type::ArrayOf[Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::TieredBpsConfig::Tier] + } + + # @!method initialize(tiers:) + # Some parameter documentations has been truncated, see + # {Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::TieredBpsConfig} + # for more details. + # + # @param tiers [Array] Tiers for a Graduated BPS pricing model, where usage is bucketed into specified + + class Tier < Orb::Internal::Type::BaseModel + # @!attribute bps + # Per-event basis point rate + # + # @return [Float] + required :bps, Float + + # @!attribute minimum_amount + # Exclusive tier starting value + # + # @return [String] + required :minimum_amount, String + + # @!attribute maximum_amount + # Inclusive tier ending value + # + # @return [String, nil] + optional :maximum_amount, String, nil?: true + + # @!attribute per_unit_maximum + # Per unit maximum to charge + # + # @return [String, nil] + optional :per_unit_maximum, String, nil?: true + + # @!method initialize(bps:, minimum_amount:, maximum_amount: nil, per_unit_maximum: nil) + # @param bps [Float] Per-event basis point rate + # + # @param minimum_amount [String] Exclusive tier starting value + # + # @param maximum_amount [String, nil] Inclusive tier ending value + # + # @param per_unit_maximum [String, nil] Per unit maximum to charge + end + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps#billing_cycle_configuration + class BillingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::BillingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @param duration [Integer] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::BillingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps#dimensional_price_configuration + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # The list of dimension values matching (in order) the dimensions of the price + # group + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String] + + # @!attribute dimensional_price_group_id + # The id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :dimensional_price_group_id, String, nil?: true + + # @!attribute external_dimensional_price_group_id + # The external id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :external_dimensional_price_group_id, String, nil?: true + + # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) + # Some parameter documentations has been truncated, see + # {Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::DimensionalPriceConfiguration} + # for more details. + # + # For dimensional price: specifies a price group and dimension values + # + # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro + # + # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in + # + # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps#invoicing_cycle_configuration + class InvoicingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # 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] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::InvoicingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + end + + class Bps < Orb::Internal::Type::BaseModel + # @!attribute bps_config + # + # @return [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::BpsConfig] + required :bps_config, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::BpsConfig + } + + # @!attribute cadence + # The cadence to bill for this price on. + # + # @return [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::Cadence] + required :cadence, + enum: -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::Cadence + } + + # @!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 price will be associated with. + # + # @return [String] + required :item_id, String + + # @!attribute model_type + # + # @return [Symbol, :bps] + required :model_type, const: :bps + + # @!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::Internal::Type::Boolean, nil?: true + + # @!attribute billing_cycle_configuration + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @return [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::BillingCycleConfiguration, nil] + optional :billing_cycle_configuration, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::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 dimensional_price_configuration + # For dimensional price: specifies a price group and dimension values + # + # @return [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::DimensionalPriceConfiguration, nil] + optional :dimensional_price_configuration, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::DimensionalPriceConfiguration + }, + 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::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::InvoicingCycleConfiguration, nil] + optional :invoicing_cycle_configuration, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::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::Internal::Type::HashOf[String, nil?: true], nil?: true + + # @!method initialize(bps_config:, cadence:, currency:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :bps) + # Some parameter documentations has been truncated, see + # {Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps} for more + # details. + # + # @param bps_config [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::BpsConfig] + # + # @param cadence [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::Cadence] The cadence to bill for this price on. + # + # @param currency [String] An ISO 4217 currency string for which this price is billed in. + # + # @param item_id [String] The id of the item the price will be associated with. + # + # @param name [String] The name of the price. + # + # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b + # + # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi + # + # @param billing_cycle_configuration [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # + # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. + # + # @param dimensional_price_configuration [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # + # @param external_price_id [String, nil] An alias for the price. + # + # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl + # + # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice + # + # @param invoicing_cycle_configuration [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # + # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed + # + # @param model_type [Symbol, :bps] + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps#bps_config + class BpsConfig < Orb::Internal::Type::BaseModel + # @!attribute bps + # Basis point take rate per event + # + # @return [Float] + required :bps, Float + + # @!attribute per_unit_maximum + # Optional currency amount maximum to cap spend per event + # + # @return [String, nil] + optional :per_unit_maximum, String, nil?: true + + # @!method initialize(bps:, per_unit_maximum: nil) + # @param bps [Float] Basis point take rate per event + # + # @param per_unit_maximum [String, nil] Optional currency amount maximum to cap spend per event + end + + # The cadence to bill for this price on. + # + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps#cadence + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + # @!method self.values + # @return [Array] + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps#billing_cycle_configuration + class BillingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::BillingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @param duration [Integer] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::BillingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps#dimensional_price_configuration + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # The list of dimension values matching (in order) the dimensions of the price + # group + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String] + + # @!attribute dimensional_price_group_id + # The id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :dimensional_price_group_id, String, nil?: true + + # @!attribute external_dimensional_price_group_id + # The external id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :external_dimensional_price_group_id, String, nil?: true + + # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) + # Some parameter documentations has been truncated, see + # {Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::DimensionalPriceConfiguration} + # for more details. + # + # For dimensional price: specifies a price group and dimension values + # + # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro + # + # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in + # + # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps#invoicing_cycle_configuration + class InvoicingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::InvoicingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # 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] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::InvoicingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + end + + class BulkBps < Orb::Internal::Type::BaseModel + # @!attribute bulk_bps_config + # + # @return [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::BulkBpsConfig] + required :bulk_bps_config, + -> { Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::BulkBpsConfig } + + # @!attribute cadence + # The cadence to bill for this price on. + # + # @return [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::Cadence] + required :cadence, + enum: -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::Cadence + } + + # @!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 price will be associated with. + # + # @return [String] + required :item_id, String + + # @!attribute model_type + # + # @return [Symbol, :bulk_bps] + required :model_type, const: :bulk_bps + + # @!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::Internal::Type::Boolean, nil?: true + + # @!attribute billing_cycle_configuration + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @return [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::BillingCycleConfiguration, nil] + optional :billing_cycle_configuration, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::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 dimensional_price_configuration + # For dimensional price: specifies a price group and dimension values + # + # @return [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::DimensionalPriceConfiguration, nil] + optional :dimensional_price_configuration, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::DimensionalPriceConfiguration + }, + 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::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::InvoicingCycleConfiguration, nil] + optional :invoicing_cycle_configuration, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::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::Internal::Type::HashOf[String, nil?: true], nil?: true + + # @!method initialize(bulk_bps_config:, cadence:, currency:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :bulk_bps) + # Some parameter documentations has been truncated, see + # {Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps} for + # more details. + # + # @param bulk_bps_config [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::BulkBpsConfig] + # + # @param cadence [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::Cadence] The cadence to bill for this price on. + # + # @param currency [String] An ISO 4217 currency string for which this price is billed in. + # + # @param item_id [String] The id of the item the price will be associated with. + # + # @param name [String] The name of the price. + # + # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b + # + # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi + # + # @param billing_cycle_configuration [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # + # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. + # + # @param dimensional_price_configuration [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # + # @param external_price_id [String, nil] An alias for the price. + # + # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl + # + # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice + # + # @param invoicing_cycle_configuration [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # + # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed + # + # @param model_type [Symbol, :bulk_bps] + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps#bulk_bps_config + class BulkBpsConfig < Orb::Internal::Type::BaseModel + # @!attribute tiers + # Tiers for a bulk BPS pricing model where all usage is aggregated to a single + # tier based on total volume + # + # @return [Array] + required :tiers, + -> { + Orb::Internal::Type::ArrayOf[Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::BulkBpsConfig::Tier] + } + + # @!method initialize(tiers:) + # Some parameter documentations has been truncated, see + # {Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::BulkBpsConfig} + # for more details. + # + # @param tiers [Array] Tiers for a bulk BPS pricing model where all usage is aggregated to a single tie + + class Tier < Orb::Internal::Type::BaseModel + # @!attribute bps + # Basis points to rate on + # + # @return [Float] + required :bps, Float + + # @!attribute maximum_amount + # Upper bound for tier + # + # @return [String, nil] + optional :maximum_amount, String, nil?: true + + # @!attribute per_unit_maximum + # The maximum amount to charge for any one event + # + # @return [String, nil] + optional :per_unit_maximum, String, nil?: true + + # @!method initialize(bps:, maximum_amount: nil, per_unit_maximum: nil) + # @param bps [Float] Basis points to rate on + # + # @param maximum_amount [String, nil] Upper bound for tier + # + # @param per_unit_maximum [String, nil] The maximum amount to charge for any one event + end + end + + # The cadence to bill for this price on. + # + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps#cadence + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + # @!method self.values + # @return [Array] + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps#billing_cycle_configuration + class BillingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::BillingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @param duration [Integer] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::BillingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps#dimensional_price_configuration + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # The list of dimension values matching (in order) the dimensions of the price + # group + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String] + + # @!attribute dimensional_price_group_id + # The id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :dimensional_price_group_id, String, nil?: true + + # @!attribute external_dimensional_price_group_id + # The external id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :external_dimensional_price_group_id, String, nil?: true + + # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) + # Some parameter documentations has been truncated, see + # {Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::DimensionalPriceConfiguration} + # for more details. + # + # For dimensional price: specifies a price group and dimension values + # + # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro + # + # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in + # + # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps#invoicing_cycle_configuration + class InvoicingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # 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] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::InvoicingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + end + + class Bulk < Orb::Internal::Type::BaseModel + # @!attribute bulk_config + # + # @return [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::BulkConfig] + required :bulk_config, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::BulkConfig + } + + # @!attribute cadence + # The cadence to bill for this price on. + # + # @return [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::Cadence] + required :cadence, + enum: -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::Cadence + } + + # @!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 price will be associated with. + # + # @return [String] + required :item_id, String + + # @!attribute model_type + # + # @return [Symbol, :bulk] + required :model_type, const: :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::Internal::Type::Boolean, nil?: true + + # @!attribute billing_cycle_configuration + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @return [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::BillingCycleConfiguration, nil] + optional :billing_cycle_configuration, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::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 dimensional_price_configuration + # For dimensional price: specifies a price group and dimension values + # + # @return [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::DimensionalPriceConfiguration, nil] + optional :dimensional_price_configuration, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::DimensionalPriceConfiguration + }, + 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::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::InvoicingCycleConfiguration, nil] + optional :invoicing_cycle_configuration, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::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::Internal::Type::HashOf[String, nil?: true], nil?: true + + # @!method initialize(bulk_config:, cadence:, currency:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :bulk) + # Some parameter documentations has been truncated, see + # {Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk} for + # more details. + # + # @param bulk_config [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::BulkConfig] + # + # @param cadence [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::Cadence] The cadence to bill for this price on. + # + # @param currency [String] An ISO 4217 currency string for which this price is billed in. + # + # @param item_id [String] The id of the item the price will be associated with. + # + # @param name [String] The name of the price. + # + # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b + # + # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi + # + # @param billing_cycle_configuration [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # + # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. + # + # @param dimensional_price_configuration [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # + # @param external_price_id [String, nil] An alias for the price. + # + # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl + # + # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice + # + # @param invoicing_cycle_configuration [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # + # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed + # + # @param model_type [Symbol, :bulk] + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk#bulk_config + class BulkConfig < Orb::Internal::Type::BaseModel + # @!attribute tiers + # Bulk tiers for rating based on total usage volume + # + # @return [Array] + required :tiers, + -> { + Orb::Internal::Type::ArrayOf[Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::BulkConfig::Tier] + } + + # @!method initialize(tiers:) + # @param tiers [Array] Bulk tiers for rating based on total usage volume + + class Tier < Orb::Internal::Type::BaseModel + # @!attribute unit_amount + # Amount per unit + # + # @return [String] + required :unit_amount, String + + # @!attribute maximum_units + # Upper bound for this tier + # + # @return [Float, nil] + optional :maximum_units, Float, nil?: true + + # @!method initialize(unit_amount:, maximum_units: nil) + # @param unit_amount [String] Amount per unit + # + # @param maximum_units [Float, nil] Upper bound for this tier + end + end + + # The cadence to bill for this price on. + # + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk#cadence + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + # @!method self.values + # @return [Array] + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk#billing_cycle_configuration + class BillingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::BillingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @param duration [Integer] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::BillingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk#dimensional_price_configuration + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # The list of dimension values matching (in order) the dimensions of the price + # group + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String] + + # @!attribute dimensional_price_group_id + # The id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :dimensional_price_group_id, String, nil?: true + + # @!attribute external_dimensional_price_group_id + # The external id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :external_dimensional_price_group_id, String, nil?: true + + # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) + # Some parameter documentations has been truncated, see + # {Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::DimensionalPriceConfiguration} + # for more details. + # + # For dimensional price: specifies a price group and dimension values + # + # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro + # + # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in + # + # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk#invoicing_cycle_configuration + class InvoicingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::InvoicingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # 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] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::InvoicingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + end + + class ThresholdTotalAmount < Orb::Internal::Type::BaseModel + # @!attribute cadence + # The cadence to bill for this price on. + # + # @return [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::Cadence] + required :cadence, + enum: -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::Cadence + } + + # @!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 price will be associated with. + # + # @return [String] + required :item_id, String + + # @!attribute model_type + # + # @return [Symbol, :threshold_total_amount] + required :model_type, const: :threshold_total_amount + + # @!attribute name + # The name of the price. + # + # @return [String] + required :name, String + + # @!attribute threshold_total_amount_config + # + # @return [Hash{Symbol=>Object}] + required :threshold_total_amount_config, Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] + + # @!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::Internal::Type::Boolean, nil?: true + + # @!attribute billing_cycle_configuration + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @return [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::BillingCycleConfiguration, nil] + optional :billing_cycle_configuration, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::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 dimensional_price_configuration + # For dimensional price: specifies a price group and dimension values + # + # @return [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::DimensionalPriceConfiguration, nil] + optional :dimensional_price_configuration, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::DimensionalPriceConfiguration + }, + 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::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::InvoicingCycleConfiguration, nil] + optional :invoicing_cycle_configuration, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::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::Internal::Type::HashOf[String, nil?: true], nil?: true + + # @!method initialize(cadence:, currency:, item_id:, name:, threshold_total_amount_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :threshold_total_amount) + # Some parameter documentations has been truncated, see + # {Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount} + # for more details. + # + # @param cadence [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::Cadence] The cadence to bill for this price on. + # + # @param currency [String] An ISO 4217 currency string for which this price is billed in. + # + # @param item_id [String] The id of the item the price will be associated with. + # + # @param name [String] The name of the price. + # + # @param threshold_total_amount_config [Hash{Symbol=>Object}] + # + # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b + # + # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi + # + # @param billing_cycle_configuration [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # + # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. + # + # @param dimensional_price_configuration [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # + # @param external_price_id [String, nil] An alias for the price. + # + # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl + # + # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice + # + # @param invoicing_cycle_configuration [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # + # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed + # + # @param model_type [Symbol, :threshold_total_amount] + + # The cadence to bill for this price on. + # + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount#cadence + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + # @!method self.values + # @return [Array] + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount#billing_cycle_configuration + class BillingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @param duration [Integer] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::BillingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount#dimensional_price_configuration + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # The list of dimension values matching (in order) the dimensions of the price + # group + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String] + + # @!attribute dimensional_price_group_id + # The id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :dimensional_price_group_id, String, nil?: true + + # @!attribute external_dimensional_price_group_id + # The external id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :external_dimensional_price_group_id, String, nil?: true + + # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) + # Some parameter documentations has been truncated, see + # {Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::DimensionalPriceConfiguration} + # for more details. + # + # For dimensional price: specifies a price group and dimension values + # + # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro + # + # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in + # + # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount#invoicing_cycle_configuration + class InvoicingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # 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] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::InvoicingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + end + + class TieredPackage < Orb::Internal::Type::BaseModel + # @!attribute cadence + # The cadence to bill for this price on. + # + # @return [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::Cadence] + required :cadence, + enum: -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::Cadence + } + + # @!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 price will be associated with. + # + # @return [String] + required :item_id, String + + # @!attribute model_type + # + # @return [Symbol, :tiered_package] + required :model_type, const: :tiered_package + + # @!attribute name + # The name of the price. + # + # @return [String] + required :name, String + + # @!attribute tiered_package_config + # + # @return [Hash{Symbol=>Object}] + required :tiered_package_config, Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] + + # @!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::Internal::Type::Boolean, nil?: true + + # @!attribute billing_cycle_configuration + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @return [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::BillingCycleConfiguration, nil] + optional :billing_cycle_configuration, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::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 dimensional_price_configuration + # For dimensional price: specifies a price group and dimension values + # + # @return [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::DimensionalPriceConfiguration, nil] + optional :dimensional_price_configuration, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::DimensionalPriceConfiguration + }, + 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::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::InvoicingCycleConfiguration, nil] + optional :invoicing_cycle_configuration, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::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::Internal::Type::HashOf[String, nil?: true], nil?: true + + # @!method initialize(cadence:, currency:, item_id:, name:, tiered_package_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :tiered_package) + # Some parameter documentations has been truncated, see + # {Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage} + # for more details. + # + # @param cadence [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::Cadence] The cadence to bill for this price on. + # + # @param currency [String] An ISO 4217 currency string for which this price is billed in. + # + # @param item_id [String] The id of the item the price will be associated with. + # + # @param name [String] The name of the price. + # + # @param tiered_package_config [Hash{Symbol=>Object}] + # + # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b + # + # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi + # + # @param billing_cycle_configuration [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # + # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. + # + # @param dimensional_price_configuration [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # + # @param external_price_id [String, nil] An alias for the price. + # + # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl + # + # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice + # + # @param invoicing_cycle_configuration [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # + # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed + # + # @param model_type [Symbol, :tiered_package] + + # The cadence to bill for this price on. + # + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage#cadence + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + # @!method self.values + # @return [Array] + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage#billing_cycle_configuration + class BillingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::BillingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @param duration [Integer] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::BillingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage#dimensional_price_configuration + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # The list of dimension values matching (in order) the dimensions of the price + # group + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String] + + # @!attribute dimensional_price_group_id + # The id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :dimensional_price_group_id, String, nil?: true + + # @!attribute external_dimensional_price_group_id + # The external id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :external_dimensional_price_group_id, String, nil?: true + + # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) + # Some parameter documentations has been truncated, see + # {Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::DimensionalPriceConfiguration} + # for more details. + # + # For dimensional price: specifies a price group and dimension values + # + # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro + # + # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in + # + # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage#invoicing_cycle_configuration + class InvoicingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # 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] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::InvoicingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + end + + class GroupedTiered < Orb::Internal::Type::BaseModel + # @!attribute cadence + # The cadence to bill for this price on. + # + # @return [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::Cadence] + required :cadence, + enum: -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::Cadence + } + + # @!attribute currency + # An ISO 4217 currency string for which this price is billed in. + # + # @return [String] + required :currency, String + + # @!attribute grouped_tiered_config + # + # @return [Hash{Symbol=>Object}] + required :grouped_tiered_config, Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] + + # @!attribute item_id + # The id of the item the price will be associated with. + # + # @return [String] + required :item_id, String + + # @!attribute model_type + # + # @return [Symbol, :grouped_tiered] + required :model_type, const: :grouped_tiered + + # @!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::Internal::Type::Boolean, nil?: true + + # @!attribute billing_cycle_configuration + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @return [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::BillingCycleConfiguration, nil] + optional :billing_cycle_configuration, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::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 dimensional_price_configuration + # For dimensional price: specifies a price group and dimension values + # + # @return [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::DimensionalPriceConfiguration, nil] + optional :dimensional_price_configuration, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::DimensionalPriceConfiguration + }, + 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::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::InvoicingCycleConfiguration, nil] + optional :invoicing_cycle_configuration, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::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::Internal::Type::HashOf[String, nil?: true], nil?: true + + # @!method initialize(cadence:, currency:, grouped_tiered_config:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :grouped_tiered) + # Some parameter documentations has been truncated, see + # {Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered} + # for more details. + # + # @param cadence [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::Cadence] The cadence to bill for this price on. + # + # @param currency [String] An ISO 4217 currency string for which this price is billed in. + # + # @param grouped_tiered_config [Hash{Symbol=>Object}] + # + # @param item_id [String] The id of the item the price will be associated with. + # + # @param name [String] The name of the price. + # + # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b + # + # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi + # + # @param billing_cycle_configuration [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # + # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. + # + # @param dimensional_price_configuration [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # + # @param external_price_id [String, nil] An alias for the price. + # + # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl + # + # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice + # + # @param invoicing_cycle_configuration [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # + # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed + # + # @param model_type [Symbol, :grouped_tiered] + + # The cadence to bill for this price on. + # + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered#cadence + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + # @!method self.values + # @return [Array] + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered#billing_cycle_configuration + class BillingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @param duration [Integer] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::BillingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered#dimensional_price_configuration + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # The list of dimension values matching (in order) the dimensions of the price + # group + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String] + + # @!attribute dimensional_price_group_id + # The id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :dimensional_price_group_id, String, nil?: true + + # @!attribute external_dimensional_price_group_id + # The external id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :external_dimensional_price_group_id, String, nil?: true + + # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) + # Some parameter documentations has been truncated, see + # {Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::DimensionalPriceConfiguration} + # for more details. + # + # For dimensional price: specifies a price group and dimension values + # + # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro + # + # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in + # + # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered#invoicing_cycle_configuration + class InvoicingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # 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] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::InvoicingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + end + + class MaxGroupTieredPackage < Orb::Internal::Type::BaseModel + # @!attribute cadence + # The cadence to bill for this price on. + # + # @return [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::Cadence] + required :cadence, + enum: -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::Cadence + } + + # @!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 price will be associated with. + # + # @return [String] + required :item_id, String + + # @!attribute max_group_tiered_package_config + # + # @return [Hash{Symbol=>Object}] + required :max_group_tiered_package_config, + Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] + + # @!attribute model_type + # + # @return [Symbol, :max_group_tiered_package] + required :model_type, const: :max_group_tiered_package + + # @!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::Internal::Type::Boolean, nil?: true + + # @!attribute billing_cycle_configuration + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @return [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::BillingCycleConfiguration, nil] + optional :billing_cycle_configuration, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::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 dimensional_price_configuration + # For dimensional price: specifies a price group and dimension values + # + # @return [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration, nil] + optional :dimensional_price_configuration, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration + }, + 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::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration, nil] + optional :invoicing_cycle_configuration, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::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::Internal::Type::HashOf[String, nil?: true], nil?: true + + # @!method initialize(cadence:, currency:, item_id:, max_group_tiered_package_config:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :max_group_tiered_package) + # Some parameter documentations has been truncated, see + # {Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage} + # for more details. + # + # @param cadence [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::Cadence] The cadence to bill for this price on. + # + # @param currency [String] An ISO 4217 currency string for which this price is billed in. + # + # @param item_id [String] The id of the item the price will be associated with. + # + # @param max_group_tiered_package_config [Hash{Symbol=>Object}] + # + # @param name [String] The name of the price. + # + # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b + # + # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi + # + # @param billing_cycle_configuration [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # + # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. + # + # @param dimensional_price_configuration [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # + # @param external_price_id [String, nil] An alias for the price. + # + # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl + # + # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice + # + # @param invoicing_cycle_configuration [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # + # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed + # + # @param model_type [Symbol, :max_group_tiered_package] + + # The cadence to bill for this price on. + # + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage#cadence + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + # @!method self.values + # @return [Array] + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage#billing_cycle_configuration + class BillingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @param duration [Integer] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::BillingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage#dimensional_price_configuration + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # The list of dimension values matching (in order) the dimensions of the price + # group + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String] + + # @!attribute dimensional_price_group_id + # The id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :dimensional_price_group_id, String, nil?: true + + # @!attribute external_dimensional_price_group_id + # The external id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :external_dimensional_price_group_id, String, nil?: true + + # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) + # Some parameter documentations has been truncated, see + # {Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration} + # for more details. + # + # For dimensional price: specifies a price group and dimension values + # + # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro + # + # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in + # + # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage#invoicing_cycle_configuration + class InvoicingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # 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] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + end + + class TieredWithMinimum < Orb::Internal::Type::BaseModel + # @!attribute cadence + # The cadence to bill for this price on. + # + # @return [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::Cadence] + required :cadence, + enum: -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::Cadence + } + + # @!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 price will be associated with. + # + # @return [String] + required :item_id, String + + # @!attribute model_type + # + # @return [Symbol, :tiered_with_minimum] + required :model_type, const: :tiered_with_minimum + + # @!attribute name + # The name of the price. + # + # @return [String] + required :name, String + + # @!attribute tiered_with_minimum_config + # + # @return [Hash{Symbol=>Object}] + required :tiered_with_minimum_config, Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] + + # @!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::Internal::Type::Boolean, nil?: true + + # @!attribute billing_cycle_configuration + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @return [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::BillingCycleConfiguration, nil] + optional :billing_cycle_configuration, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::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 dimensional_price_configuration + # For dimensional price: specifies a price group and dimension values + # + # @return [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::DimensionalPriceConfiguration, nil] + optional :dimensional_price_configuration, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::DimensionalPriceConfiguration + }, + 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::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::InvoicingCycleConfiguration, nil] + optional :invoicing_cycle_configuration, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::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::Internal::Type::HashOf[String, nil?: true], nil?: true + + # @!method initialize(cadence:, currency:, item_id:, name:, tiered_with_minimum_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :tiered_with_minimum) + # Some parameter documentations has been truncated, see + # {Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum} + # for more details. + # + # @param cadence [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::Cadence] The cadence to bill for this price on. + # + # @param currency [String] An ISO 4217 currency string for which this price is billed in. + # + # @param item_id [String] The id of the item the price will be associated with. + # + # @param name [String] The name of the price. + # + # @param tiered_with_minimum_config [Hash{Symbol=>Object}] + # + # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b + # + # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi + # + # @param billing_cycle_configuration [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # + # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. + # + # @param dimensional_price_configuration [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # + # @param external_price_id [String, nil] An alias for the price. + # + # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl + # + # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice + # + # @param invoicing_cycle_configuration [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # + # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed + # + # @param model_type [Symbol, :tiered_with_minimum] + + # The cadence to bill for this price on. + # + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum#cadence + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + # @!method self.values + # @return [Array] + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum#billing_cycle_configuration + class BillingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @param duration [Integer] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::BillingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum#dimensional_price_configuration + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # The list of dimension values matching (in order) the dimensions of the price + # group + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String] + + # @!attribute dimensional_price_group_id + # The id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :dimensional_price_group_id, String, nil?: true + + # @!attribute external_dimensional_price_group_id + # The external id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :external_dimensional_price_group_id, String, nil?: true + + # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) + # Some parameter documentations has been truncated, see + # {Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::DimensionalPriceConfiguration} + # for more details. + # + # For dimensional price: specifies a price group and dimension values + # + # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro + # + # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in + # + # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum#invoicing_cycle_configuration + class InvoicingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # 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] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::InvoicingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + end + + class PackageWithAllocation < Orb::Internal::Type::BaseModel + # @!attribute cadence + # The cadence to bill for this price on. + # + # @return [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::Cadence] + required :cadence, + enum: -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::Cadence + } + + # @!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 price will be associated with. + # + # @return [String] + required :item_id, String + + # @!attribute model_type + # + # @return [Symbol, :package_with_allocation] + required :model_type, const: :package_with_allocation + + # @!attribute name + # The name of the price. + # + # @return [String] + required :name, String + + # @!attribute package_with_allocation_config + # + # @return [Hash{Symbol=>Object}] + required :package_with_allocation_config, + Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] + + # @!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::Internal::Type::Boolean, nil?: true + + # @!attribute billing_cycle_configuration + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @return [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::BillingCycleConfiguration, nil] + optional :billing_cycle_configuration, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::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 dimensional_price_configuration + # For dimensional price: specifies a price group and dimension values + # + # @return [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::DimensionalPriceConfiguration, nil] + optional :dimensional_price_configuration, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::DimensionalPriceConfiguration + }, + 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::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::InvoicingCycleConfiguration, nil] + optional :invoicing_cycle_configuration, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::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::Internal::Type::HashOf[String, nil?: true], nil?: true + + # @!method initialize(cadence:, currency:, item_id:, name:, package_with_allocation_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :package_with_allocation) + # Some parameter documentations has been truncated, see + # {Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation} + # for more details. + # + # @param cadence [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::Cadence] The cadence to bill for this price on. + # + # @param currency [String] An ISO 4217 currency string for which this price is billed in. + # + # @param item_id [String] The id of the item the price will be associated with. + # + # @param name [String] The name of the price. + # + # @param package_with_allocation_config [Hash{Symbol=>Object}] + # + # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b + # + # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi + # + # @param billing_cycle_configuration [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # + # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. + # + # @param dimensional_price_configuration [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # + # @param external_price_id [String, nil] An alias for the price. + # + # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl + # + # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice + # + # @param invoicing_cycle_configuration [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # + # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed + # + # @param model_type [Symbol, :package_with_allocation] + + # The cadence to bill for this price on. + # + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation#cadence + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + # @!method self.values + # @return [Array] + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation#billing_cycle_configuration + class BillingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @param duration [Integer] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::BillingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation#dimensional_price_configuration + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # The list of dimension values matching (in order) the dimensions of the price + # group + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String] + + # @!attribute dimensional_price_group_id + # The id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :dimensional_price_group_id, String, nil?: true + + # @!attribute external_dimensional_price_group_id + # The external id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :external_dimensional_price_group_id, String, nil?: true + + # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) + # Some parameter documentations has been truncated, see + # {Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::DimensionalPriceConfiguration} + # for more details. + # + # For dimensional price: specifies a price group and dimension values + # + # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro + # + # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in + # + # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation#invoicing_cycle_configuration + class InvoicingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # 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] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::InvoicingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + end + + class TieredPackageWithMinimum < Orb::Internal::Type::BaseModel + # @!attribute cadence + # The cadence to bill for this price on. + # + # @return [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::Cadence] + required :cadence, + enum: -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::Cadence + } + + # @!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 price will be associated with. + # + # @return [String] + required :item_id, String + + # @!attribute model_type + # + # @return [Symbol, :tiered_package_with_minimum] + required :model_type, const: :tiered_package_with_minimum + + # @!attribute name + # The name of the price. + # + # @return [String] + required :name, String + + # @!attribute tiered_package_with_minimum_config + # + # @return [Hash{Symbol=>Object}] + required :tiered_package_with_minimum_config, + Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] + + # @!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::Internal::Type::Boolean, nil?: true + + # @!attribute billing_cycle_configuration + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @return [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::BillingCycleConfiguration, nil] + optional :billing_cycle_configuration, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::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 dimensional_price_configuration + # For dimensional price: specifies a price group and dimension values + # + # @return [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration, nil] + optional :dimensional_price_configuration, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration + }, + 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::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration, nil] + optional :invoicing_cycle_configuration, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::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::Internal::Type::HashOf[String, nil?: true], nil?: true + + # @!method initialize(cadence:, currency:, item_id:, name:, tiered_package_with_minimum_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :tiered_package_with_minimum) + # Some parameter documentations has been truncated, see + # {Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum} + # for more details. + # + # @param cadence [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::Cadence] The cadence to bill for this price on. + # + # @param currency [String] An ISO 4217 currency string for which this price is billed in. + # + # @param item_id [String] The id of the item the price will be associated with. + # + # @param name [String] The name of the price. + # + # @param tiered_package_with_minimum_config [Hash{Symbol=>Object}] + # + # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b + # + # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi + # + # @param billing_cycle_configuration [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # + # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. + # + # @param dimensional_price_configuration [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # + # @param external_price_id [String, nil] An alias for the price. + # + # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl + # + # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice + # + # @param invoicing_cycle_configuration [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # + # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed + # + # @param model_type [Symbol, :tiered_package_with_minimum] + + # The cadence to bill for this price on. + # + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum#cadence + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + # @!method self.values + # @return [Array] + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum#billing_cycle_configuration + class BillingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @param duration [Integer] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::BillingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum#dimensional_price_configuration + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # The list of dimension values matching (in order) the dimensions of the price + # group + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String] + + # @!attribute dimensional_price_group_id + # The id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :dimensional_price_group_id, String, nil?: true + + # @!attribute external_dimensional_price_group_id + # The external id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :external_dimensional_price_group_id, String, nil?: true + + # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) + # Some parameter documentations has been truncated, see + # {Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration} + # for more details. + # + # For dimensional price: specifies a price group and dimension values + # + # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro + # + # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in + # + # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum#invoicing_cycle_configuration + class InvoicingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # 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] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + end + + class UnitWithPercent < Orb::Internal::Type::BaseModel + # @!attribute cadence + # The cadence to bill for this price on. + # + # @return [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::Cadence] + required :cadence, + enum: -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::Cadence + } + + # @!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 price will be associated with. + # + # @return [String] + required :item_id, String + + # @!attribute model_type + # + # @return [Symbol, :unit_with_percent] + required :model_type, const: :unit_with_percent + + # @!attribute name + # The name of the price. + # + # @return [String] + required :name, String + + # @!attribute unit_with_percent_config + # + # @return [Hash{Symbol=>Object}] + required :unit_with_percent_config, Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] + + # @!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::Internal::Type::Boolean, nil?: true + + # @!attribute billing_cycle_configuration + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @return [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::BillingCycleConfiguration, nil] + optional :billing_cycle_configuration, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::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 dimensional_price_configuration + # For dimensional price: specifies a price group and dimension values + # + # @return [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::DimensionalPriceConfiguration, nil] + optional :dimensional_price_configuration, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::DimensionalPriceConfiguration + }, + 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::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::InvoicingCycleConfiguration, nil] + optional :invoicing_cycle_configuration, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::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::Internal::Type::HashOf[String, nil?: true], nil?: true + + # @!method initialize(cadence:, currency:, item_id:, name:, unit_with_percent_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :unit_with_percent) + # Some parameter documentations has been truncated, see + # {Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent} + # for more details. + # + # @param cadence [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::Cadence] The cadence to bill for this price on. + # + # @param currency [String] An ISO 4217 currency string for which this price is billed in. + # + # @param item_id [String] The id of the item the price will be associated with. + # + # @param name [String] The name of the price. + # + # @param unit_with_percent_config [Hash{Symbol=>Object}] + # + # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b + # + # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi + # + # @param billing_cycle_configuration [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # + # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. + # + # @param dimensional_price_configuration [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # + # @param external_price_id [String, nil] An alias for the price. + # + # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl + # + # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice + # + # @param invoicing_cycle_configuration [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # + # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed + # + # @param model_type [Symbol, :unit_with_percent] + + # The cadence to bill for this price on. + # + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent#cadence + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + # @!method self.values + # @return [Array] + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent#billing_cycle_configuration + class BillingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @param duration [Integer] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::BillingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent#dimensional_price_configuration + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # The list of dimension values matching (in order) the dimensions of the price + # group + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String] + + # @!attribute dimensional_price_group_id + # The id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :dimensional_price_group_id, String, nil?: true + + # @!attribute external_dimensional_price_group_id + # The external id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :external_dimensional_price_group_id, String, nil?: true + + # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) + # Some parameter documentations has been truncated, see + # {Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::DimensionalPriceConfiguration} + # for more details. + # + # For dimensional price: specifies a price group and dimension values + # + # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro + # + # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in + # + # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent#invoicing_cycle_configuration + class InvoicingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # 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] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::InvoicingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + end + + class TieredWithProration < Orb::Internal::Type::BaseModel + # @!attribute cadence + # The cadence to bill for this price on. + # + # @return [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::Cadence] + required :cadence, + enum: -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::Cadence + } + + # @!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 price will be associated with. + # + # @return [String] + required :item_id, String + + # @!attribute model_type + # + # @return [Symbol, :tiered_with_proration] + required :model_type, const: :tiered_with_proration + + # @!attribute name + # The name of the price. + # + # @return [String] + required :name, String + + # @!attribute tiered_with_proration_config + # + # @return [Hash{Symbol=>Object}] + required :tiered_with_proration_config, Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] + + # @!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::Internal::Type::Boolean, nil?: true + + # @!attribute billing_cycle_configuration + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @return [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::BillingCycleConfiguration, nil] + optional :billing_cycle_configuration, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::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 dimensional_price_configuration + # For dimensional price: specifies a price group and dimension values + # + # @return [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::DimensionalPriceConfiguration, nil] + optional :dimensional_price_configuration, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::DimensionalPriceConfiguration + }, + 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::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::InvoicingCycleConfiguration, nil] + optional :invoicing_cycle_configuration, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::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::Internal::Type::HashOf[String, nil?: true], nil?: true + + # @!method initialize(cadence:, currency:, item_id:, name:, tiered_with_proration_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :tiered_with_proration) + # Some parameter documentations has been truncated, see + # {Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration} + # for more details. + # + # @param cadence [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::Cadence] The cadence to bill for this price on. + # + # @param currency [String] An ISO 4217 currency string for which this price is billed in. + # + # @param item_id [String] The id of the item the price will be associated with. + # + # @param name [String] The name of the price. + # + # @param tiered_with_proration_config [Hash{Symbol=>Object}] + # + # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b + # + # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi + # + # @param billing_cycle_configuration [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # + # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. + # + # @param dimensional_price_configuration [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # + # @param external_price_id [String, nil] An alias for the price. + # + # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl + # + # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice + # + # @param invoicing_cycle_configuration [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # + # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed + # + # @param model_type [Symbol, :tiered_with_proration] + + # The cadence to bill for this price on. + # + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration#cadence + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + # @!method self.values + # @return [Array] + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration#billing_cycle_configuration + class BillingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @param duration [Integer] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::BillingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration#dimensional_price_configuration + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # The list of dimension values matching (in order) the dimensions of the price + # group + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String] + + # @!attribute dimensional_price_group_id + # The id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :dimensional_price_group_id, String, nil?: true + + # @!attribute external_dimensional_price_group_id + # The external id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :external_dimensional_price_group_id, String, nil?: true + + # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) + # Some parameter documentations has been truncated, see + # {Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::DimensionalPriceConfiguration} + # for more details. + # + # For dimensional price: specifies a price group and dimension values + # + # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro + # + # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in + # + # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration#invoicing_cycle_configuration + class InvoicingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # 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] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::InvoicingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + end + + class UnitWithProration < Orb::Internal::Type::BaseModel + # @!attribute cadence + # The cadence to bill for this price on. + # + # @return [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::Cadence] + required :cadence, + enum: -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::Cadence + } + + # @!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 price will be associated with. + # + # @return [String] + required :item_id, String + + # @!attribute model_type + # + # @return [Symbol, :unit_with_proration] + required :model_type, const: :unit_with_proration + + # @!attribute name + # The name of the price. + # + # @return [String] + required :name, String + + # @!attribute unit_with_proration_config + # + # @return [Hash{Symbol=>Object}] + required :unit_with_proration_config, Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] + + # @!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::Internal::Type::Boolean, nil?: true + + # @!attribute billing_cycle_configuration + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @return [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::BillingCycleConfiguration, nil] + optional :billing_cycle_configuration, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::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 dimensional_price_configuration + # For dimensional price: specifies a price group and dimension values + # + # @return [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::DimensionalPriceConfiguration, nil] + optional :dimensional_price_configuration, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::DimensionalPriceConfiguration + }, + 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::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::InvoicingCycleConfiguration, nil] + optional :invoicing_cycle_configuration, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::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::Internal::Type::HashOf[String, nil?: true], nil?: true + + # @!method initialize(cadence:, currency:, item_id:, name:, unit_with_proration_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :unit_with_proration) + # Some parameter documentations has been truncated, see + # {Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration} + # for more details. + # + # @param cadence [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::Cadence] The cadence to bill for this price on. + # + # @param currency [String] An ISO 4217 currency string for which this price is billed in. + # + # @param item_id [String] The id of the item the price will be associated with. + # + # @param name [String] The name of the price. + # + # @param unit_with_proration_config [Hash{Symbol=>Object}] + # + # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b + # + # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi + # + # @param billing_cycle_configuration [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # + # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. + # + # @param dimensional_price_configuration [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # + # @param external_price_id [String, nil] An alias for the price. + # + # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl + # + # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice + # + # @param invoicing_cycle_configuration [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # + # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed + # + # @param model_type [Symbol, :unit_with_proration] + + # The cadence to bill for this price on. + # + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration#cadence + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + # @!method self.values + # @return [Array] + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration#billing_cycle_configuration + class BillingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @param duration [Integer] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::BillingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration#dimensional_price_configuration + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # The list of dimension values matching (in order) the dimensions of the price + # group + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String] + + # @!attribute dimensional_price_group_id + # The id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :dimensional_price_group_id, String, nil?: true + + # @!attribute external_dimensional_price_group_id + # The external id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :external_dimensional_price_group_id, String, nil?: true + + # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) + # Some parameter documentations has been truncated, see + # {Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::DimensionalPriceConfiguration} + # for more details. + # + # For dimensional price: specifies a price group and dimension values + # + # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro + # + # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in + # + # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration#invoicing_cycle_configuration + class InvoicingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # 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] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::InvoicingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + end + + class GroupedAllocation < Orb::Internal::Type::BaseModel + # @!attribute cadence + # The cadence to bill for this price on. + # + # @return [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::Cadence] + required :cadence, + enum: -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::Cadence + } + + # @!attribute currency + # An ISO 4217 currency string for which this price is billed in. + # + # @return [String] + required :currency, String + + # @!attribute grouped_allocation_config + # + # @return [Hash{Symbol=>Object}] + required :grouped_allocation_config, Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] + + # @!attribute item_id + # The id of the item the price will be associated with. + # + # @return [String] + required :item_id, String + + # @!attribute model_type + # + # @return [Symbol, :grouped_allocation] + required :model_type, const: :grouped_allocation + + # @!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::Internal::Type::Boolean, nil?: true + + # @!attribute billing_cycle_configuration + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @return [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::BillingCycleConfiguration, nil] + optional :billing_cycle_configuration, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::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 dimensional_price_configuration + # For dimensional price: specifies a price group and dimension values + # + # @return [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::DimensionalPriceConfiguration, nil] + optional :dimensional_price_configuration, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::DimensionalPriceConfiguration + }, + 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::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::InvoicingCycleConfiguration, nil] + optional :invoicing_cycle_configuration, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::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::Internal::Type::HashOf[String, nil?: true], nil?: true + + # @!method initialize(cadence:, currency:, grouped_allocation_config:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :grouped_allocation) + # Some parameter documentations has been truncated, see + # {Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation} + # for more details. + # + # @param cadence [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::Cadence] The cadence to bill for this price on. + # + # @param currency [String] An ISO 4217 currency string for which this price is billed in. + # + # @param grouped_allocation_config [Hash{Symbol=>Object}] + # + # @param item_id [String] The id of the item the price will be associated with. + # + # @param name [String] The name of the price. + # + # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b + # + # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi + # + # @param billing_cycle_configuration [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # + # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. + # + # @param dimensional_price_configuration [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # + # @param external_price_id [String, nil] An alias for the price. + # + # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl + # + # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice + # + # @param invoicing_cycle_configuration [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # + # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed + # + # @param model_type [Symbol, :grouped_allocation] + + # The cadence to bill for this price on. + # + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation#cadence + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + # @!method self.values + # @return [Array] + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation#billing_cycle_configuration + class BillingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @param duration [Integer] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::BillingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation#dimensional_price_configuration + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # The list of dimension values matching (in order) the dimensions of the price + # group + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String] + + # @!attribute dimensional_price_group_id + # The id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :dimensional_price_group_id, String, nil?: true + + # @!attribute external_dimensional_price_group_id + # The external id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :external_dimensional_price_group_id, String, nil?: true + + # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) + # Some parameter documentations has been truncated, see + # {Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::DimensionalPriceConfiguration} + # for more details. + # + # For dimensional price: specifies a price group and dimension values + # + # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro + # + # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in + # + # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation#invoicing_cycle_configuration + class InvoicingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # 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] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::InvoicingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + end + + class GroupedWithProratedMinimum < Orb::Internal::Type::BaseModel + # @!attribute cadence + # The cadence to bill for this price on. + # + # @return [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::Cadence] + required :cadence, + enum: -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::Cadence + } + + # @!attribute currency + # An ISO 4217 currency string for which this price is billed in. + # + # @return [String] + required :currency, String + + # @!attribute grouped_with_prorated_minimum_config + # + # @return [Hash{Symbol=>Object}] + required :grouped_with_prorated_minimum_config, + Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] + + # @!attribute item_id + # The id of the item the price will be associated with. + # + # @return [String] + required :item_id, String + + # @!attribute model_type + # + # @return [Symbol, :grouped_with_prorated_minimum] + required :model_type, const: :grouped_with_prorated_minimum + + # @!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::Internal::Type::Boolean, nil?: true + + # @!attribute billing_cycle_configuration + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @return [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::BillingCycleConfiguration, nil] + optional :billing_cycle_configuration, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::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 dimensional_price_configuration + # For dimensional price: specifies a price group and dimension values + # + # @return [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration, nil] + optional :dimensional_price_configuration, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration + }, + 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::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration, nil] + optional :invoicing_cycle_configuration, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::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::Internal::Type::HashOf[String, nil?: true], nil?: true + + # @!method initialize(cadence:, currency:, grouped_with_prorated_minimum_config:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :grouped_with_prorated_minimum) + # Some parameter documentations has been truncated, see + # {Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum} + # for more details. + # + # @param cadence [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::Cadence] The cadence to bill for this price on. + # + # @param currency [String] An ISO 4217 currency string for which this price is billed in. + # + # @param grouped_with_prorated_minimum_config [Hash{Symbol=>Object}] + # + # @param item_id [String] The id of the item the price will be associated with. + # + # @param name [String] The name of the price. + # + # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b + # + # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi + # + # @param billing_cycle_configuration [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # + # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. + # + # @param dimensional_price_configuration [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # + # @param external_price_id [String, nil] An alias for the price. + # + # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl + # + # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice + # + # @param invoicing_cycle_configuration [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # + # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed + # + # @param model_type [Symbol, :grouped_with_prorated_minimum] + + # The cadence to bill for this price on. + # + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum#cadence + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + # @!method self.values + # @return [Array] + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum#billing_cycle_configuration + class BillingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @param duration [Integer] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::BillingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum#dimensional_price_configuration + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # The list of dimension values matching (in order) the dimensions of the price + # group + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String] + + # @!attribute dimensional_price_group_id + # The id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :dimensional_price_group_id, String, nil?: true + + # @!attribute external_dimensional_price_group_id + # The external id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :external_dimensional_price_group_id, String, nil?: true + + # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) + # Some parameter documentations has been truncated, see + # {Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration} + # for more details. + # + # For dimensional price: specifies a price group and dimension values + # + # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro + # + # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in + # + # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum#invoicing_cycle_configuration + class InvoicingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # 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] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + end + + class GroupedWithMeteredMinimum < Orb::Internal::Type::BaseModel + # @!attribute cadence + # The cadence to bill for this price on. + # + # @return [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::Cadence] + required :cadence, + enum: -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::Cadence + } + + # @!attribute currency + # An ISO 4217 currency string for which this price is billed in. + # + # @return [String] + required :currency, String + + # @!attribute grouped_with_metered_minimum_config + # + # @return [Hash{Symbol=>Object}] + required :grouped_with_metered_minimum_config, + Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] + + # @!attribute item_id + # The id of the item the price will be associated with. + # + # @return [String] + required :item_id, String + + # @!attribute model_type + # + # @return [Symbol, :grouped_with_metered_minimum] + required :model_type, const: :grouped_with_metered_minimum + + # @!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::Internal::Type::Boolean, nil?: true + + # @!attribute billing_cycle_configuration + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @return [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration, nil] + optional :billing_cycle_configuration, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::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 dimensional_price_configuration + # For dimensional price: specifies a price group and dimension values + # + # @return [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration, nil] + optional :dimensional_price_configuration, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration + }, + 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::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration, nil] + optional :invoicing_cycle_configuration, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::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::Internal::Type::HashOf[String, nil?: true], nil?: true + + # @!method initialize(cadence:, currency:, grouped_with_metered_minimum_config:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :grouped_with_metered_minimum) + # Some parameter documentations has been truncated, see + # {Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum} + # for more details. + # + # @param cadence [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::Cadence] The cadence to bill for this price on. + # + # @param currency [String] An ISO 4217 currency string for which this price is billed in. + # + # @param grouped_with_metered_minimum_config [Hash{Symbol=>Object}] + # + # @param item_id [String] The id of the item the price will be associated with. + # + # @param name [String] The name of the price. + # + # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b + # + # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi + # + # @param billing_cycle_configuration [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # + # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. + # + # @param dimensional_price_configuration [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # + # @param external_price_id [String, nil] An alias for the price. + # + # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl + # + # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice + # + # @param invoicing_cycle_configuration [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # + # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed + # + # @param model_type [Symbol, :grouped_with_metered_minimum] + + # The cadence to bill for this price on. + # + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum#cadence + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + # @!method self.values + # @return [Array] + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum#billing_cycle_configuration + class BillingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @param duration [Integer] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum#dimensional_price_configuration + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # The list of dimension values matching (in order) the dimensions of the price + # group + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String] + + # @!attribute dimensional_price_group_id + # The id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :dimensional_price_group_id, String, nil?: true + + # @!attribute external_dimensional_price_group_id + # The external id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :external_dimensional_price_group_id, String, nil?: true + + # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) + # Some parameter documentations has been truncated, see + # {Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration} + # for more details. + # + # For dimensional price: specifies a price group and dimension values + # + # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro + # + # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in + # + # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum#invoicing_cycle_configuration + class InvoicingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # 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] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + end + + class MatrixWithDisplayName < Orb::Internal::Type::BaseModel + # @!attribute cadence + # The cadence to bill for this price on. + # + # @return [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::Cadence] + required :cadence, + enum: -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::Cadence + } + + # @!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 price will be associated with. + # + # @return [String] + required :item_id, String + + # @!attribute matrix_with_display_name_config + # + # @return [Hash{Symbol=>Object}] + required :matrix_with_display_name_config, + Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] + + # @!attribute model_type + # + # @return [Symbol, :matrix_with_display_name] + required :model_type, const: :matrix_with_display_name + + # @!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::Internal::Type::Boolean, nil?: true + + # @!attribute billing_cycle_configuration + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @return [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::BillingCycleConfiguration, nil] + optional :billing_cycle_configuration, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::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 dimensional_price_configuration + # For dimensional price: specifies a price group and dimension values + # + # @return [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::DimensionalPriceConfiguration, nil] + optional :dimensional_price_configuration, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::DimensionalPriceConfiguration + }, + 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::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::InvoicingCycleConfiguration, nil] + optional :invoicing_cycle_configuration, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::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::Internal::Type::HashOf[String, nil?: true], nil?: true + + # @!method initialize(cadence:, currency:, item_id:, matrix_with_display_name_config:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :matrix_with_display_name) + # Some parameter documentations has been truncated, see + # {Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName} + # for more details. + # + # @param cadence [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::Cadence] The cadence to bill for this price on. + # + # @param currency [String] An ISO 4217 currency string for which this price is billed in. + # + # @param item_id [String] The id of the item the price will be associated with. + # + # @param matrix_with_display_name_config [Hash{Symbol=>Object}] + # + # @param name [String] The name of the price. + # + # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b + # + # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi + # + # @param billing_cycle_configuration [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # + # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. + # + # @param dimensional_price_configuration [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # + # @param external_price_id [String, nil] An alias for the price. + # + # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl + # + # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice + # + # @param invoicing_cycle_configuration [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # + # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed + # + # @param model_type [Symbol, :matrix_with_display_name] + + # The cadence to bill for this price on. + # + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName#cadence + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + # @!method self.values + # @return [Array] + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName#billing_cycle_configuration + class BillingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @param duration [Integer] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::BillingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName#dimensional_price_configuration + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # The list of dimension values matching (in order) the dimensions of the price + # group + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String] + + # @!attribute dimensional_price_group_id + # The id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :dimensional_price_group_id, String, nil?: true + + # @!attribute external_dimensional_price_group_id + # The external id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :external_dimensional_price_group_id, String, nil?: true + + # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) + # Some parameter documentations has been truncated, see + # {Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::DimensionalPriceConfiguration} + # for more details. + # + # For dimensional price: specifies a price group and dimension values + # + # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro + # + # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in + # + # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName#invoicing_cycle_configuration + class InvoicingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # 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] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::InvoicingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + end + + class BulkWithProration < Orb::Internal::Type::BaseModel + # @!attribute bulk_with_proration_config + # + # @return [Hash{Symbol=>Object}] + required :bulk_with_proration_config, Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] + + # @!attribute cadence + # The cadence to bill for this price on. + # + # @return [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::Cadence] + required :cadence, + enum: -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::Cadence + } + + # @!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 price will be associated with. + # + # @return [String] + required :item_id, String + + # @!attribute model_type + # + # @return [Symbol, :bulk_with_proration] + required :model_type, const: :bulk_with_proration + + # @!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::Internal::Type::Boolean, nil?: true + + # @!attribute billing_cycle_configuration + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @return [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::BillingCycleConfiguration, nil] + optional :billing_cycle_configuration, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::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 dimensional_price_configuration + # For dimensional price: specifies a price group and dimension values + # + # @return [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::DimensionalPriceConfiguration, nil] + optional :dimensional_price_configuration, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::DimensionalPriceConfiguration + }, + 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::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::InvoicingCycleConfiguration, nil] + optional :invoicing_cycle_configuration, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::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::Internal::Type::HashOf[String, nil?: true], nil?: true + + # @!method initialize(bulk_with_proration_config:, cadence:, currency:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :bulk_with_proration) + # Some parameter documentations has been truncated, see + # {Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration} + # for more details. + # + # @param bulk_with_proration_config [Hash{Symbol=>Object}] + # + # @param cadence [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::Cadence] The cadence to bill for this price on. + # + # @param currency [String] An ISO 4217 currency string for which this price is billed in. + # + # @param item_id [String] The id of the item the price will be associated with. + # + # @param name [String] The name of the price. + # + # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b + # + # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi + # + # @param billing_cycle_configuration [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # + # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. + # + # @param dimensional_price_configuration [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # + # @param external_price_id [String, nil] An alias for the price. + # + # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl + # + # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice + # + # @param invoicing_cycle_configuration [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # + # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed + # + # @param model_type [Symbol, :bulk_with_proration] + + # The cadence to bill for this price on. + # + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration#cadence + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + # @!method self.values + # @return [Array] + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration#billing_cycle_configuration + class BillingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @param duration [Integer] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::BillingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration#dimensional_price_configuration + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # The list of dimension values matching (in order) the dimensions of the price + # group + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String] + + # @!attribute dimensional_price_group_id + # The id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :dimensional_price_group_id, String, nil?: true + + # @!attribute external_dimensional_price_group_id + # The external id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :external_dimensional_price_group_id, String, nil?: true + + # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) + # Some parameter documentations has been truncated, see + # {Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::DimensionalPriceConfiguration} + # for more details. + # + # For dimensional price: specifies a price group and dimension values + # + # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro + # + # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in + # + # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration#invoicing_cycle_configuration + class InvoicingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # 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] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::InvoicingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + end + + class GroupedTieredPackage < Orb::Internal::Type::BaseModel + # @!attribute cadence + # The cadence to bill for this price on. + # + # @return [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::Cadence] + required :cadence, + enum: -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::Cadence + } + + # @!attribute currency + # An ISO 4217 currency string for which this price is billed in. + # + # @return [String] + required :currency, String + + # @!attribute grouped_tiered_package_config + # + # @return [Hash{Symbol=>Object}] + required :grouped_tiered_package_config, Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] + + # @!attribute item_id + # The id of the item the price will be associated with. + # + # @return [String] + required :item_id, String + + # @!attribute model_type + # + # @return [Symbol, :grouped_tiered_package] + required :model_type, const: :grouped_tiered_package + + # @!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::Internal::Type::Boolean, nil?: true + + # @!attribute billing_cycle_configuration + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @return [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::BillingCycleConfiguration, nil] + optional :billing_cycle_configuration, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::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 dimensional_price_configuration + # For dimensional price: specifies a price group and dimension values + # + # @return [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::DimensionalPriceConfiguration, nil] + optional :dimensional_price_configuration, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::DimensionalPriceConfiguration + }, + 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::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::InvoicingCycleConfiguration, nil] + optional :invoicing_cycle_configuration, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::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::Internal::Type::HashOf[String, nil?: true], nil?: true + + # @!method initialize(cadence:, currency:, grouped_tiered_package_config:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :grouped_tiered_package) + # Some parameter documentations has been truncated, see + # {Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage} + # for more details. + # + # @param cadence [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::Cadence] The cadence to bill for this price on. + # + # @param currency [String] An ISO 4217 currency string for which this price is billed in. + # + # @param grouped_tiered_package_config [Hash{Symbol=>Object}] + # + # @param item_id [String] The id of the item the price will be associated with. + # + # @param name [String] The name of the price. + # + # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b + # + # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi + # + # @param billing_cycle_configuration [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # + # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. + # + # @param dimensional_price_configuration [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # + # @param external_price_id [String, nil] An alias for the price. + # + # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl + # + # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice + # + # @param invoicing_cycle_configuration [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # + # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed + # + # @param model_type [Symbol, :grouped_tiered_package] + + # The cadence to bill for this price on. + # + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage#cadence + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + # @!method self.values + # @return [Array] + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage#billing_cycle_configuration + class BillingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @param duration [Integer] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::BillingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage#dimensional_price_configuration + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # The list of dimension values matching (in order) the dimensions of the price + # group + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String] + + # @!attribute dimensional_price_group_id + # The id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :dimensional_price_group_id, String, nil?: true + + # @!attribute external_dimensional_price_group_id + # The external id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :external_dimensional_price_group_id, String, nil?: true + + # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) + # Some parameter documentations has been truncated, see + # {Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::DimensionalPriceConfiguration} + # for more details. + # + # For dimensional price: specifies a price group and dimension values + # + # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro + # + # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in + # + # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage#invoicing_cycle_configuration + class InvoicingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # 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] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::InvoicingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + end + + class ScalableMatrixWithUnitPricing < Orb::Internal::Type::BaseModel + # @!attribute cadence + # The cadence to bill for this price on. + # + # @return [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::Cadence] + required :cadence, + enum: -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::Cadence + } + + # @!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 price will be associated with. + # + # @return [String] + required :item_id, String + + # @!attribute model_type + # + # @return [Symbol, :scalable_matrix_with_unit_pricing] + required :model_type, const: :scalable_matrix_with_unit_pricing + + # @!attribute name + # The name of the price. + # + # @return [String] + required :name, String + + # @!attribute scalable_matrix_with_unit_pricing_config + # + # @return [Hash{Symbol=>Object}] + required :scalable_matrix_with_unit_pricing_config, + Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] + + # @!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::Internal::Type::Boolean, nil?: true + + # @!attribute billing_cycle_configuration + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @return [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration, nil] + optional :billing_cycle_configuration, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::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 dimensional_price_configuration + # For dimensional price: specifies a price group and dimension values + # + # @return [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration, nil] + optional :dimensional_price_configuration, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration + }, + 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::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration, nil] + optional :invoicing_cycle_configuration, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::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::Internal::Type::HashOf[String, nil?: true], nil?: true + + # @!method initialize(cadence:, currency:, item_id:, name:, scalable_matrix_with_unit_pricing_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :scalable_matrix_with_unit_pricing) + # Some parameter documentations has been truncated, see + # {Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing} + # for more details. + # + # @param cadence [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::Cadence] The cadence to bill for this price on. + # + # @param currency [String] An ISO 4217 currency string for which this price is billed in. + # + # @param item_id [String] The id of the item the price will be associated with. + # + # @param name [String] The name of the price. + # + # @param scalable_matrix_with_unit_pricing_config [Hash{Symbol=>Object}] + # + # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b + # + # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi + # + # @param billing_cycle_configuration [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # + # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. + # + # @param dimensional_price_configuration [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # + # @param external_price_id [String, nil] An alias for the price. + # + # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl + # + # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice + # + # @param invoicing_cycle_configuration [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # + # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed + # + # @param model_type [Symbol, :scalable_matrix_with_unit_pricing] + + # The cadence to bill for this price on. + # + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing#cadence + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + # @!method self.values + # @return [Array] + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing#billing_cycle_configuration + class BillingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @param duration [Integer] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing#dimensional_price_configuration + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # The list of dimension values matching (in order) the dimensions of the price + # group + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String] + + # @!attribute dimensional_price_group_id + # The id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :dimensional_price_group_id, String, nil?: true + + # @!attribute external_dimensional_price_group_id + # The external id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :external_dimensional_price_group_id, String, nil?: true + + # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) + # Some parameter documentations has been truncated, see + # {Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration} + # for more details. + # + # For dimensional price: specifies a price group and dimension values + # + # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro + # + # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in + # + # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing#invoicing_cycle_configuration + class InvoicingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # 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] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + end + + class ScalableMatrixWithTieredPricing < Orb::Internal::Type::BaseModel + # @!attribute cadence + # The cadence to bill for this price on. + # + # @return [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::Cadence] + required :cadence, + enum: -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::Cadence + } + + # @!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 price will be associated with. + # + # @return [String] + required :item_id, String + + # @!attribute model_type + # + # @return [Symbol, :scalable_matrix_with_tiered_pricing] + required :model_type, const: :scalable_matrix_with_tiered_pricing + + # @!attribute name + # The name of the price. + # + # @return [String] + required :name, String + + # @!attribute scalable_matrix_with_tiered_pricing_config + # + # @return [Hash{Symbol=>Object}] + required :scalable_matrix_with_tiered_pricing_config, + Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] + + # @!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::Internal::Type::Boolean, nil?: true + + # @!attribute billing_cycle_configuration + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @return [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration, nil] + optional :billing_cycle_configuration, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::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 dimensional_price_configuration + # For dimensional price: specifies a price group and dimension values + # + # @return [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration, nil] + optional :dimensional_price_configuration, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration + }, + 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::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration, nil] + optional :invoicing_cycle_configuration, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::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::Internal::Type::HashOf[String, nil?: true], nil?: true + + # @!method initialize(cadence:, currency:, item_id:, name:, scalable_matrix_with_tiered_pricing_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :scalable_matrix_with_tiered_pricing) + # Some parameter documentations has been truncated, see + # {Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing} + # for more details. + # + # @param cadence [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::Cadence] The cadence to bill for this price on. + # + # @param currency [String] An ISO 4217 currency string for which this price is billed in. + # + # @param item_id [String] The id of the item the price will be associated with. + # + # @param name [String] The name of the price. + # + # @param scalable_matrix_with_tiered_pricing_config [Hash{Symbol=>Object}] + # + # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b + # + # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi + # + # @param billing_cycle_configuration [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # + # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. + # + # @param dimensional_price_configuration [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # + # @param external_price_id [String, nil] An alias for the price. + # + # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl + # + # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice + # + # @param invoicing_cycle_configuration [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # + # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed + # + # @param model_type [Symbol, :scalable_matrix_with_tiered_pricing] + + # The cadence to bill for this price on. + # + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing#cadence + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + # @!method self.values + # @return [Array] + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing#billing_cycle_configuration + class BillingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @param duration [Integer] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing#dimensional_price_configuration + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # The list of dimension values matching (in order) the dimensions of the price + # group + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String] + + # @!attribute dimensional_price_group_id + # The id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :dimensional_price_group_id, String, nil?: true + + # @!attribute external_dimensional_price_group_id + # The external id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :external_dimensional_price_group_id, String, nil?: true + + # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) + # Some parameter documentations has been truncated, see + # {Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration} + # for more details. + # + # For dimensional price: specifies a price group and dimension values + # + # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro + # + # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in + # + # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing#invoicing_cycle_configuration + class InvoicingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # 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] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + end + + class CumulativeGroupedBulk < Orb::Internal::Type::BaseModel + # @!attribute cadence + # The cadence to bill for this price on. + # + # @return [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::Cadence] + required :cadence, + enum: -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::Cadence + } + + # @!attribute cumulative_grouped_bulk_config + # + # @return [Hash{Symbol=>Object}] + required :cumulative_grouped_bulk_config, + Orb::Internal::Type::HashOf[Orb::Internal::Type::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 price 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::Internal::Type::Boolean, nil?: true + + # @!attribute billing_cycle_configuration + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @return [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::BillingCycleConfiguration, nil] + optional :billing_cycle_configuration, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::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 dimensional_price_configuration + # For dimensional price: specifies a price group and dimension values + # + # @return [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration, nil] + optional :dimensional_price_configuration, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration + }, + 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::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration, nil] + optional :invoicing_cycle_configuration, + -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::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::Internal::Type::HashOf[String, nil?: true], nil?: true + + # @!method 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, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :cumulative_grouped_bulk) + # Some parameter documentations has been truncated, see + # {Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk} + # for more details. + # + # @param cadence [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::Cadence] The cadence to bill for this price on. + # + # @param cumulative_grouped_bulk_config [Hash{Symbol=>Object}] + # + # @param currency [String] An ISO 4217 currency string for which this price is billed in. + # + # @param item_id [String] The id of the item the price will be associated with. + # + # @param name [String] The name of the price. + # + # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b + # + # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi + # + # @param billing_cycle_configuration [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont + # + # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. + # + # @param dimensional_price_configuration [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values + # + # @param external_price_id [String, nil] An alias for the price. + # + # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl + # + # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice + # + # @param invoicing_cycle_configuration [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. + # + # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed + # + # @param model_type [Symbol, :cumulative_grouped_bulk] + + # The cadence to bill for this price on. + # + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk#cadence + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + # @!method self.values + # @return [Array] + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk#billing_cycle_configuration + class BillingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @param duration [Integer] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::BillingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk#dimensional_price_configuration + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + # @!attribute dimension_values + # The list of dimension values matching (in order) the dimensions of the price + # group + # + # @return [Array] + required :dimension_values, Orb::Internal::Type::ArrayOf[String] + + # @!attribute dimensional_price_group_id + # The id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :dimensional_price_group_id, String, nil?: true + + # @!attribute external_dimensional_price_group_id + # The external id of the dimensional price group to include this price in + # + # @return [String, nil] + optional :external_dimensional_price_group_id, String, nil?: true + + # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) + # Some parameter documentations has been truncated, see + # {Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration} + # for more details. + # + # For dimensional price: specifies a price group and dimension values + # + # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro + # + # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in + # + # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in + end + + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk#invoicing_cycle_configuration + class InvoicingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # 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] The duration of the billing period. + # + # @param duration_unit [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. + + # The unit of billing period duration. + # + # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end + end + + # @!method self.variants + # @return [Array(Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk)] + end + end + end + end +end diff --git a/lib/orb/models/price_evaluate_multiple_response.rb b/lib/orb/models/price_evaluate_multiple_response.rb new file mode 100644 index 00000000..41a6e3f3 --- /dev/null +++ b/lib/orb/models/price_evaluate_multiple_response.rb @@ -0,0 +1,51 @@ +# frozen_string_literal: true + +module Orb + module Models + # @see Orb::Resources::Prices#evaluate_multiple + class PriceEvaluateMultipleResponse < Orb::Internal::Type::BaseModel + # @!attribute data + # + # @return [Array] + required :data, -> { Orb::Internal::Type::ArrayOf[Orb::Models::PriceEvaluateMultipleResponse::Data] } + + # @!method initialize(data:) + # @param data [Array] + + class Data < Orb::Internal::Type::BaseModel + # @!attribute currency + # The currency of the price + # + # @return [String] + required :currency, String + + # @!attribute price_groups + # The computed price groups associated with input price. + # + # @return [Array] + required :price_groups, -> { Orb::Internal::Type::ArrayOf[Orb::EvaluatePriceGroup] } + + # @!attribute inline_price_index + # The index of the inline price + # + # @return [Integer, nil] + optional :inline_price_index, Integer, nil?: true + + # @!attribute price_id + # The ID of the price + # + # @return [String, nil] + optional :price_id, String, nil?: true + + # @!method initialize(currency:, price_groups:, inline_price_index: nil, price_id: nil) + # @param currency [String] The currency of the price + # + # @param price_groups [Array] The computed price groups associated with input price. + # + # @param inline_price_index [Integer, nil] The index of the inline price + # + # @param price_id [String, nil] The ID of the price + end + end + end +end diff --git a/lib/orb/models/price_evaluate_params.rb b/lib/orb/models/price_evaluate_params.rb index 484caab0..3f56c757 100644 --- a/lib/orb/models/price_evaluate_params.rb +++ b/lib/orb/models/price_evaluate_params.rb @@ -25,8553 +25,45 @@ class PriceEvaluateParams < Orb::Internal::Type::BaseModel # @return [String, nil] optional :customer_id, String, nil?: true - # @!attribute events - # Optional list of preview events to use instead of actual usage data (max 500) - # - # @return [Array, nil] - optional :events, -> { Orb::Internal::Type::ArrayOf[Orb::PriceEvaluateParams::Event] }, nil?: true - # @!attribute external_customer_id # The external customer ID of the customer to which this evaluation is scoped. # # @return [String, nil] optional :external_customer_id, String, nil?: true - # @!attribute price_evaluations - # List of prices to evaluate (max 100) + # @!attribute filter + # A boolean + # [computed property](/extensibility/advanced-metrics#computed-properties) used to + # filter the underlying billable metric + # + # @return [String, nil] + optional :filter, String, nil?: true + + # @!attribute grouping_keys + # Properties (or + # [computed properties](/extensibility/advanced-metrics#computed-properties)) used + # to group the underlying billable metric # - # @return [Array, nil] - optional :price_evaluations, - -> { Orb::Internal::Type::ArrayOf[Orb::PriceEvaluateParams::PriceEvaluation] } + # @return [Array, nil] + optional :grouping_keys, Orb::Internal::Type::ArrayOf[String] - # @!method initialize(timeframe_end:, timeframe_start:, customer_id: nil, events: nil, external_customer_id: nil, price_evaluations: nil, request_options: {}) + # @!method initialize(timeframe_end:, timeframe_start:, customer_id: nil, external_customer_id: nil, filter: nil, grouping_keys: nil, request_options: {}) + # Some parameter documentations has been truncated, see + # {Orb::Models::PriceEvaluateParams} for more details. + # # @param timeframe_end [Time] The exclusive upper bound for event timestamps # # @param timeframe_start [Time] The inclusive lower bound for event timestamps # # @param customer_id [String, nil] The ID of the customer to which this evaluation is scoped. # - # @param events [Array, nil] Optional list of preview events to use instead of actual usage data (max 500) - # # @param external_customer_id [String, nil] The external customer ID of the customer to which this evaluation is scoped. # - # @param price_evaluations [Array] List of prices to evaluate (max 100) + # @param filter [String, nil] A boolean [computed property](/extensibility/advanced-metrics#computed-propertie + # + # @param grouping_keys [Array] Properties (or [computed properties](/extensibility/advanced-metrics#computed-pr # # @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}] - - class Event < Orb::Internal::Type::BaseModel - # @!attribute event_name - # A name to meaningfully identify the action or event type. - # - # @return [String] - required :event_name, String - - # @!attribute properties - # A dictionary of custom properties. Values in this dictionary must be numeric, - # boolean, or strings. Nested dictionaries are disallowed. - # - # @return [Object] - required :properties, Orb::Internal::Type::Unknown - - # @!attribute timestamp - # An ISO 8601 format date with no timezone offset (i.e. UTC). This should - # represent the time that usage was recorded, and is particularly important to - # attribute usage to a given billing period. - # - # @return [Time] - required :timestamp, Time - - # @!attribute customer_id - # The Orb Customer identifier - # - # @return [String, nil] - optional :customer_id, String, nil?: true - - # @!attribute external_customer_id - # An alias for the Orb customer, whose mapping is specified when creating the - # customer - # - # @return [String, nil] - optional :external_customer_id, String, nil?: true - - # @!method initialize(event_name:, properties:, timestamp:, customer_id: nil, external_customer_id: nil) - # Some parameter documentations has been truncated, see - # {Orb::Models::PriceEvaluateParams::Event} for more details. - # - # @param event_name [String] A name to meaningfully identify the action or event type. - # - # @param properties [Object] A dictionary of custom properties. Values in this dictionary must be numeric, bo - # - # @param timestamp [Time] An ISO 8601 format date with no timezone offset (i.e. UTC). This should represen - # - # @param customer_id [String, nil] The Orb Customer identifier - # - # @param external_customer_id [String, nil] An alias for the Orb customer, whose mapping is specified when creating the cust - end - - class PriceEvaluation < Orb::Internal::Type::BaseModel - # @!attribute filter - # A boolean - # [computed property](/extensibility/advanced-metrics#computed-properties) used to - # filter the underlying billable metric - # - # @return [String, nil] - optional :filter, String, nil?: true - - # @!attribute grouping_keys - # Properties (or - # [computed properties](/extensibility/advanced-metrics#computed-properties)) used - # to group the underlying billable metric - # - # @return [Array, nil] - optional :grouping_keys, Orb::Internal::Type::ArrayOf[String] - - # @!attribute price - # An inline price definition to evaluate, allowing you to test price - # configurations before adding them to Orb. - # - # @return [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Unit, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Package, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Matrix, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Tiered, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredBps, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Bps, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::BulkBps, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Bulk, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk, nil] - optional :price, union: -> { Orb::PriceEvaluateParams::PriceEvaluation::Price }, nil?: true - - # @!attribute price_id - # The ID of a price to evaluate that exists in your Orb account. - # - # @return [String, nil] - optional :price_id, String, nil?: true - - # @!method initialize(filter: nil, grouping_keys: nil, price: nil, price_id: nil) - # Some parameter documentations has been truncated, see - # {Orb::Models::PriceEvaluateParams::PriceEvaluation} for more details. - # - # @param filter [String, nil] A boolean [computed property](/extensibility/advanced-metrics#computed-propertie - # - # @param grouping_keys [Array] Properties (or [computed properties](/extensibility/advanced-metrics#computed-pr - # - # @param price [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Unit, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Package, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Matrix, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Tiered, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredBps, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Bps, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::BulkBps, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Bulk, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk, nil] An inline price definition to evaluate, allowing you to test price configuration - # - # @param price_id [String, nil] The ID of a price to evaluate that exists in your Orb account. - - # An inline price definition to evaluate, allowing you to test price - # configurations before adding them to Orb. - # - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation#price - module Price - extend Orb::Internal::Type::Union - - discriminator :model_type - - variant :unit, -> { Orb::PriceEvaluateParams::PriceEvaluation::Price::Unit } - - variant :package, -> { Orb::PriceEvaluateParams::PriceEvaluation::Price::Package } - - variant :matrix, -> { Orb::PriceEvaluateParams::PriceEvaluation::Price::Matrix } - - variant :matrix_with_allocation, - -> { Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation } - - variant :tiered, -> { Orb::PriceEvaluateParams::PriceEvaluation::Price::Tiered } - - variant :tiered_bps, -> { Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredBps } - - variant :bps, -> { Orb::PriceEvaluateParams::PriceEvaluation::Price::Bps } - - variant :bulk_bps, -> { Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkBps } - - variant :bulk, -> { Orb::PriceEvaluateParams::PriceEvaluation::Price::Bulk } - - variant :threshold_total_amount, - -> { Orb::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount } - - variant :tiered_package, -> { Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage } - - variant :grouped_tiered, -> { Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered } - - variant :max_group_tiered_package, - -> { Orb::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage } - - variant :tiered_with_minimum, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum - } - - variant :package_with_allocation, - -> { Orb::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation } - - variant :tiered_package_with_minimum, - -> { Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum } - - variant :unit_with_percent, -> { Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent } - - variant :tiered_with_proration, - -> { Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration } - - variant :unit_with_proration, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration - } - - variant :grouped_allocation, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation - } - - variant :grouped_with_prorated_minimum, - -> { Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum } - - variant :grouped_with_metered_minimum, - -> { Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum } - - variant :matrix_with_display_name, - -> { Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName } - - variant :bulk_with_proration, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration - } - - variant :grouped_tiered_package, - -> { Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage } - - variant :scalable_matrix_with_unit_pricing, - -> { Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing } - - variant :scalable_matrix_with_tiered_pricing, - -> { Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing } - - variant :cumulative_grouped_bulk, - -> { Orb::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk } - - class Unit < Orb::Internal::Type::BaseModel - # @!attribute cadence - # The cadence to bill for this price on. - # - # @return [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Unit::Cadence] - required :cadence, enum: -> { Orb::PriceEvaluateParams::PriceEvaluation::Price::Unit::Cadence } - - # @!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 price will be associated with. - # - # @return [String] - required :item_id, String - - # @!attribute model_type - # - # @return [Symbol, :unit] - required :model_type, const: :unit - - # @!attribute name - # The name of the price. - # - # @return [String] - required :name, String - - # @!attribute unit_config - # - # @return [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Unit::UnitConfig] - required :unit_config, -> { Orb::PriceEvaluateParams::PriceEvaluation::Price::Unit::UnitConfig } - - # @!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::Internal::Type::Boolean, nil?: true - - # @!attribute billing_cycle_configuration - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @return [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Unit::BillingCycleConfiguration, nil] - optional :billing_cycle_configuration, - -> { Orb::PriceEvaluateParams::PriceEvaluation::Price::Unit::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 dimensional_price_configuration - # For dimensional price: specifies a price group and dimension values - # - # @return [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Unit::DimensionalPriceConfiguration, nil] - optional :dimensional_price_configuration, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::Unit::DimensionalPriceConfiguration - }, - 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::PriceEvaluateParams::PriceEvaluation::Price::Unit::InvoicingCycleConfiguration, nil] - optional :invoicing_cycle_configuration, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::Unit::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::Internal::Type::HashOf[String, nil?: true], nil?: true - - # @!method initialize(cadence:, currency:, item_id:, name:, unit_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :unit) - # Some parameter documentations has been truncated, see - # {Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Unit} for more - # details. - # - # @param cadence [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Unit::Cadence] The cadence to bill for this price on. - # - # @param currency [String] An ISO 4217 currency string for which this price is billed in. - # - # @param item_id [String] The id of the item the price will be associated with. - # - # @param name [String] The name of the price. - # - # @param unit_config [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Unit::UnitConfig] - # - # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b - # - # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi - # - # @param billing_cycle_configuration [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Unit::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont - # - # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. - # - # @param dimensional_price_configuration [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Unit::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values - # - # @param external_price_id [String, nil] An alias for the price. - # - # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl - # - # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice - # - # @param invoicing_cycle_configuration [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Unit::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. - # - # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed - # - # @param model_type [Symbol, :unit] - - # The cadence to bill for this price on. - # - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Unit#cadence - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL = :annual - SEMI_ANNUAL = :semi_annual - MONTHLY = :monthly - QUARTERLY = :quarterly - ONE_TIME = :one_time - CUSTOM = :custom - - # @!method self.values - # @return [Array] - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Unit#unit_config - class UnitConfig < Orb::Internal::Type::BaseModel - # @!attribute unit_amount - # Rate per unit of usage - # - # @return [String] - required :unit_amount, String - - # @!method initialize(unit_amount:) - # @param unit_amount [String] Rate per unit of usage - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Unit#billing_cycle_configuration - class BillingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateParams::PriceEvaluation::Price::Unit::BillingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::Unit::BillingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @param duration [Integer] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Unit::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Unit::BillingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Unit#dimensional_price_configuration - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # The list of dimension values matching (in order) the dimensions of the price - # group - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String] - - # @!attribute dimensional_price_group_id - # The id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :dimensional_price_group_id, String, nil?: true - - # @!attribute external_dimensional_price_group_id - # The external id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :external_dimensional_price_group_id, String, nil?: true - - # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) - # Some parameter documentations has been truncated, see - # {Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Unit::DimensionalPriceConfiguration} - # for more details. - # - # For dimensional price: specifies a price group and dimension values - # - # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro - # - # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in - # - # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Unit#invoicing_cycle_configuration - class InvoicingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateParams::PriceEvaluation::Price::Unit::InvoicingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::Unit::InvoicingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # 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] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Unit::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Unit::InvoicingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - end - - class Package < Orb::Internal::Type::BaseModel - # @!attribute cadence - # The cadence to bill for this price on. - # - # @return [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Package::Cadence] - required :cadence, enum: -> { Orb::PriceEvaluateParams::PriceEvaluation::Price::Package::Cadence } - - # @!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 price will be associated with. - # - # @return [String] - required :item_id, String - - # @!attribute model_type - # - # @return [Symbol, :package] - required :model_type, const: :package - - # @!attribute name - # The name of the price. - # - # @return [String] - required :name, String - - # @!attribute package_config - # - # @return [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Package::PackageConfig] - required :package_config, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::Package::PackageConfig - } - - # @!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::Internal::Type::Boolean, nil?: true - - # @!attribute billing_cycle_configuration - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @return [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Package::BillingCycleConfiguration, nil] - optional :billing_cycle_configuration, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::Package::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 dimensional_price_configuration - # For dimensional price: specifies a price group and dimension values - # - # @return [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Package::DimensionalPriceConfiguration, nil] - optional :dimensional_price_configuration, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::Package::DimensionalPriceConfiguration - }, - 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::PriceEvaluateParams::PriceEvaluation::Price::Package::InvoicingCycleConfiguration, nil] - optional :invoicing_cycle_configuration, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::Package::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::Internal::Type::HashOf[String, nil?: true], nil?: true - - # @!method initialize(cadence:, currency:, item_id:, name:, package_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :package) - # Some parameter documentations has been truncated, see - # {Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Package} for more - # details. - # - # @param cadence [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Package::Cadence] The cadence to bill for this price on. - # - # @param currency [String] An ISO 4217 currency string for which this price is billed in. - # - # @param item_id [String] The id of the item the price will be associated with. - # - # @param name [String] The name of the price. - # - # @param package_config [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Package::PackageConfig] - # - # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b - # - # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi - # - # @param billing_cycle_configuration [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Package::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont - # - # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. - # - # @param dimensional_price_configuration [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Package::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values - # - # @param external_price_id [String, nil] An alias for the price. - # - # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl - # - # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice - # - # @param invoicing_cycle_configuration [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Package::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. - # - # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed - # - # @param model_type [Symbol, :package] - - # The cadence to bill for this price on. - # - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Package#cadence - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL = :annual - SEMI_ANNUAL = :semi_annual - MONTHLY = :monthly - QUARTERLY = :quarterly - ONE_TIME = :one_time - CUSTOM = :custom - - # @!method self.values - # @return [Array] - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Package#package_config - class PackageConfig < Orb::Internal::Type::BaseModel - # @!attribute package_amount - # A currency amount to rate usage by - # - # @return [String] - required :package_amount, String - - # @!attribute package_size - # An integer amount to represent package size. For example, 1000 here would divide - # usage by 1000 before multiplying by package_amount in rating - # - # @return [Integer] - required :package_size, Integer - - # @!method initialize(package_amount:, package_size:) - # Some parameter documentations has been truncated, see - # {Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Package::PackageConfig} - # for more details. - # - # @param package_amount [String] A currency amount to rate usage by - # - # @param package_size [Integer] An integer amount to represent package size. For example, 1000 here would divide - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Package#billing_cycle_configuration - class BillingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateParams::PriceEvaluation::Price::Package::BillingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::Package::BillingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @param duration [Integer] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Package::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Package::BillingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Package#dimensional_price_configuration - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # The list of dimension values matching (in order) the dimensions of the price - # group - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String] - - # @!attribute dimensional_price_group_id - # The id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :dimensional_price_group_id, String, nil?: true - - # @!attribute external_dimensional_price_group_id - # The external id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :external_dimensional_price_group_id, String, nil?: true - - # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) - # Some parameter documentations has been truncated, see - # {Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Package::DimensionalPriceConfiguration} - # for more details. - # - # For dimensional price: specifies a price group and dimension values - # - # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro - # - # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in - # - # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Package#invoicing_cycle_configuration - class InvoicingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateParams::PriceEvaluation::Price::Package::InvoicingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::Package::InvoicingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # 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] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Package::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Package::InvoicingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - end - - class Matrix < Orb::Internal::Type::BaseModel - # @!attribute cadence - # The cadence to bill for this price on. - # - # @return [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Matrix::Cadence] - required :cadence, enum: -> { Orb::PriceEvaluateParams::PriceEvaluation::Price::Matrix::Cadence } - - # @!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 price will be associated with. - # - # @return [String] - required :item_id, String - - # @!attribute matrix_config - # - # @return [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Matrix::MatrixConfig] - required :matrix_config, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::Matrix::MatrixConfig - } - - # @!attribute model_type - # - # @return [Symbol, :matrix] - required :model_type, const: :matrix - - # @!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::Internal::Type::Boolean, nil?: true - - # @!attribute billing_cycle_configuration - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @return [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Matrix::BillingCycleConfiguration, nil] - optional :billing_cycle_configuration, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::Matrix::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 dimensional_price_configuration - # For dimensional price: specifies a price group and dimension values - # - # @return [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Matrix::DimensionalPriceConfiguration, nil] - optional :dimensional_price_configuration, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::Matrix::DimensionalPriceConfiguration - }, - 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::PriceEvaluateParams::PriceEvaluation::Price::Matrix::InvoicingCycleConfiguration, nil] - optional :invoicing_cycle_configuration, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::Matrix::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::Internal::Type::HashOf[String, nil?: true], nil?: true - - # @!method initialize(cadence:, currency:, item_id:, matrix_config:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :matrix) - # Some parameter documentations has been truncated, see - # {Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Matrix} for more - # details. - # - # @param cadence [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Matrix::Cadence] The cadence to bill for this price on. - # - # @param currency [String] An ISO 4217 currency string for which this price is billed in. - # - # @param item_id [String] The id of the item the price will be associated with. - # - # @param matrix_config [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Matrix::MatrixConfig] - # - # @param name [String] The name of the price. - # - # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b - # - # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi - # - # @param billing_cycle_configuration [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Matrix::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont - # - # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. - # - # @param dimensional_price_configuration [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Matrix::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values - # - # @param external_price_id [String, nil] An alias for the price. - # - # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl - # - # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice - # - # @param invoicing_cycle_configuration [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Matrix::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. - # - # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed - # - # @param model_type [Symbol, :matrix] - - # The cadence to bill for this price on. - # - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Matrix#cadence - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL = :annual - SEMI_ANNUAL = :semi_annual - MONTHLY = :monthly - QUARTERLY = :quarterly - ONE_TIME = :one_time - CUSTOM = :custom - - # @!method self.values - # @return [Array] - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Matrix#matrix_config - class MatrixConfig < Orb::Internal::Type::BaseModel - # @!attribute default_unit_amount - # Default per unit rate for any usage not bucketed into a specified matrix_value - # - # @return [String] - required :default_unit_amount, String - - # @!attribute dimensions - # One or two event property values to evaluate matrix groups by - # - # @return [Array] - required :dimensions, Orb::Internal::Type::ArrayOf[String, nil?: true] - - # @!attribute matrix_values - # Matrix values for specified matrix grouping keys - # - # @return [Array] - required :matrix_values, - -> { - Orb::Internal::Type::ArrayOf[Orb::PriceEvaluateParams::PriceEvaluation::Price::Matrix::MatrixConfig::MatrixValue] - } - - # @!method initialize(default_unit_amount:, dimensions:, matrix_values:) - # @param default_unit_amount [String] Default per unit rate for any usage not bucketed into a specified matrix_value - # - # @param dimensions [Array] One or two event property values to evaluate matrix groups by - # - # @param matrix_values [Array] Matrix values for specified matrix grouping keys - - class MatrixValue < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # One or two matrix keys to filter usage to this Matrix value by. For example, - # ["region", "tier"] could be used to filter cloud usage by a cloud region and an - # instance tier. - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String, nil?: true] - - # @!attribute unit_amount - # Unit price for the specified dimension_values - # - # @return [String] - required :unit_amount, String - - # @!method initialize(dimension_values:, unit_amount:) - # Some parameter documentations has been truncated, see - # {Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Matrix::MatrixConfig::MatrixValue} - # for more details. - # - # @param dimension_values [Array] One or two matrix keys to filter usage to this Matrix value by. For example, ["r - # - # @param unit_amount [String] Unit price for the specified dimension_values - end - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Matrix#billing_cycle_configuration - class BillingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateParams::PriceEvaluation::Price::Matrix::BillingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::Matrix::BillingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @param duration [Integer] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Matrix::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Matrix::BillingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Matrix#dimensional_price_configuration - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # The list of dimension values matching (in order) the dimensions of the price - # group - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String] - - # @!attribute dimensional_price_group_id - # The id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :dimensional_price_group_id, String, nil?: true - - # @!attribute external_dimensional_price_group_id - # The external id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :external_dimensional_price_group_id, String, nil?: true - - # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) - # Some parameter documentations has been truncated, see - # {Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Matrix::DimensionalPriceConfiguration} - # for more details. - # - # For dimensional price: specifies a price group and dimension values - # - # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro - # - # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in - # - # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Matrix#invoicing_cycle_configuration - class InvoicingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateParams::PriceEvaluation::Price::Matrix::InvoicingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::Matrix::InvoicingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # 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] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Matrix::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Matrix::InvoicingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - end - - class MatrixWithAllocation < Orb::Internal::Type::BaseModel - # @!attribute cadence - # The cadence to bill for this price on. - # - # @return [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::Cadence] - required :cadence, - enum: -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::Cadence - } - - # @!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 price will be associated with. - # - # @return [String] - required :item_id, String - - # @!attribute matrix_with_allocation_config - # - # @return [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::MatrixWithAllocationConfig] - required :matrix_with_allocation_config, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::MatrixWithAllocationConfig - } - - # @!attribute model_type - # - # @return [Symbol, :matrix_with_allocation] - required :model_type, const: :matrix_with_allocation - - # @!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::Internal::Type::Boolean, nil?: true - - # @!attribute billing_cycle_configuration - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @return [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::BillingCycleConfiguration, nil] - optional :billing_cycle_configuration, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::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 dimensional_price_configuration - # For dimensional price: specifies a price group and dimension values - # - # @return [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::DimensionalPriceConfiguration, nil] - optional :dimensional_price_configuration, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::DimensionalPriceConfiguration - }, - 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::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::InvoicingCycleConfiguration, nil] - optional :invoicing_cycle_configuration, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::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::Internal::Type::HashOf[String, nil?: true], nil?: true - - # @!method initialize(cadence:, currency:, item_id:, matrix_with_allocation_config:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :matrix_with_allocation) - # Some parameter documentations has been truncated, see - # {Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation} - # for more details. - # - # @param cadence [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::Cadence] The cadence to bill for this price on. - # - # @param currency [String] An ISO 4217 currency string for which this price is billed in. - # - # @param item_id [String] The id of the item the price will be associated with. - # - # @param matrix_with_allocation_config [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::MatrixWithAllocationConfig] - # - # @param name [String] The name of the price. - # - # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b - # - # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi - # - # @param billing_cycle_configuration [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont - # - # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. - # - # @param dimensional_price_configuration [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values - # - # @param external_price_id [String, nil] An alias for the price. - # - # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl - # - # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice - # - # @param invoicing_cycle_configuration [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. - # - # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed - # - # @param model_type [Symbol, :matrix_with_allocation] - - # The cadence to bill for this price on. - # - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation#cadence - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL = :annual - SEMI_ANNUAL = :semi_annual - MONTHLY = :monthly - QUARTERLY = :quarterly - ONE_TIME = :one_time - CUSTOM = :custom - - # @!method self.values - # @return [Array] - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation#matrix_with_allocation_config - class MatrixWithAllocationConfig < Orb::Internal::Type::BaseModel - # @!attribute allocation - # Allocation to be used to calculate the price - # - # @return [Float] - required :allocation, Float - - # @!attribute default_unit_amount - # Default per unit rate for any usage not bucketed into a specified matrix_value - # - # @return [String] - required :default_unit_amount, String - - # @!attribute dimensions - # One or two event property values to evaluate matrix groups by - # - # @return [Array] - required :dimensions, Orb::Internal::Type::ArrayOf[String, nil?: true] - - # @!attribute matrix_values - # Matrix values for specified matrix grouping keys - # - # @return [Array] - required :matrix_values, - -> do - Orb::Internal::Type::ArrayOf[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue - ] - end - - # @!method initialize(allocation:, default_unit_amount:, dimensions:, matrix_values:) - # @param allocation [Float] Allocation to be used to calculate the price - # - # @param default_unit_amount [String] Default per unit rate for any usage not bucketed into a specified matrix_value - # - # @param dimensions [Array] One or two event property values to evaluate matrix groups by - # - # @param matrix_values [Array] Matrix values for specified matrix grouping keys - - class MatrixValue < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # One or two matrix keys to filter usage to this Matrix value by. For example, - # ["region", "tier"] could be used to filter cloud usage by a cloud region and an - # instance tier. - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String, nil?: true] - - # @!attribute unit_amount - # Unit price for the specified dimension_values - # - # @return [String] - required :unit_amount, String - - # @!method initialize(dimension_values:, unit_amount:) - # Some parameter documentations has been truncated, see - # {Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue} - # for more details. - # - # @param dimension_values [Array] One or two matrix keys to filter usage to this Matrix value by. For example, ["r - # - # @param unit_amount [String] Unit price for the specified dimension_values - end - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation#billing_cycle_configuration - class BillingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @param duration [Integer] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::BillingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation#dimensional_price_configuration - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # The list of dimension values matching (in order) the dimensions of the price - # group - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String] - - # @!attribute dimensional_price_group_id - # The id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :dimensional_price_group_id, String, nil?: true - - # @!attribute external_dimensional_price_group_id - # The external id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :external_dimensional_price_group_id, String, nil?: true - - # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) - # Some parameter documentations has been truncated, see - # {Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::DimensionalPriceConfiguration} - # for more details. - # - # For dimensional price: specifies a price group and dimension values - # - # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro - # - # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in - # - # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation#invoicing_cycle_configuration - class InvoicingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # 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] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::InvoicingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - end - - class Tiered < Orb::Internal::Type::BaseModel - # @!attribute cadence - # The cadence to bill for this price on. - # - # @return [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Tiered::Cadence] - required :cadence, enum: -> { Orb::PriceEvaluateParams::PriceEvaluation::Price::Tiered::Cadence } - - # @!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 price will be associated with. - # - # @return [String] - required :item_id, String - - # @!attribute model_type - # - # @return [Symbol, :tiered] - required :model_type, const: :tiered - - # @!attribute name - # The name of the price. - # - # @return [String] - required :name, String - - # @!attribute tiered_config - # - # @return [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Tiered::TieredConfig] - required :tiered_config, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::Tiered::TieredConfig - } - - # @!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::Internal::Type::Boolean, nil?: true - - # @!attribute billing_cycle_configuration - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @return [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Tiered::BillingCycleConfiguration, nil] - optional :billing_cycle_configuration, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::Tiered::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 dimensional_price_configuration - # For dimensional price: specifies a price group and dimension values - # - # @return [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Tiered::DimensionalPriceConfiguration, nil] - optional :dimensional_price_configuration, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::Tiered::DimensionalPriceConfiguration - }, - 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::PriceEvaluateParams::PriceEvaluation::Price::Tiered::InvoicingCycleConfiguration, nil] - optional :invoicing_cycle_configuration, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::Tiered::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::Internal::Type::HashOf[String, nil?: true], nil?: true - - # @!method initialize(cadence:, currency:, item_id:, name:, tiered_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :tiered) - # Some parameter documentations has been truncated, see - # {Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Tiered} for more - # details. - # - # @param cadence [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Tiered::Cadence] The cadence to bill for this price on. - # - # @param currency [String] An ISO 4217 currency string for which this price is billed in. - # - # @param item_id [String] The id of the item the price will be associated with. - # - # @param name [String] The name of the price. - # - # @param tiered_config [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Tiered::TieredConfig] - # - # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b - # - # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi - # - # @param billing_cycle_configuration [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Tiered::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont - # - # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. - # - # @param dimensional_price_configuration [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Tiered::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values - # - # @param external_price_id [String, nil] An alias for the price. - # - # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl - # - # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice - # - # @param invoicing_cycle_configuration [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Tiered::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. - # - # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed - # - # @param model_type [Symbol, :tiered] - - # The cadence to bill for this price on. - # - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Tiered#cadence - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL = :annual - SEMI_ANNUAL = :semi_annual - MONTHLY = :monthly - QUARTERLY = :quarterly - ONE_TIME = :one_time - CUSTOM = :custom - - # @!method self.values - # @return [Array] - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Tiered#tiered_config - class TieredConfig < Orb::Internal::Type::BaseModel - # @!attribute tiers - # Tiers for rating based on total usage quantities into the specified tier - # - # @return [Array] - required :tiers, - -> { - Orb::Internal::Type::ArrayOf[Orb::PriceEvaluateParams::PriceEvaluation::Price::Tiered::TieredConfig::Tier] - } - - # @!method initialize(tiers:) - # @param tiers [Array] Tiers for rating based on total usage quantities into the specified tier - - class Tier < Orb::Internal::Type::BaseModel - # @!attribute first_unit - # Exclusive tier starting value - # - # @return [Float] - required :first_unit, Float - - # @!attribute unit_amount - # Amount per unit - # - # @return [String] - required :unit_amount, String - - # @!attribute last_unit - # Inclusive tier ending value. If null, this is treated as the last tier - # - # @return [Float, nil] - optional :last_unit, Float, nil?: true - - # @!method initialize(first_unit:, unit_amount:, last_unit: nil) - # @param first_unit [Float] Exclusive tier starting value - # - # @param unit_amount [String] Amount per unit - # - # @param last_unit [Float, nil] Inclusive tier ending value. If null, this is treated as the last tier - end - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Tiered#billing_cycle_configuration - class BillingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateParams::PriceEvaluation::Price::Tiered::BillingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::Tiered::BillingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @param duration [Integer] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Tiered::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Tiered::BillingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Tiered#dimensional_price_configuration - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # The list of dimension values matching (in order) the dimensions of the price - # group - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String] - - # @!attribute dimensional_price_group_id - # The id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :dimensional_price_group_id, String, nil?: true - - # @!attribute external_dimensional_price_group_id - # The external id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :external_dimensional_price_group_id, String, nil?: true - - # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) - # Some parameter documentations has been truncated, see - # {Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Tiered::DimensionalPriceConfiguration} - # for more details. - # - # For dimensional price: specifies a price group and dimension values - # - # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro - # - # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in - # - # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Tiered#invoicing_cycle_configuration - class InvoicingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateParams::PriceEvaluation::Price::Tiered::InvoicingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::Tiered::InvoicingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # 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] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Tiered::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Tiered::InvoicingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - end - - class TieredBps < Orb::Internal::Type::BaseModel - # @!attribute cadence - # The cadence to bill for this price on. - # - # @return [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::Cadence] - required :cadence, - enum: -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::Cadence - } - - # @!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 price will be associated with. - # - # @return [String] - required :item_id, String - - # @!attribute model_type - # - # @return [Symbol, :tiered_bps] - required :model_type, const: :tiered_bps - - # @!attribute name - # The name of the price. - # - # @return [String] - required :name, String - - # @!attribute tiered_bps_config - # - # @return [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::TieredBpsConfig] - required :tiered_bps_config, - -> { Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::TieredBpsConfig } - - # @!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::Internal::Type::Boolean, nil?: true - - # @!attribute billing_cycle_configuration - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @return [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::BillingCycleConfiguration, nil] - optional :billing_cycle_configuration, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::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 dimensional_price_configuration - # For dimensional price: specifies a price group and dimension values - # - # @return [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::DimensionalPriceConfiguration, nil] - optional :dimensional_price_configuration, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::DimensionalPriceConfiguration - }, - 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::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::InvoicingCycleConfiguration, nil] - optional :invoicing_cycle_configuration, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::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::Internal::Type::HashOf[String, nil?: true], nil?: true - - # @!method initialize(cadence:, currency:, item_id:, name:, tiered_bps_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :tiered_bps) - # Some parameter documentations has been truncated, see - # {Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredBps} for more - # details. - # - # @param cadence [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::Cadence] The cadence to bill for this price on. - # - # @param currency [String] An ISO 4217 currency string for which this price is billed in. - # - # @param item_id [String] The id of the item the price will be associated with. - # - # @param name [String] The name of the price. - # - # @param tiered_bps_config [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::TieredBpsConfig] - # - # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b - # - # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi - # - # @param billing_cycle_configuration [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont - # - # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. - # - # @param dimensional_price_configuration [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values - # - # @param external_price_id [String, nil] An alias for the price. - # - # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl - # - # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice - # - # @param invoicing_cycle_configuration [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. - # - # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed - # - # @param model_type [Symbol, :tiered_bps] - - # The cadence to bill for this price on. - # - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredBps#cadence - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL = :annual - SEMI_ANNUAL = :semi_annual - MONTHLY = :monthly - QUARTERLY = :quarterly - ONE_TIME = :one_time - CUSTOM = :custom - - # @!method self.values - # @return [Array] - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredBps#tiered_bps_config - class TieredBpsConfig < Orb::Internal::Type::BaseModel - # @!attribute tiers - # Tiers for a Graduated BPS pricing model, where usage is bucketed into specified - # tiers - # - # @return [Array] - required :tiers, - -> { - Orb::Internal::Type::ArrayOf[Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::TieredBpsConfig::Tier] - } - - # @!method initialize(tiers:) - # Some parameter documentations has been truncated, see - # {Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::TieredBpsConfig} - # for more details. - # - # @param tiers [Array] Tiers for a Graduated BPS pricing model, where usage is bucketed into specified - - class Tier < Orb::Internal::Type::BaseModel - # @!attribute bps - # Per-event basis point rate - # - # @return [Float] - required :bps, Float - - # @!attribute minimum_amount - # Exclusive tier starting value - # - # @return [String] - required :minimum_amount, String - - # @!attribute maximum_amount - # Inclusive tier ending value - # - # @return [String, nil] - optional :maximum_amount, String, nil?: true - - # @!attribute per_unit_maximum - # Per unit maximum to charge - # - # @return [String, nil] - optional :per_unit_maximum, String, nil?: true - - # @!method initialize(bps:, minimum_amount:, maximum_amount: nil, per_unit_maximum: nil) - # @param bps [Float] Per-event basis point rate - # - # @param minimum_amount [String] Exclusive tier starting value - # - # @param maximum_amount [String, nil] Inclusive tier ending value - # - # @param per_unit_maximum [String, nil] Per unit maximum to charge - end - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredBps#billing_cycle_configuration - class BillingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::BillingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::BillingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @param duration [Integer] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::BillingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredBps#dimensional_price_configuration - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # The list of dimension values matching (in order) the dimensions of the price - # group - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String] - - # @!attribute dimensional_price_group_id - # The id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :dimensional_price_group_id, String, nil?: true - - # @!attribute external_dimensional_price_group_id - # The external id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :external_dimensional_price_group_id, String, nil?: true - - # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) - # Some parameter documentations has been truncated, see - # {Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::DimensionalPriceConfiguration} - # for more details. - # - # For dimensional price: specifies a price group and dimension values - # - # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro - # - # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in - # - # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredBps#invoicing_cycle_configuration - class InvoicingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # 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] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::InvoicingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - end - - class Bps < Orb::Internal::Type::BaseModel - # @!attribute bps_config - # - # @return [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Bps::BpsConfig] - required :bps_config, -> { Orb::PriceEvaluateParams::PriceEvaluation::Price::Bps::BpsConfig } - - # @!attribute cadence - # The cadence to bill for this price on. - # - # @return [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Bps::Cadence] - required :cadence, enum: -> { Orb::PriceEvaluateParams::PriceEvaluation::Price::Bps::Cadence } - - # @!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 price will be associated with. - # - # @return [String] - required :item_id, String - - # @!attribute model_type - # - # @return [Symbol, :bps] - required :model_type, const: :bps - - # @!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::Internal::Type::Boolean, nil?: true - - # @!attribute billing_cycle_configuration - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @return [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Bps::BillingCycleConfiguration, nil] - optional :billing_cycle_configuration, - -> { Orb::PriceEvaluateParams::PriceEvaluation::Price::Bps::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 dimensional_price_configuration - # For dimensional price: specifies a price group and dimension values - # - # @return [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Bps::DimensionalPriceConfiguration, nil] - optional :dimensional_price_configuration, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bps::DimensionalPriceConfiguration - }, - 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::PriceEvaluateParams::PriceEvaluation::Price::Bps::InvoicingCycleConfiguration, nil] - optional :invoicing_cycle_configuration, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bps::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::Internal::Type::HashOf[String, nil?: true], nil?: true - - # @!method initialize(bps_config:, cadence:, currency:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :bps) - # Some parameter documentations has been truncated, see - # {Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Bps} for more - # details. - # - # @param bps_config [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Bps::BpsConfig] - # - # @param cadence [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Bps::Cadence] The cadence to bill for this price on. - # - # @param currency [String] An ISO 4217 currency string for which this price is billed in. - # - # @param item_id [String] The id of the item the price will be associated with. - # - # @param name [String] The name of the price. - # - # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b - # - # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi - # - # @param billing_cycle_configuration [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Bps::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont - # - # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. - # - # @param dimensional_price_configuration [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Bps::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values - # - # @param external_price_id [String, nil] An alias for the price. - # - # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl - # - # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice - # - # @param invoicing_cycle_configuration [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Bps::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. - # - # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed - # - # @param model_type [Symbol, :bps] - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Bps#bps_config - class BpsConfig < Orb::Internal::Type::BaseModel - # @!attribute bps - # Basis point take rate per event - # - # @return [Float] - required :bps, Float - - # @!attribute per_unit_maximum - # Optional currency amount maximum to cap spend per event - # - # @return [String, nil] - optional :per_unit_maximum, String, nil?: true - - # @!method initialize(bps:, per_unit_maximum: nil) - # @param bps [Float] Basis point take rate per event - # - # @param per_unit_maximum [String, nil] Optional currency amount maximum to cap spend per event - end - - # The cadence to bill for this price on. - # - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Bps#cadence - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL = :annual - SEMI_ANNUAL = :semi_annual - MONTHLY = :monthly - QUARTERLY = :quarterly - ONE_TIME = :one_time - CUSTOM = :custom - - # @!method self.values - # @return [Array] - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Bps#billing_cycle_configuration - class BillingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateParams::PriceEvaluation::Price::Bps::BillingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bps::BillingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @param duration [Integer] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Bps::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Bps::BillingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Bps#dimensional_price_configuration - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # The list of dimension values matching (in order) the dimensions of the price - # group - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String] - - # @!attribute dimensional_price_group_id - # The id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :dimensional_price_group_id, String, nil?: true - - # @!attribute external_dimensional_price_group_id - # The external id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :external_dimensional_price_group_id, String, nil?: true - - # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) - # Some parameter documentations has been truncated, see - # {Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Bps::DimensionalPriceConfiguration} - # for more details. - # - # For dimensional price: specifies a price group and dimension values - # - # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro - # - # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in - # - # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Bps#invoicing_cycle_configuration - class InvoicingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateParams::PriceEvaluation::Price::Bps::InvoicingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bps::InvoicingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # 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] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Bps::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Bps::InvoicingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - end - - class BulkBps < Orb::Internal::Type::BaseModel - # @!attribute bulk_bps_config - # - # @return [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::BulkBpsConfig] - required :bulk_bps_config, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::BulkBpsConfig - } - - # @!attribute cadence - # The cadence to bill for this price on. - # - # @return [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::Cadence] - required :cadence, enum: -> { Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::Cadence } - - # @!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 price will be associated with. - # - # @return [String] - required :item_id, String - - # @!attribute model_type - # - # @return [Symbol, :bulk_bps] - required :model_type, const: :bulk_bps - - # @!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::Internal::Type::Boolean, nil?: true - - # @!attribute billing_cycle_configuration - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @return [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::BillingCycleConfiguration, nil] - optional :billing_cycle_configuration, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::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 dimensional_price_configuration - # For dimensional price: specifies a price group and dimension values - # - # @return [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::DimensionalPriceConfiguration, nil] - optional :dimensional_price_configuration, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::DimensionalPriceConfiguration - }, - 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::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::InvoicingCycleConfiguration, nil] - optional :invoicing_cycle_configuration, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::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::Internal::Type::HashOf[String, nil?: true], nil?: true - - # @!method initialize(bulk_bps_config:, cadence:, currency:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :bulk_bps) - # Some parameter documentations has been truncated, see - # {Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::BulkBps} for more - # details. - # - # @param bulk_bps_config [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::BulkBpsConfig] - # - # @param cadence [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::Cadence] The cadence to bill for this price on. - # - # @param currency [String] An ISO 4217 currency string for which this price is billed in. - # - # @param item_id [String] The id of the item the price will be associated with. - # - # @param name [String] The name of the price. - # - # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b - # - # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi - # - # @param billing_cycle_configuration [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont - # - # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. - # - # @param dimensional_price_configuration [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values - # - # @param external_price_id [String, nil] An alias for the price. - # - # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl - # - # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice - # - # @param invoicing_cycle_configuration [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. - # - # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed - # - # @param model_type [Symbol, :bulk_bps] - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::BulkBps#bulk_bps_config - class BulkBpsConfig < Orb::Internal::Type::BaseModel - # @!attribute tiers - # Tiers for a bulk BPS pricing model where all usage is aggregated to a single - # tier based on total volume - # - # @return [Array] - required :tiers, - -> { - Orb::Internal::Type::ArrayOf[Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::BulkBpsConfig::Tier] - } - - # @!method initialize(tiers:) - # Some parameter documentations has been truncated, see - # {Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::BulkBpsConfig} - # for more details. - # - # @param tiers [Array] Tiers for a bulk BPS pricing model where all usage is aggregated to a single tie - - class Tier < Orb::Internal::Type::BaseModel - # @!attribute bps - # Basis points to rate on - # - # @return [Float] - required :bps, Float - - # @!attribute maximum_amount - # Upper bound for tier - # - # @return [String, nil] - optional :maximum_amount, String, nil?: true - - # @!attribute per_unit_maximum - # The maximum amount to charge for any one event - # - # @return [String, nil] - optional :per_unit_maximum, String, nil?: true - - # @!method initialize(bps:, maximum_amount: nil, per_unit_maximum: nil) - # @param bps [Float] Basis points to rate on - # - # @param maximum_amount [String, nil] Upper bound for tier - # - # @param per_unit_maximum [String, nil] The maximum amount to charge for any one event - end - end - - # The cadence to bill for this price on. - # - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::BulkBps#cadence - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL = :annual - SEMI_ANNUAL = :semi_annual - MONTHLY = :monthly - QUARTERLY = :quarterly - ONE_TIME = :one_time - CUSTOM = :custom - - # @!method self.values - # @return [Array] - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::BulkBps#billing_cycle_configuration - class BillingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::BillingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::BillingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @param duration [Integer] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::BillingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::BulkBps#dimensional_price_configuration - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # The list of dimension values matching (in order) the dimensions of the price - # group - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String] - - # @!attribute dimensional_price_group_id - # The id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :dimensional_price_group_id, String, nil?: true - - # @!attribute external_dimensional_price_group_id - # The external id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :external_dimensional_price_group_id, String, nil?: true - - # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) - # Some parameter documentations has been truncated, see - # {Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::DimensionalPriceConfiguration} - # for more details. - # - # For dimensional price: specifies a price group and dimension values - # - # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro - # - # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in - # - # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::BulkBps#invoicing_cycle_configuration - class InvoicingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # 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] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::InvoicingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - end - - class Bulk < Orb::Internal::Type::BaseModel - # @!attribute bulk_config - # - # @return [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Bulk::BulkConfig] - required :bulk_config, -> { Orb::PriceEvaluateParams::PriceEvaluation::Price::Bulk::BulkConfig } - - # @!attribute cadence - # The cadence to bill for this price on. - # - # @return [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Bulk::Cadence] - required :cadence, enum: -> { Orb::PriceEvaluateParams::PriceEvaluation::Price::Bulk::Cadence } - - # @!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 price will be associated with. - # - # @return [String] - required :item_id, String - - # @!attribute model_type - # - # @return [Symbol, :bulk] - required :model_type, const: :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::Internal::Type::Boolean, nil?: true - - # @!attribute billing_cycle_configuration - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @return [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Bulk::BillingCycleConfiguration, nil] - optional :billing_cycle_configuration, - -> { Orb::PriceEvaluateParams::PriceEvaluation::Price::Bulk::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 dimensional_price_configuration - # For dimensional price: specifies a price group and dimension values - # - # @return [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Bulk::DimensionalPriceConfiguration, nil] - optional :dimensional_price_configuration, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bulk::DimensionalPriceConfiguration - }, - 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::PriceEvaluateParams::PriceEvaluation::Price::Bulk::InvoicingCycleConfiguration, nil] - optional :invoicing_cycle_configuration, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bulk::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::Internal::Type::HashOf[String, nil?: true], nil?: true - - # @!method initialize(bulk_config:, cadence:, currency:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :bulk) - # Some parameter documentations has been truncated, see - # {Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Bulk} for more - # details. - # - # @param bulk_config [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Bulk::BulkConfig] - # - # @param cadence [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Bulk::Cadence] The cadence to bill for this price on. - # - # @param currency [String] An ISO 4217 currency string for which this price is billed in. - # - # @param item_id [String] The id of the item the price will be associated with. - # - # @param name [String] The name of the price. - # - # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b - # - # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi - # - # @param billing_cycle_configuration [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Bulk::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont - # - # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. - # - # @param dimensional_price_configuration [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Bulk::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values - # - # @param external_price_id [String, nil] An alias for the price. - # - # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl - # - # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice - # - # @param invoicing_cycle_configuration [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Bulk::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. - # - # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed - # - # @param model_type [Symbol, :bulk] - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Bulk#bulk_config - class BulkConfig < Orb::Internal::Type::BaseModel - # @!attribute tiers - # Bulk tiers for rating based on total usage volume - # - # @return [Array] - required :tiers, - -> { - Orb::Internal::Type::ArrayOf[Orb::PriceEvaluateParams::PriceEvaluation::Price::Bulk::BulkConfig::Tier] - } - - # @!method initialize(tiers:) - # @param tiers [Array] Bulk tiers for rating based on total usage volume - - class Tier < Orb::Internal::Type::BaseModel - # @!attribute unit_amount - # Amount per unit - # - # @return [String] - required :unit_amount, String - - # @!attribute maximum_units - # Upper bound for this tier - # - # @return [Float, nil] - optional :maximum_units, Float, nil?: true - - # @!method initialize(unit_amount:, maximum_units: nil) - # @param unit_amount [String] Amount per unit - # - # @param maximum_units [Float, nil] Upper bound for this tier - end - end - - # The cadence to bill for this price on. - # - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Bulk#cadence - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL = :annual - SEMI_ANNUAL = :semi_annual - MONTHLY = :monthly - QUARTERLY = :quarterly - ONE_TIME = :one_time - CUSTOM = :custom - - # @!method self.values - # @return [Array] - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Bulk#billing_cycle_configuration - class BillingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateParams::PriceEvaluation::Price::Bulk::BillingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bulk::BillingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @param duration [Integer] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Bulk::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Bulk::BillingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Bulk#dimensional_price_configuration - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # The list of dimension values matching (in order) the dimensions of the price - # group - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String] - - # @!attribute dimensional_price_group_id - # The id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :dimensional_price_group_id, String, nil?: true - - # @!attribute external_dimensional_price_group_id - # The external id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :external_dimensional_price_group_id, String, nil?: true - - # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) - # Some parameter documentations has been truncated, see - # {Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Bulk::DimensionalPriceConfiguration} - # for more details. - # - # For dimensional price: specifies a price group and dimension values - # - # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro - # - # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in - # - # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Bulk#invoicing_cycle_configuration - class InvoicingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateParams::PriceEvaluation::Price::Bulk::InvoicingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bulk::InvoicingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # 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] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Bulk::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Bulk::InvoicingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - end - - class ThresholdTotalAmount < Orb::Internal::Type::BaseModel - # @!attribute cadence - # The cadence to bill for this price on. - # - # @return [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::Cadence] - required :cadence, - enum: -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::Cadence - } - - # @!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 price will be associated with. - # - # @return [String] - required :item_id, String - - # @!attribute model_type - # - # @return [Symbol, :threshold_total_amount] - required :model_type, const: :threshold_total_amount - - # @!attribute name - # The name of the price. - # - # @return [String] - required :name, String - - # @!attribute threshold_total_amount_config - # - # @return [Hash{Symbol=>Object}] - required :threshold_total_amount_config, Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] - - # @!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::Internal::Type::Boolean, nil?: true - - # @!attribute billing_cycle_configuration - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @return [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::BillingCycleConfiguration, nil] - optional :billing_cycle_configuration, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::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 dimensional_price_configuration - # For dimensional price: specifies a price group and dimension values - # - # @return [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::DimensionalPriceConfiguration, nil] - optional :dimensional_price_configuration, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::DimensionalPriceConfiguration - }, - 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::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::InvoicingCycleConfiguration, nil] - optional :invoicing_cycle_configuration, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::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::Internal::Type::HashOf[String, nil?: true], nil?: true - - # @!method initialize(cadence:, currency:, item_id:, name:, threshold_total_amount_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :threshold_total_amount) - # Some parameter documentations has been truncated, see - # {Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount} - # for more details. - # - # @param cadence [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::Cadence] The cadence to bill for this price on. - # - # @param currency [String] An ISO 4217 currency string for which this price is billed in. - # - # @param item_id [String] The id of the item the price will be associated with. - # - # @param name [String] The name of the price. - # - # @param threshold_total_amount_config [Hash{Symbol=>Object}] - # - # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b - # - # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi - # - # @param billing_cycle_configuration [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont - # - # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. - # - # @param dimensional_price_configuration [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values - # - # @param external_price_id [String, nil] An alias for the price. - # - # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl - # - # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice - # - # @param invoicing_cycle_configuration [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. - # - # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed - # - # @param model_type [Symbol, :threshold_total_amount] - - # The cadence to bill for this price on. - # - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount#cadence - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL = :annual - SEMI_ANNUAL = :semi_annual - MONTHLY = :monthly - QUARTERLY = :quarterly - ONE_TIME = :one_time - CUSTOM = :custom - - # @!method self.values - # @return [Array] - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount#billing_cycle_configuration - class BillingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @param duration [Integer] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::BillingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount#dimensional_price_configuration - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # The list of dimension values matching (in order) the dimensions of the price - # group - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String] - - # @!attribute dimensional_price_group_id - # The id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :dimensional_price_group_id, String, nil?: true - - # @!attribute external_dimensional_price_group_id - # The external id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :external_dimensional_price_group_id, String, nil?: true - - # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) - # Some parameter documentations has been truncated, see - # {Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::DimensionalPriceConfiguration} - # for more details. - # - # For dimensional price: specifies a price group and dimension values - # - # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro - # - # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in - # - # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount#invoicing_cycle_configuration - class InvoicingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # 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] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::InvoicingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - end - - class TieredPackage < Orb::Internal::Type::BaseModel - # @!attribute cadence - # The cadence to bill for this price on. - # - # @return [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::Cadence] - required :cadence, - enum: -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::Cadence - } - - # @!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 price will be associated with. - # - # @return [String] - required :item_id, String - - # @!attribute model_type - # - # @return [Symbol, :tiered_package] - required :model_type, const: :tiered_package - - # @!attribute name - # The name of the price. - # - # @return [String] - required :name, String - - # @!attribute tiered_package_config - # - # @return [Hash{Symbol=>Object}] - required :tiered_package_config, Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] - - # @!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::Internal::Type::Boolean, nil?: true - - # @!attribute billing_cycle_configuration - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @return [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::BillingCycleConfiguration, nil] - optional :billing_cycle_configuration, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::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 dimensional_price_configuration - # For dimensional price: specifies a price group and dimension values - # - # @return [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::DimensionalPriceConfiguration, nil] - optional :dimensional_price_configuration, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::DimensionalPriceConfiguration - }, - 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::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::InvoicingCycleConfiguration, nil] - optional :invoicing_cycle_configuration, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::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::Internal::Type::HashOf[String, nil?: true], nil?: true - - # @!method initialize(cadence:, currency:, item_id:, name:, tiered_package_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :tiered_package) - # Some parameter documentations has been truncated, see - # {Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage} for - # more details. - # - # @param cadence [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::Cadence] The cadence to bill for this price on. - # - # @param currency [String] An ISO 4217 currency string for which this price is billed in. - # - # @param item_id [String] The id of the item the price will be associated with. - # - # @param name [String] The name of the price. - # - # @param tiered_package_config [Hash{Symbol=>Object}] - # - # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b - # - # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi - # - # @param billing_cycle_configuration [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont - # - # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. - # - # @param dimensional_price_configuration [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values - # - # @param external_price_id [String, nil] An alias for the price. - # - # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl - # - # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice - # - # @param invoicing_cycle_configuration [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. - # - # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed - # - # @param model_type [Symbol, :tiered_package] - - # The cadence to bill for this price on. - # - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage#cadence - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL = :annual - SEMI_ANNUAL = :semi_annual - MONTHLY = :monthly - QUARTERLY = :quarterly - ONE_TIME = :one_time - CUSTOM = :custom - - # @!method self.values - # @return [Array] - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage#billing_cycle_configuration - class BillingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::BillingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::BillingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @param duration [Integer] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::BillingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage#dimensional_price_configuration - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # The list of dimension values matching (in order) the dimensions of the price - # group - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String] - - # @!attribute dimensional_price_group_id - # The id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :dimensional_price_group_id, String, nil?: true - - # @!attribute external_dimensional_price_group_id - # The external id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :external_dimensional_price_group_id, String, nil?: true - - # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) - # Some parameter documentations has been truncated, see - # {Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::DimensionalPriceConfiguration} - # for more details. - # - # For dimensional price: specifies a price group and dimension values - # - # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro - # - # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in - # - # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage#invoicing_cycle_configuration - class InvoicingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # 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] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::InvoicingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - end - - class GroupedTiered < Orb::Internal::Type::BaseModel - # @!attribute cadence - # The cadence to bill for this price on. - # - # @return [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::Cadence] - required :cadence, - enum: -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::Cadence - } - - # @!attribute currency - # An ISO 4217 currency string for which this price is billed in. - # - # @return [String] - required :currency, String - - # @!attribute grouped_tiered_config - # - # @return [Hash{Symbol=>Object}] - required :grouped_tiered_config, Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] - - # @!attribute item_id - # The id of the item the price will be associated with. - # - # @return [String] - required :item_id, String - - # @!attribute model_type - # - # @return [Symbol, :grouped_tiered] - required :model_type, const: :grouped_tiered - - # @!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::Internal::Type::Boolean, nil?: true - - # @!attribute billing_cycle_configuration - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @return [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::BillingCycleConfiguration, nil] - optional :billing_cycle_configuration, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::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 dimensional_price_configuration - # For dimensional price: specifies a price group and dimension values - # - # @return [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::DimensionalPriceConfiguration, nil] - optional :dimensional_price_configuration, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::DimensionalPriceConfiguration - }, - 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::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::InvoicingCycleConfiguration, nil] - optional :invoicing_cycle_configuration, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::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::Internal::Type::HashOf[String, nil?: true], nil?: true - - # @!method initialize(cadence:, currency:, grouped_tiered_config:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :grouped_tiered) - # Some parameter documentations has been truncated, see - # {Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered} for - # more details. - # - # @param cadence [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::Cadence] The cadence to bill for this price on. - # - # @param currency [String] An ISO 4217 currency string for which this price is billed in. - # - # @param grouped_tiered_config [Hash{Symbol=>Object}] - # - # @param item_id [String] The id of the item the price will be associated with. - # - # @param name [String] The name of the price. - # - # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b - # - # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi - # - # @param billing_cycle_configuration [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont - # - # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. - # - # @param dimensional_price_configuration [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values - # - # @param external_price_id [String, nil] An alias for the price. - # - # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl - # - # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice - # - # @param invoicing_cycle_configuration [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. - # - # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed - # - # @param model_type [Symbol, :grouped_tiered] - - # The cadence to bill for this price on. - # - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered#cadence - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL = :annual - SEMI_ANNUAL = :semi_annual - MONTHLY = :monthly - QUARTERLY = :quarterly - ONE_TIME = :one_time - CUSTOM = :custom - - # @!method self.values - # @return [Array] - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered#billing_cycle_configuration - class BillingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @param duration [Integer] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::BillingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered#dimensional_price_configuration - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # The list of dimension values matching (in order) the dimensions of the price - # group - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String] - - # @!attribute dimensional_price_group_id - # The id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :dimensional_price_group_id, String, nil?: true - - # @!attribute external_dimensional_price_group_id - # The external id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :external_dimensional_price_group_id, String, nil?: true - - # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) - # Some parameter documentations has been truncated, see - # {Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::DimensionalPriceConfiguration} - # for more details. - # - # For dimensional price: specifies a price group and dimension values - # - # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro - # - # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in - # - # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered#invoicing_cycle_configuration - class InvoicingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # 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] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::InvoicingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - end - - class MaxGroupTieredPackage < Orb::Internal::Type::BaseModel - # @!attribute cadence - # The cadence to bill for this price on. - # - # @return [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::Cadence] - required :cadence, - enum: -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::Cadence - } - - # @!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 price will be associated with. - # - # @return [String] - required :item_id, String - - # @!attribute max_group_tiered_package_config - # - # @return [Hash{Symbol=>Object}] - required :max_group_tiered_package_config, - Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] - - # @!attribute model_type - # - # @return [Symbol, :max_group_tiered_package] - required :model_type, const: :max_group_tiered_package - - # @!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::Internal::Type::Boolean, nil?: true - - # @!attribute billing_cycle_configuration - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @return [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::BillingCycleConfiguration, nil] - optional :billing_cycle_configuration, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::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 dimensional_price_configuration - # For dimensional price: specifies a price group and dimension values - # - # @return [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration, nil] - optional :dimensional_price_configuration, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration - }, - 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::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration, nil] - optional :invoicing_cycle_configuration, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::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::Internal::Type::HashOf[String, nil?: true], nil?: true - - # @!method initialize(cadence:, currency:, item_id:, max_group_tiered_package_config:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :max_group_tiered_package) - # Some parameter documentations has been truncated, see - # {Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage} - # for more details. - # - # @param cadence [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::Cadence] The cadence to bill for this price on. - # - # @param currency [String] An ISO 4217 currency string for which this price is billed in. - # - # @param item_id [String] The id of the item the price will be associated with. - # - # @param max_group_tiered_package_config [Hash{Symbol=>Object}] - # - # @param name [String] The name of the price. - # - # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b - # - # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi - # - # @param billing_cycle_configuration [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont - # - # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. - # - # @param dimensional_price_configuration [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values - # - # @param external_price_id [String, nil] An alias for the price. - # - # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl - # - # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice - # - # @param invoicing_cycle_configuration [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. - # - # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed - # - # @param model_type [Symbol, :max_group_tiered_package] - - # The cadence to bill for this price on. - # - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage#cadence - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL = :annual - SEMI_ANNUAL = :semi_annual - MONTHLY = :monthly - QUARTERLY = :quarterly - ONE_TIME = :one_time - CUSTOM = :custom - - # @!method self.values - # @return [Array] - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage#billing_cycle_configuration - class BillingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @param duration [Integer] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::BillingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage#dimensional_price_configuration - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # The list of dimension values matching (in order) the dimensions of the price - # group - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String] - - # @!attribute dimensional_price_group_id - # The id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :dimensional_price_group_id, String, nil?: true - - # @!attribute external_dimensional_price_group_id - # The external id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :external_dimensional_price_group_id, String, nil?: true - - # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) - # Some parameter documentations has been truncated, see - # {Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration} - # for more details. - # - # For dimensional price: specifies a price group and dimension values - # - # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro - # - # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in - # - # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage#invoicing_cycle_configuration - class InvoicingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # 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] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - end - - class TieredWithMinimum < Orb::Internal::Type::BaseModel - # @!attribute cadence - # The cadence to bill for this price on. - # - # @return [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::Cadence] - required :cadence, - enum: -> { Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::Cadence } - - # @!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 price will be associated with. - # - # @return [String] - required :item_id, String - - # @!attribute model_type - # - # @return [Symbol, :tiered_with_minimum] - required :model_type, const: :tiered_with_minimum - - # @!attribute name - # The name of the price. - # - # @return [String] - required :name, String - - # @!attribute tiered_with_minimum_config - # - # @return [Hash{Symbol=>Object}] - required :tiered_with_minimum_config, Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] - - # @!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::Internal::Type::Boolean, nil?: true - - # @!attribute billing_cycle_configuration - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @return [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::BillingCycleConfiguration, nil] - optional :billing_cycle_configuration, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::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 dimensional_price_configuration - # For dimensional price: specifies a price group and dimension values - # - # @return [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::DimensionalPriceConfiguration, nil] - optional :dimensional_price_configuration, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::DimensionalPriceConfiguration - }, - 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::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::InvoicingCycleConfiguration, nil] - optional :invoicing_cycle_configuration, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::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::Internal::Type::HashOf[String, nil?: true], nil?: true - - # @!method initialize(cadence:, currency:, item_id:, name:, tiered_with_minimum_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :tiered_with_minimum) - # Some parameter documentations has been truncated, see - # {Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum} - # for more details. - # - # @param cadence [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::Cadence] The cadence to bill for this price on. - # - # @param currency [String] An ISO 4217 currency string for which this price is billed in. - # - # @param item_id [String] The id of the item the price will be associated with. - # - # @param name [String] The name of the price. - # - # @param tiered_with_minimum_config [Hash{Symbol=>Object}] - # - # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b - # - # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi - # - # @param billing_cycle_configuration [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont - # - # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. - # - # @param dimensional_price_configuration [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values - # - # @param external_price_id [String, nil] An alias for the price. - # - # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl - # - # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice - # - # @param invoicing_cycle_configuration [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. - # - # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed - # - # @param model_type [Symbol, :tiered_with_minimum] - - # The cadence to bill for this price on. - # - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum#cadence - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL = :annual - SEMI_ANNUAL = :semi_annual - MONTHLY = :monthly - QUARTERLY = :quarterly - ONE_TIME = :one_time - CUSTOM = :custom - - # @!method self.values - # @return [Array] - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum#billing_cycle_configuration - class BillingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @param duration [Integer] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::BillingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum#dimensional_price_configuration - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # The list of dimension values matching (in order) the dimensions of the price - # group - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String] - - # @!attribute dimensional_price_group_id - # The id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :dimensional_price_group_id, String, nil?: true - - # @!attribute external_dimensional_price_group_id - # The external id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :external_dimensional_price_group_id, String, nil?: true - - # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) - # Some parameter documentations has been truncated, see - # {Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::DimensionalPriceConfiguration} - # for more details. - # - # For dimensional price: specifies a price group and dimension values - # - # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro - # - # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in - # - # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum#invoicing_cycle_configuration - class InvoicingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # 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] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::InvoicingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - end - - class PackageWithAllocation < Orb::Internal::Type::BaseModel - # @!attribute cadence - # The cadence to bill for this price on. - # - # @return [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::Cadence] - required :cadence, - enum: -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::Cadence - } - - # @!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 price will be associated with. - # - # @return [String] - required :item_id, String - - # @!attribute model_type - # - # @return [Symbol, :package_with_allocation] - required :model_type, const: :package_with_allocation - - # @!attribute name - # The name of the price. - # - # @return [String] - required :name, String - - # @!attribute package_with_allocation_config - # - # @return [Hash{Symbol=>Object}] - required :package_with_allocation_config, - Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] - - # @!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::Internal::Type::Boolean, nil?: true - - # @!attribute billing_cycle_configuration - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @return [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::BillingCycleConfiguration, nil] - optional :billing_cycle_configuration, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::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 dimensional_price_configuration - # For dimensional price: specifies a price group and dimension values - # - # @return [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::DimensionalPriceConfiguration, nil] - optional :dimensional_price_configuration, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::DimensionalPriceConfiguration - }, - 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::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::InvoicingCycleConfiguration, nil] - optional :invoicing_cycle_configuration, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::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::Internal::Type::HashOf[String, nil?: true], nil?: true - - # @!method initialize(cadence:, currency:, item_id:, name:, package_with_allocation_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :package_with_allocation) - # Some parameter documentations has been truncated, see - # {Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation} - # for more details. - # - # @param cadence [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::Cadence] The cadence to bill for this price on. - # - # @param currency [String] An ISO 4217 currency string for which this price is billed in. - # - # @param item_id [String] The id of the item the price will be associated with. - # - # @param name [String] The name of the price. - # - # @param package_with_allocation_config [Hash{Symbol=>Object}] - # - # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b - # - # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi - # - # @param billing_cycle_configuration [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont - # - # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. - # - # @param dimensional_price_configuration [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values - # - # @param external_price_id [String, nil] An alias for the price. - # - # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl - # - # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice - # - # @param invoicing_cycle_configuration [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. - # - # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed - # - # @param model_type [Symbol, :package_with_allocation] - - # The cadence to bill for this price on. - # - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation#cadence - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL = :annual - SEMI_ANNUAL = :semi_annual - MONTHLY = :monthly - QUARTERLY = :quarterly - ONE_TIME = :one_time - CUSTOM = :custom - - # @!method self.values - # @return [Array] - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation#billing_cycle_configuration - class BillingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @param duration [Integer] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::BillingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation#dimensional_price_configuration - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # The list of dimension values matching (in order) the dimensions of the price - # group - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String] - - # @!attribute dimensional_price_group_id - # The id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :dimensional_price_group_id, String, nil?: true - - # @!attribute external_dimensional_price_group_id - # The external id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :external_dimensional_price_group_id, String, nil?: true - - # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) - # Some parameter documentations has been truncated, see - # {Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::DimensionalPriceConfiguration} - # for more details. - # - # For dimensional price: specifies a price group and dimension values - # - # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro - # - # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in - # - # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation#invoicing_cycle_configuration - class InvoicingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # 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] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::InvoicingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - end - - class TieredPackageWithMinimum < Orb::Internal::Type::BaseModel - # @!attribute cadence - # The cadence to bill for this price on. - # - # @return [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::Cadence] - required :cadence, - enum: -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::Cadence - } - - # @!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 price will be associated with. - # - # @return [String] - required :item_id, String - - # @!attribute model_type - # - # @return [Symbol, :tiered_package_with_minimum] - required :model_type, const: :tiered_package_with_minimum - - # @!attribute name - # The name of the price. - # - # @return [String] - required :name, String - - # @!attribute tiered_package_with_minimum_config - # - # @return [Hash{Symbol=>Object}] - required :tiered_package_with_minimum_config, - Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] - - # @!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::Internal::Type::Boolean, nil?: true - - # @!attribute billing_cycle_configuration - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @return [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::BillingCycleConfiguration, nil] - optional :billing_cycle_configuration, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::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 dimensional_price_configuration - # For dimensional price: specifies a price group and dimension values - # - # @return [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration, nil] - optional :dimensional_price_configuration, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration - }, - 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::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration, nil] - optional :invoicing_cycle_configuration, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::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::Internal::Type::HashOf[String, nil?: true], nil?: true - - # @!method initialize(cadence:, currency:, item_id:, name:, tiered_package_with_minimum_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :tiered_package_with_minimum) - # Some parameter documentations has been truncated, see - # {Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum} - # for more details. - # - # @param cadence [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::Cadence] The cadence to bill for this price on. - # - # @param currency [String] An ISO 4217 currency string for which this price is billed in. - # - # @param item_id [String] The id of the item the price will be associated with. - # - # @param name [String] The name of the price. - # - # @param tiered_package_with_minimum_config [Hash{Symbol=>Object}] - # - # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b - # - # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi - # - # @param billing_cycle_configuration [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont - # - # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. - # - # @param dimensional_price_configuration [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values - # - # @param external_price_id [String, nil] An alias for the price. - # - # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl - # - # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice - # - # @param invoicing_cycle_configuration [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. - # - # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed - # - # @param model_type [Symbol, :tiered_package_with_minimum] - - # The cadence to bill for this price on. - # - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum#cadence - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL = :annual - SEMI_ANNUAL = :semi_annual - MONTHLY = :monthly - QUARTERLY = :quarterly - ONE_TIME = :one_time - CUSTOM = :custom - - # @!method self.values - # @return [Array] - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum#billing_cycle_configuration - class BillingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @param duration [Integer] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::BillingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum#dimensional_price_configuration - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # The list of dimension values matching (in order) the dimensions of the price - # group - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String] - - # @!attribute dimensional_price_group_id - # The id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :dimensional_price_group_id, String, nil?: true - - # @!attribute external_dimensional_price_group_id - # The external id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :external_dimensional_price_group_id, String, nil?: true - - # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) - # Some parameter documentations has been truncated, see - # {Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration} - # for more details. - # - # For dimensional price: specifies a price group and dimension values - # - # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro - # - # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in - # - # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum#invoicing_cycle_configuration - class InvoicingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # 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] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - end - - class UnitWithPercent < Orb::Internal::Type::BaseModel - # @!attribute cadence - # The cadence to bill for this price on. - # - # @return [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::Cadence] - required :cadence, - enum: -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::Cadence - } - - # @!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 price will be associated with. - # - # @return [String] - required :item_id, String - - # @!attribute model_type - # - # @return [Symbol, :unit_with_percent] - required :model_type, const: :unit_with_percent - - # @!attribute name - # The name of the price. - # - # @return [String] - required :name, String - - # @!attribute unit_with_percent_config - # - # @return [Hash{Symbol=>Object}] - required :unit_with_percent_config, Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] - - # @!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::Internal::Type::Boolean, nil?: true - - # @!attribute billing_cycle_configuration - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @return [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::BillingCycleConfiguration, nil] - optional :billing_cycle_configuration, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::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 dimensional_price_configuration - # For dimensional price: specifies a price group and dimension values - # - # @return [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::DimensionalPriceConfiguration, nil] - optional :dimensional_price_configuration, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::DimensionalPriceConfiguration - }, - 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::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::InvoicingCycleConfiguration, nil] - optional :invoicing_cycle_configuration, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::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::Internal::Type::HashOf[String, nil?: true], nil?: true - - # @!method initialize(cadence:, currency:, item_id:, name:, unit_with_percent_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :unit_with_percent) - # Some parameter documentations has been truncated, see - # {Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent} for - # more details. - # - # @param cadence [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::Cadence] The cadence to bill for this price on. - # - # @param currency [String] An ISO 4217 currency string for which this price is billed in. - # - # @param item_id [String] The id of the item the price will be associated with. - # - # @param name [String] The name of the price. - # - # @param unit_with_percent_config [Hash{Symbol=>Object}] - # - # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b - # - # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi - # - # @param billing_cycle_configuration [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont - # - # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. - # - # @param dimensional_price_configuration [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values - # - # @param external_price_id [String, nil] An alias for the price. - # - # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl - # - # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice - # - # @param invoicing_cycle_configuration [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. - # - # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed - # - # @param model_type [Symbol, :unit_with_percent] - - # The cadence to bill for this price on. - # - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent#cadence - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL = :annual - SEMI_ANNUAL = :semi_annual - MONTHLY = :monthly - QUARTERLY = :quarterly - ONE_TIME = :one_time - CUSTOM = :custom - - # @!method self.values - # @return [Array] - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent#billing_cycle_configuration - class BillingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @param duration [Integer] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::BillingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent#dimensional_price_configuration - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # The list of dimension values matching (in order) the dimensions of the price - # group - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String] - - # @!attribute dimensional_price_group_id - # The id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :dimensional_price_group_id, String, nil?: true - - # @!attribute external_dimensional_price_group_id - # The external id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :external_dimensional_price_group_id, String, nil?: true - - # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) - # Some parameter documentations has been truncated, see - # {Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::DimensionalPriceConfiguration} - # for more details. - # - # For dimensional price: specifies a price group and dimension values - # - # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro - # - # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in - # - # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent#invoicing_cycle_configuration - class InvoicingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # 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] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::InvoicingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - end - - class TieredWithProration < Orb::Internal::Type::BaseModel - # @!attribute cadence - # The cadence to bill for this price on. - # - # @return [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::Cadence] - required :cadence, - enum: -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::Cadence - } - - # @!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 price will be associated with. - # - # @return [String] - required :item_id, String - - # @!attribute model_type - # - # @return [Symbol, :tiered_with_proration] - required :model_type, const: :tiered_with_proration - - # @!attribute name - # The name of the price. - # - # @return [String] - required :name, String - - # @!attribute tiered_with_proration_config - # - # @return [Hash{Symbol=>Object}] - required :tiered_with_proration_config, Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] - - # @!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::Internal::Type::Boolean, nil?: true - - # @!attribute billing_cycle_configuration - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @return [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::BillingCycleConfiguration, nil] - optional :billing_cycle_configuration, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::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 dimensional_price_configuration - # For dimensional price: specifies a price group and dimension values - # - # @return [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::DimensionalPriceConfiguration, nil] - optional :dimensional_price_configuration, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::DimensionalPriceConfiguration - }, - 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::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::InvoicingCycleConfiguration, nil] - optional :invoicing_cycle_configuration, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::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::Internal::Type::HashOf[String, nil?: true], nil?: true - - # @!method initialize(cadence:, currency:, item_id:, name:, tiered_with_proration_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :tiered_with_proration) - # Some parameter documentations has been truncated, see - # {Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration} - # for more details. - # - # @param cadence [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::Cadence] The cadence to bill for this price on. - # - # @param currency [String] An ISO 4217 currency string for which this price is billed in. - # - # @param item_id [String] The id of the item the price will be associated with. - # - # @param name [String] The name of the price. - # - # @param tiered_with_proration_config [Hash{Symbol=>Object}] - # - # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b - # - # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi - # - # @param billing_cycle_configuration [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont - # - # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. - # - # @param dimensional_price_configuration [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values - # - # @param external_price_id [String, nil] An alias for the price. - # - # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl - # - # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice - # - # @param invoicing_cycle_configuration [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. - # - # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed - # - # @param model_type [Symbol, :tiered_with_proration] - - # The cadence to bill for this price on. - # - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration#cadence - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL = :annual - SEMI_ANNUAL = :semi_annual - MONTHLY = :monthly - QUARTERLY = :quarterly - ONE_TIME = :one_time - CUSTOM = :custom - - # @!method self.values - # @return [Array] - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration#billing_cycle_configuration - class BillingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @param duration [Integer] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::BillingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration#dimensional_price_configuration - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # The list of dimension values matching (in order) the dimensions of the price - # group - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String] - - # @!attribute dimensional_price_group_id - # The id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :dimensional_price_group_id, String, nil?: true - - # @!attribute external_dimensional_price_group_id - # The external id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :external_dimensional_price_group_id, String, nil?: true - - # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) - # Some parameter documentations has been truncated, see - # {Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::DimensionalPriceConfiguration} - # for more details. - # - # For dimensional price: specifies a price group and dimension values - # - # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro - # - # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in - # - # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration#invoicing_cycle_configuration - class InvoicingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # 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] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::InvoicingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - end - - class UnitWithProration < Orb::Internal::Type::BaseModel - # @!attribute cadence - # The cadence to bill for this price on. - # - # @return [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::Cadence] - required :cadence, - enum: -> { Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::Cadence } - - # @!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 price will be associated with. - # - # @return [String] - required :item_id, String - - # @!attribute model_type - # - # @return [Symbol, :unit_with_proration] - required :model_type, const: :unit_with_proration - - # @!attribute name - # The name of the price. - # - # @return [String] - required :name, String - - # @!attribute unit_with_proration_config - # - # @return [Hash{Symbol=>Object}] - required :unit_with_proration_config, Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] - - # @!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::Internal::Type::Boolean, nil?: true - - # @!attribute billing_cycle_configuration - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @return [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::BillingCycleConfiguration, nil] - optional :billing_cycle_configuration, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::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 dimensional_price_configuration - # For dimensional price: specifies a price group and dimension values - # - # @return [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::DimensionalPriceConfiguration, nil] - optional :dimensional_price_configuration, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::DimensionalPriceConfiguration - }, - 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::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::InvoicingCycleConfiguration, nil] - optional :invoicing_cycle_configuration, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::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::Internal::Type::HashOf[String, nil?: true], nil?: true - - # @!method initialize(cadence:, currency:, item_id:, name:, unit_with_proration_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :unit_with_proration) - # Some parameter documentations has been truncated, see - # {Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration} - # for more details. - # - # @param cadence [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::Cadence] The cadence to bill for this price on. - # - # @param currency [String] An ISO 4217 currency string for which this price is billed in. - # - # @param item_id [String] The id of the item the price will be associated with. - # - # @param name [String] The name of the price. - # - # @param unit_with_proration_config [Hash{Symbol=>Object}] - # - # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b - # - # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi - # - # @param billing_cycle_configuration [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont - # - # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. - # - # @param dimensional_price_configuration [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values - # - # @param external_price_id [String, nil] An alias for the price. - # - # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl - # - # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice - # - # @param invoicing_cycle_configuration [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. - # - # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed - # - # @param model_type [Symbol, :unit_with_proration] - - # The cadence to bill for this price on. - # - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration#cadence - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL = :annual - SEMI_ANNUAL = :semi_annual - MONTHLY = :monthly - QUARTERLY = :quarterly - ONE_TIME = :one_time - CUSTOM = :custom - - # @!method self.values - # @return [Array] - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration#billing_cycle_configuration - class BillingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @param duration [Integer] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::BillingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration#dimensional_price_configuration - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # The list of dimension values matching (in order) the dimensions of the price - # group - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String] - - # @!attribute dimensional_price_group_id - # The id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :dimensional_price_group_id, String, nil?: true - - # @!attribute external_dimensional_price_group_id - # The external id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :external_dimensional_price_group_id, String, nil?: true - - # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) - # Some parameter documentations has been truncated, see - # {Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::DimensionalPriceConfiguration} - # for more details. - # - # For dimensional price: specifies a price group and dimension values - # - # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro - # - # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in - # - # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration#invoicing_cycle_configuration - class InvoicingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # 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] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::InvoicingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - end - - class GroupedAllocation < Orb::Internal::Type::BaseModel - # @!attribute cadence - # The cadence to bill for this price on. - # - # @return [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::Cadence] - required :cadence, - enum: -> { Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::Cadence } - - # @!attribute currency - # An ISO 4217 currency string for which this price is billed in. - # - # @return [String] - required :currency, String - - # @!attribute grouped_allocation_config - # - # @return [Hash{Symbol=>Object}] - required :grouped_allocation_config, Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] - - # @!attribute item_id - # The id of the item the price will be associated with. - # - # @return [String] - required :item_id, String - - # @!attribute model_type - # - # @return [Symbol, :grouped_allocation] - required :model_type, const: :grouped_allocation - - # @!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::Internal::Type::Boolean, nil?: true - - # @!attribute billing_cycle_configuration - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @return [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::BillingCycleConfiguration, nil] - optional :billing_cycle_configuration, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::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 dimensional_price_configuration - # For dimensional price: specifies a price group and dimension values - # - # @return [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::DimensionalPriceConfiguration, nil] - optional :dimensional_price_configuration, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::DimensionalPriceConfiguration - }, - 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::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::InvoicingCycleConfiguration, nil] - optional :invoicing_cycle_configuration, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::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::Internal::Type::HashOf[String, nil?: true], nil?: true - - # @!method initialize(cadence:, currency:, grouped_allocation_config:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :grouped_allocation) - # Some parameter documentations has been truncated, see - # {Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation} - # for more details. - # - # @param cadence [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::Cadence] The cadence to bill for this price on. - # - # @param currency [String] An ISO 4217 currency string for which this price is billed in. - # - # @param grouped_allocation_config [Hash{Symbol=>Object}] - # - # @param item_id [String] The id of the item the price will be associated with. - # - # @param name [String] The name of the price. - # - # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b - # - # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi - # - # @param billing_cycle_configuration [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont - # - # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. - # - # @param dimensional_price_configuration [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values - # - # @param external_price_id [String, nil] An alias for the price. - # - # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl - # - # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice - # - # @param invoicing_cycle_configuration [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. - # - # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed - # - # @param model_type [Symbol, :grouped_allocation] - - # The cadence to bill for this price on. - # - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation#cadence - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL = :annual - SEMI_ANNUAL = :semi_annual - MONTHLY = :monthly - QUARTERLY = :quarterly - ONE_TIME = :one_time - CUSTOM = :custom - - # @!method self.values - # @return [Array] - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation#billing_cycle_configuration - class BillingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @param duration [Integer] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::BillingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation#dimensional_price_configuration - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # The list of dimension values matching (in order) the dimensions of the price - # group - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String] - - # @!attribute dimensional_price_group_id - # The id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :dimensional_price_group_id, String, nil?: true - - # @!attribute external_dimensional_price_group_id - # The external id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :external_dimensional_price_group_id, String, nil?: true - - # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) - # Some parameter documentations has been truncated, see - # {Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::DimensionalPriceConfiguration} - # for more details. - # - # For dimensional price: specifies a price group and dimension values - # - # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro - # - # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in - # - # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation#invoicing_cycle_configuration - class InvoicingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # 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] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::InvoicingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - end - - class GroupedWithProratedMinimum < Orb::Internal::Type::BaseModel - # @!attribute cadence - # The cadence to bill for this price on. - # - # @return [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::Cadence] - required :cadence, - enum: -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::Cadence - } - - # @!attribute currency - # An ISO 4217 currency string for which this price is billed in. - # - # @return [String] - required :currency, String - - # @!attribute grouped_with_prorated_minimum_config - # - # @return [Hash{Symbol=>Object}] - required :grouped_with_prorated_minimum_config, - Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] - - # @!attribute item_id - # The id of the item the price will be associated with. - # - # @return [String] - required :item_id, String - - # @!attribute model_type - # - # @return [Symbol, :grouped_with_prorated_minimum] - required :model_type, const: :grouped_with_prorated_minimum - - # @!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::Internal::Type::Boolean, nil?: true - - # @!attribute billing_cycle_configuration - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @return [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::BillingCycleConfiguration, nil] - optional :billing_cycle_configuration, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::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 dimensional_price_configuration - # For dimensional price: specifies a price group and dimension values - # - # @return [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration, nil] - optional :dimensional_price_configuration, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration - }, - 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::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration, nil] - optional :invoicing_cycle_configuration, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::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::Internal::Type::HashOf[String, nil?: true], nil?: true - - # @!method initialize(cadence:, currency:, grouped_with_prorated_minimum_config:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :grouped_with_prorated_minimum) - # Some parameter documentations has been truncated, see - # {Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum} - # for more details. - # - # @param cadence [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::Cadence] The cadence to bill for this price on. - # - # @param currency [String] An ISO 4217 currency string for which this price is billed in. - # - # @param grouped_with_prorated_minimum_config [Hash{Symbol=>Object}] - # - # @param item_id [String] The id of the item the price will be associated with. - # - # @param name [String] The name of the price. - # - # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b - # - # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi - # - # @param billing_cycle_configuration [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont - # - # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. - # - # @param dimensional_price_configuration [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values - # - # @param external_price_id [String, nil] An alias for the price. - # - # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl - # - # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice - # - # @param invoicing_cycle_configuration [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. - # - # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed - # - # @param model_type [Symbol, :grouped_with_prorated_minimum] - - # The cadence to bill for this price on. - # - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum#cadence - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL = :annual - SEMI_ANNUAL = :semi_annual - MONTHLY = :monthly - QUARTERLY = :quarterly - ONE_TIME = :one_time - CUSTOM = :custom - - # @!method self.values - # @return [Array] - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum#billing_cycle_configuration - class BillingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @param duration [Integer] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::BillingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum#dimensional_price_configuration - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # The list of dimension values matching (in order) the dimensions of the price - # group - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String] - - # @!attribute dimensional_price_group_id - # The id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :dimensional_price_group_id, String, nil?: true - - # @!attribute external_dimensional_price_group_id - # The external id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :external_dimensional_price_group_id, String, nil?: true - - # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) - # Some parameter documentations has been truncated, see - # {Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration} - # for more details. - # - # For dimensional price: specifies a price group and dimension values - # - # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro - # - # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in - # - # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum#invoicing_cycle_configuration - class InvoicingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # 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] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - end - - class GroupedWithMeteredMinimum < Orb::Internal::Type::BaseModel - # @!attribute cadence - # The cadence to bill for this price on. - # - # @return [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::Cadence] - required :cadence, - enum: -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::Cadence - } - - # @!attribute currency - # An ISO 4217 currency string for which this price is billed in. - # - # @return [String] - required :currency, String - - # @!attribute grouped_with_metered_minimum_config - # - # @return [Hash{Symbol=>Object}] - required :grouped_with_metered_minimum_config, - Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] - - # @!attribute item_id - # The id of the item the price will be associated with. - # - # @return [String] - required :item_id, String - - # @!attribute model_type - # - # @return [Symbol, :grouped_with_metered_minimum] - required :model_type, const: :grouped_with_metered_minimum - - # @!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::Internal::Type::Boolean, nil?: true - - # @!attribute billing_cycle_configuration - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @return [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration, nil] - optional :billing_cycle_configuration, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::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 dimensional_price_configuration - # For dimensional price: specifies a price group and dimension values - # - # @return [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration, nil] - optional :dimensional_price_configuration, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration - }, - 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::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration, nil] - optional :invoicing_cycle_configuration, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::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::Internal::Type::HashOf[String, nil?: true], nil?: true - - # @!method initialize(cadence:, currency:, grouped_with_metered_minimum_config:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :grouped_with_metered_minimum) - # Some parameter documentations has been truncated, see - # {Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum} - # for more details. - # - # @param cadence [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::Cadence] The cadence to bill for this price on. - # - # @param currency [String] An ISO 4217 currency string for which this price is billed in. - # - # @param grouped_with_metered_minimum_config [Hash{Symbol=>Object}] - # - # @param item_id [String] The id of the item the price will be associated with. - # - # @param name [String] The name of the price. - # - # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b - # - # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi - # - # @param billing_cycle_configuration [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont - # - # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. - # - # @param dimensional_price_configuration [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values - # - # @param external_price_id [String, nil] An alias for the price. - # - # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl - # - # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice - # - # @param invoicing_cycle_configuration [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. - # - # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed - # - # @param model_type [Symbol, :grouped_with_metered_minimum] - - # The cadence to bill for this price on. - # - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum#cadence - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL = :annual - SEMI_ANNUAL = :semi_annual - MONTHLY = :monthly - QUARTERLY = :quarterly - ONE_TIME = :one_time - CUSTOM = :custom - - # @!method self.values - # @return [Array] - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum#billing_cycle_configuration - class BillingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @param duration [Integer] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum#dimensional_price_configuration - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # The list of dimension values matching (in order) the dimensions of the price - # group - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String] - - # @!attribute dimensional_price_group_id - # The id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :dimensional_price_group_id, String, nil?: true - - # @!attribute external_dimensional_price_group_id - # The external id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :external_dimensional_price_group_id, String, nil?: true - - # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) - # Some parameter documentations has been truncated, see - # {Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration} - # for more details. - # - # For dimensional price: specifies a price group and dimension values - # - # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro - # - # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in - # - # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum#invoicing_cycle_configuration - class InvoicingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # 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] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - end - - class MatrixWithDisplayName < Orb::Internal::Type::BaseModel - # @!attribute cadence - # The cadence to bill for this price on. - # - # @return [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::Cadence] - required :cadence, - enum: -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::Cadence - } - - # @!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 price will be associated with. - # - # @return [String] - required :item_id, String - - # @!attribute matrix_with_display_name_config - # - # @return [Hash{Symbol=>Object}] - required :matrix_with_display_name_config, - Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] - - # @!attribute model_type - # - # @return [Symbol, :matrix_with_display_name] - required :model_type, const: :matrix_with_display_name - - # @!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::Internal::Type::Boolean, nil?: true - - # @!attribute billing_cycle_configuration - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @return [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::BillingCycleConfiguration, nil] - optional :billing_cycle_configuration, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::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 dimensional_price_configuration - # For dimensional price: specifies a price group and dimension values - # - # @return [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::DimensionalPriceConfiguration, nil] - optional :dimensional_price_configuration, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::DimensionalPriceConfiguration - }, - 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::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::InvoicingCycleConfiguration, nil] - optional :invoicing_cycle_configuration, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::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::Internal::Type::HashOf[String, nil?: true], nil?: true - - # @!method initialize(cadence:, currency:, item_id:, matrix_with_display_name_config:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :matrix_with_display_name) - # Some parameter documentations has been truncated, see - # {Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName} - # for more details. - # - # @param cadence [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::Cadence] The cadence to bill for this price on. - # - # @param currency [String] An ISO 4217 currency string for which this price is billed in. - # - # @param item_id [String] The id of the item the price will be associated with. - # - # @param matrix_with_display_name_config [Hash{Symbol=>Object}] - # - # @param name [String] The name of the price. - # - # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b - # - # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi - # - # @param billing_cycle_configuration [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont - # - # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. - # - # @param dimensional_price_configuration [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values - # - # @param external_price_id [String, nil] An alias for the price. - # - # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl - # - # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice - # - # @param invoicing_cycle_configuration [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. - # - # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed - # - # @param model_type [Symbol, :matrix_with_display_name] - - # The cadence to bill for this price on. - # - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName#cadence - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL = :annual - SEMI_ANNUAL = :semi_annual - MONTHLY = :monthly - QUARTERLY = :quarterly - ONE_TIME = :one_time - CUSTOM = :custom - - # @!method self.values - # @return [Array] - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName#billing_cycle_configuration - class BillingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @param duration [Integer] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::BillingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName#dimensional_price_configuration - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # The list of dimension values matching (in order) the dimensions of the price - # group - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String] - - # @!attribute dimensional_price_group_id - # The id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :dimensional_price_group_id, String, nil?: true - - # @!attribute external_dimensional_price_group_id - # The external id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :external_dimensional_price_group_id, String, nil?: true - - # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) - # Some parameter documentations has been truncated, see - # {Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::DimensionalPriceConfiguration} - # for more details. - # - # For dimensional price: specifies a price group and dimension values - # - # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro - # - # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in - # - # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName#invoicing_cycle_configuration - class InvoicingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # 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] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::InvoicingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - end - - class BulkWithProration < Orb::Internal::Type::BaseModel - # @!attribute bulk_with_proration_config - # - # @return [Hash{Symbol=>Object}] - required :bulk_with_proration_config, Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] - - # @!attribute cadence - # The cadence to bill for this price on. - # - # @return [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::Cadence] - required :cadence, - enum: -> { Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::Cadence } - - # @!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 price will be associated with. - # - # @return [String] - required :item_id, String - - # @!attribute model_type - # - # @return [Symbol, :bulk_with_proration] - required :model_type, const: :bulk_with_proration - - # @!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::Internal::Type::Boolean, nil?: true - - # @!attribute billing_cycle_configuration - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @return [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::BillingCycleConfiguration, nil] - optional :billing_cycle_configuration, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::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 dimensional_price_configuration - # For dimensional price: specifies a price group and dimension values - # - # @return [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::DimensionalPriceConfiguration, nil] - optional :dimensional_price_configuration, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::DimensionalPriceConfiguration - }, - 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::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::InvoicingCycleConfiguration, nil] - optional :invoicing_cycle_configuration, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::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::Internal::Type::HashOf[String, nil?: true], nil?: true - - # @!method initialize(bulk_with_proration_config:, cadence:, currency:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :bulk_with_proration) - # Some parameter documentations has been truncated, see - # {Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration} - # for more details. - # - # @param bulk_with_proration_config [Hash{Symbol=>Object}] - # - # @param cadence [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::Cadence] The cadence to bill for this price on. - # - # @param currency [String] An ISO 4217 currency string for which this price is billed in. - # - # @param item_id [String] The id of the item the price will be associated with. - # - # @param name [String] The name of the price. - # - # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b - # - # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi - # - # @param billing_cycle_configuration [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont - # - # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. - # - # @param dimensional_price_configuration [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values - # - # @param external_price_id [String, nil] An alias for the price. - # - # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl - # - # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice - # - # @param invoicing_cycle_configuration [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. - # - # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed - # - # @param model_type [Symbol, :bulk_with_proration] - - # The cadence to bill for this price on. - # - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration#cadence - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL = :annual - SEMI_ANNUAL = :semi_annual - MONTHLY = :monthly - QUARTERLY = :quarterly - ONE_TIME = :one_time - CUSTOM = :custom - - # @!method self.values - # @return [Array] - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration#billing_cycle_configuration - class BillingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @param duration [Integer] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::BillingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration#dimensional_price_configuration - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # The list of dimension values matching (in order) the dimensions of the price - # group - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String] - - # @!attribute dimensional_price_group_id - # The id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :dimensional_price_group_id, String, nil?: true - - # @!attribute external_dimensional_price_group_id - # The external id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :external_dimensional_price_group_id, String, nil?: true - - # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) - # Some parameter documentations has been truncated, see - # {Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::DimensionalPriceConfiguration} - # for more details. - # - # For dimensional price: specifies a price group and dimension values - # - # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro - # - # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in - # - # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration#invoicing_cycle_configuration - class InvoicingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # 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] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::InvoicingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - end - - class GroupedTieredPackage < Orb::Internal::Type::BaseModel - # @!attribute cadence - # The cadence to bill for this price on. - # - # @return [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::Cadence] - required :cadence, - enum: -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::Cadence - } - - # @!attribute currency - # An ISO 4217 currency string for which this price is billed in. - # - # @return [String] - required :currency, String - - # @!attribute grouped_tiered_package_config - # - # @return [Hash{Symbol=>Object}] - required :grouped_tiered_package_config, Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] - - # @!attribute item_id - # The id of the item the price will be associated with. - # - # @return [String] - required :item_id, String - - # @!attribute model_type - # - # @return [Symbol, :grouped_tiered_package] - required :model_type, const: :grouped_tiered_package - - # @!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::Internal::Type::Boolean, nil?: true - - # @!attribute billing_cycle_configuration - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @return [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::BillingCycleConfiguration, nil] - optional :billing_cycle_configuration, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::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 dimensional_price_configuration - # For dimensional price: specifies a price group and dimension values - # - # @return [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::DimensionalPriceConfiguration, nil] - optional :dimensional_price_configuration, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::DimensionalPriceConfiguration - }, - 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::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::InvoicingCycleConfiguration, nil] - optional :invoicing_cycle_configuration, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::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::Internal::Type::HashOf[String, nil?: true], nil?: true - - # @!method initialize(cadence:, currency:, grouped_tiered_package_config:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :grouped_tiered_package) - # Some parameter documentations has been truncated, see - # {Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage} - # for more details. - # - # @param cadence [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::Cadence] The cadence to bill for this price on. - # - # @param currency [String] An ISO 4217 currency string for which this price is billed in. - # - # @param grouped_tiered_package_config [Hash{Symbol=>Object}] - # - # @param item_id [String] The id of the item the price will be associated with. - # - # @param name [String] The name of the price. - # - # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b - # - # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi - # - # @param billing_cycle_configuration [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont - # - # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. - # - # @param dimensional_price_configuration [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values - # - # @param external_price_id [String, nil] An alias for the price. - # - # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl - # - # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice - # - # @param invoicing_cycle_configuration [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. - # - # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed - # - # @param model_type [Symbol, :grouped_tiered_package] - - # The cadence to bill for this price on. - # - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage#cadence - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL = :annual - SEMI_ANNUAL = :semi_annual - MONTHLY = :monthly - QUARTERLY = :quarterly - ONE_TIME = :one_time - CUSTOM = :custom - - # @!method self.values - # @return [Array] - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage#billing_cycle_configuration - class BillingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @param duration [Integer] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::BillingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage#dimensional_price_configuration - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # The list of dimension values matching (in order) the dimensions of the price - # group - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String] - - # @!attribute dimensional_price_group_id - # The id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :dimensional_price_group_id, String, nil?: true - - # @!attribute external_dimensional_price_group_id - # The external id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :external_dimensional_price_group_id, String, nil?: true - - # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) - # Some parameter documentations has been truncated, see - # {Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::DimensionalPriceConfiguration} - # for more details. - # - # For dimensional price: specifies a price group and dimension values - # - # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro - # - # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in - # - # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage#invoicing_cycle_configuration - class InvoicingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # 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] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::InvoicingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - end - - class ScalableMatrixWithUnitPricing < Orb::Internal::Type::BaseModel - # @!attribute cadence - # The cadence to bill for this price on. - # - # @return [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::Cadence] - required :cadence, - enum: -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::Cadence - } - - # @!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 price will be associated with. - # - # @return [String] - required :item_id, String - - # @!attribute model_type - # - # @return [Symbol, :scalable_matrix_with_unit_pricing] - required :model_type, const: :scalable_matrix_with_unit_pricing - - # @!attribute name - # The name of the price. - # - # @return [String] - required :name, String - - # @!attribute scalable_matrix_with_unit_pricing_config - # - # @return [Hash{Symbol=>Object}] - required :scalable_matrix_with_unit_pricing_config, - Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] - - # @!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::Internal::Type::Boolean, nil?: true - - # @!attribute billing_cycle_configuration - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @return [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration, nil] - optional :billing_cycle_configuration, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::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 dimensional_price_configuration - # For dimensional price: specifies a price group and dimension values - # - # @return [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration, nil] - optional :dimensional_price_configuration, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration - }, - 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::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration, nil] - optional :invoicing_cycle_configuration, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::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::Internal::Type::HashOf[String, nil?: true], nil?: true - - # @!method initialize(cadence:, currency:, item_id:, name:, scalable_matrix_with_unit_pricing_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :scalable_matrix_with_unit_pricing) - # Some parameter documentations has been truncated, see - # {Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing} - # for more details. - # - # @param cadence [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::Cadence] The cadence to bill for this price on. - # - # @param currency [String] An ISO 4217 currency string for which this price is billed in. - # - # @param item_id [String] The id of the item the price will be associated with. - # - # @param name [String] The name of the price. - # - # @param scalable_matrix_with_unit_pricing_config [Hash{Symbol=>Object}] - # - # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b - # - # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi - # - # @param billing_cycle_configuration [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont - # - # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. - # - # @param dimensional_price_configuration [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values - # - # @param external_price_id [String, nil] An alias for the price. - # - # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl - # - # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice - # - # @param invoicing_cycle_configuration [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. - # - # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed - # - # @param model_type [Symbol, :scalable_matrix_with_unit_pricing] - - # The cadence to bill for this price on. - # - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing#cadence - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL = :annual - SEMI_ANNUAL = :semi_annual - MONTHLY = :monthly - QUARTERLY = :quarterly - ONE_TIME = :one_time - CUSTOM = :custom - - # @!method self.values - # @return [Array] - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing#billing_cycle_configuration - class BillingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @param duration [Integer] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing#dimensional_price_configuration - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # The list of dimension values matching (in order) the dimensions of the price - # group - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String] - - # @!attribute dimensional_price_group_id - # The id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :dimensional_price_group_id, String, nil?: true - - # @!attribute external_dimensional_price_group_id - # The external id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :external_dimensional_price_group_id, String, nil?: true - - # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) - # Some parameter documentations has been truncated, see - # {Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration} - # for more details. - # - # For dimensional price: specifies a price group and dimension values - # - # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro - # - # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in - # - # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing#invoicing_cycle_configuration - class InvoicingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # 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] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - end - - class ScalableMatrixWithTieredPricing < Orb::Internal::Type::BaseModel - # @!attribute cadence - # The cadence to bill for this price on. - # - # @return [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::Cadence] - required :cadence, - enum: -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::Cadence - } - - # @!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 price will be associated with. - # - # @return [String] - required :item_id, String - - # @!attribute model_type - # - # @return [Symbol, :scalable_matrix_with_tiered_pricing] - required :model_type, const: :scalable_matrix_with_tiered_pricing - - # @!attribute name - # The name of the price. - # - # @return [String] - required :name, String - - # @!attribute scalable_matrix_with_tiered_pricing_config - # - # @return [Hash{Symbol=>Object}] - required :scalable_matrix_with_tiered_pricing_config, - Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown] - - # @!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::Internal::Type::Boolean, nil?: true - - # @!attribute billing_cycle_configuration - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @return [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration, nil] - optional :billing_cycle_configuration, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::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 dimensional_price_configuration - # For dimensional price: specifies a price group and dimension values - # - # @return [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration, nil] - optional :dimensional_price_configuration, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration - }, - 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::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration, nil] - optional :invoicing_cycle_configuration, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::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::Internal::Type::HashOf[String, nil?: true], nil?: true - - # @!method initialize(cadence:, currency:, item_id:, name:, scalable_matrix_with_tiered_pricing_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :scalable_matrix_with_tiered_pricing) - # Some parameter documentations has been truncated, see - # {Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing} - # for more details. - # - # @param cadence [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::Cadence] The cadence to bill for this price on. - # - # @param currency [String] An ISO 4217 currency string for which this price is billed in. - # - # @param item_id [String] The id of the item the price will be associated with. - # - # @param name [String] The name of the price. - # - # @param scalable_matrix_with_tiered_pricing_config [Hash{Symbol=>Object}] - # - # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b - # - # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi - # - # @param billing_cycle_configuration [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont - # - # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. - # - # @param dimensional_price_configuration [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values - # - # @param external_price_id [String, nil] An alias for the price. - # - # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl - # - # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice - # - # @param invoicing_cycle_configuration [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. - # - # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed - # - # @param model_type [Symbol, :scalable_matrix_with_tiered_pricing] - - # The cadence to bill for this price on. - # - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing#cadence - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL = :annual - SEMI_ANNUAL = :semi_annual - MONTHLY = :monthly - QUARTERLY = :quarterly - ONE_TIME = :one_time - CUSTOM = :custom - - # @!method self.values - # @return [Array] - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing#billing_cycle_configuration - class BillingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @param duration [Integer] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing#dimensional_price_configuration - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # The list of dimension values matching (in order) the dimensions of the price - # group - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String] - - # @!attribute dimensional_price_group_id - # The id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :dimensional_price_group_id, String, nil?: true - - # @!attribute external_dimensional_price_group_id - # The external id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :external_dimensional_price_group_id, String, nil?: true - - # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) - # Some parameter documentations has been truncated, see - # {Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration} - # for more details. - # - # For dimensional price: specifies a price group and dimension values - # - # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro - # - # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in - # - # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing#invoicing_cycle_configuration - class InvoicingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # 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] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - end - - class CumulativeGroupedBulk < Orb::Internal::Type::BaseModel - # @!attribute cadence - # The cadence to bill for this price on. - # - # @return [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::Cadence] - required :cadence, - enum: -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::Cadence - } - - # @!attribute cumulative_grouped_bulk_config - # - # @return [Hash{Symbol=>Object}] - required :cumulative_grouped_bulk_config, - Orb::Internal::Type::HashOf[Orb::Internal::Type::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 price 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::Internal::Type::Boolean, nil?: true - - # @!attribute billing_cycle_configuration - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @return [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::BillingCycleConfiguration, nil] - optional :billing_cycle_configuration, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::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 dimensional_price_configuration - # For dimensional price: specifies a price group and dimension values - # - # @return [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration, nil] - optional :dimensional_price_configuration, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration - }, - 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::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration, nil] - optional :invoicing_cycle_configuration, - -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::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::Internal::Type::HashOf[String, nil?: true], nil?: true - - # @!method 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, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, metadata: nil, model_type: :cumulative_grouped_bulk) - # Some parameter documentations has been truncated, see - # {Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk} - # for more details. - # - # @param cadence [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::Cadence] The cadence to bill for this price on. - # - # @param cumulative_grouped_bulk_config [Hash{Symbol=>Object}] - # - # @param currency [String] An ISO 4217 currency string for which this price is billed in. - # - # @param item_id [String] The id of the item the price will be associated with. - # - # @param name [String] The name of the price. - # - # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b - # - # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi - # - # @param billing_cycle_configuration [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::BillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont - # - # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency. - # - # @param dimensional_price_configuration [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values - # - # @param external_price_id [String, nil] An alias for the price. - # - # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl - # - # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice - # - # @param invoicing_cycle_configuration [Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced. - # - # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed - # - # @param model_type [Symbol, :cumulative_grouped_bulk] - - # The cadence to bill for this price on. - # - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk#cadence - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL = :annual - SEMI_ANNUAL = :semi_annual - MONTHLY = :monthly - QUARTERLY = :quarterly - ONE_TIME = :one_time - CUSTOM = :custom - - # @!method self.values - # @return [Array] - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk#billing_cycle_configuration - class BillingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # For custom cadence: specifies the duration of the billing period in days or - # months. - # - # @param duration [Integer] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::BillingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk#dimensional_price_configuration - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - # @!attribute dimension_values - # The list of dimension values matching (in order) the dimensions of the price - # group - # - # @return [Array] - required :dimension_values, Orb::Internal::Type::ArrayOf[String] - - # @!attribute dimensional_price_group_id - # The id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :dimensional_price_group_id, String, nil?: true - - # @!attribute external_dimensional_price_group_id - # The external id of the dimensional price group to include this price in - # - # @return [String, nil] - optional :external_dimensional_price_group_id, String, nil?: true - - # @!method initialize(dimension_values:, dimensional_price_group_id: nil, external_dimensional_price_group_id: nil) - # Some parameter documentations has been truncated, see - # {Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration} - # for more details. - # - # For dimensional price: specifies a price group and dimension values - # - # @param dimension_values [Array] The list of dimension values matching (in order) the dimensions of the price gro - # - # @param dimensional_price_group_id [String, nil] The id of the dimensional price group to include this price in - # - # @param external_dimensional_price_group_id [String, nil] The external id of the dimensional price group to include this price in - end - - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk#invoicing_cycle_configuration - class InvoicingCycleConfiguration < Orb::Internal::Type::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::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit] - required :duration_unit, - enum: -> { - Orb::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit - } - - # @!method initialize(duration:, duration_unit:) - # 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] The duration of the billing period. - # - # @param duration_unit [Symbol, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit] The unit of billing period duration. - - # The unit of billing period duration. - # - # @see Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration#duration_unit - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY = :day - MONTH = :month - - # @!method self.values - # @return [Array] - end - end - end - - # @!method self.variants - # @return [Array(Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Unit, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Package, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Matrix, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Tiered, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredBps, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Bps, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::BulkBps, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Bulk, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing, Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk)] - end - end end end end diff --git a/lib/orb/models/price_evaluate_response.rb b/lib/orb/models/price_evaluate_response.rb index 7c7813aa..f70e2b52 100644 --- a/lib/orb/models/price_evaluate_response.rb +++ b/lib/orb/models/price_evaluate_response.rb @@ -6,46 +6,11 @@ module Models class PriceEvaluateResponse < Orb::Internal::Type::BaseModel # @!attribute data # - # @return [Array] - required :data, -> { Orb::Internal::Type::ArrayOf[Orb::Models::PriceEvaluateResponse::Data] } + # @return [Array] + required :data, -> { Orb::Internal::Type::ArrayOf[Orb::EvaluatePriceGroup] } # @!method initialize(data:) - # @param data [Array] - - class Data < Orb::Internal::Type::BaseModel - # @!attribute currency - # The currency of the price - # - # @return [String] - required :currency, String - - # @!attribute price_groups - # The computed price groups associated with input price. - # - # @return [Array] - required :price_groups, -> { Orb::Internal::Type::ArrayOf[Orb::EvaluatePriceGroup] } - - # @!attribute inline_price_index - # The index of the inline price - # - # @return [Integer, nil] - optional :inline_price_index, Integer, nil?: true - - # @!attribute price_id - # The ID of the price - # - # @return [String, nil] - optional :price_id, String, nil?: true - - # @!method initialize(currency:, price_groups:, inline_price_index: nil, price_id: nil) - # @param currency [String] The currency of the price - # - # @param price_groups [Array] The computed price groups associated with input price. - # - # @param inline_price_index [Integer, nil] The index of the inline price - # - # @param price_id [String, nil] The ID of the price - end + # @param data [Array] end end end diff --git a/lib/orb/resources/beta.rb b/lib/orb/resources/beta.rb new file mode 100644 index 00000000..0dcffdb1 --- /dev/null +++ b/lib/orb/resources/beta.rb @@ -0,0 +1,115 @@ +# frozen_string_literal: true + +module Orb + module Resources + class Beta + # @return [Orb::Resources::Beta::ExternalPlanID] + attr_reader :external_plan_id + + # This API endpoint is in beta and its interface may change. It is recommended for + # use only in test mode. + # + # This endpoint allows the creation of a new plan version for an existing plan. + # + # @overload create_plan_version(plan_id, version:, add_adjustments: nil, add_prices: nil, remove_adjustments: nil, remove_prices: nil, replace_adjustments: nil, replace_prices: nil, set_as_default: nil, request_options: {}) + # + # @param plan_id [String] + # + # @param version [Integer] New version number. + # + # @param add_adjustments [Array, nil] Additional adjustments to be added to the plan. + # + # @param add_prices [Array, nil] Additional prices to be added to the plan. + # + # @param remove_adjustments [Array, nil] Adjustments to be removed from the plan. + # + # @param remove_prices [Array, nil] Prices to be removed from the plan. + # + # @param replace_adjustments [Array, nil] Adjustments to be replaced with additional adjustments on the plan. + # + # @param replace_prices [Array, nil] Prices to be replaced with additional prices on the plan. + # + # @param set_as_default [Boolean, nil] Set this new plan version as the default + # + # @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}, nil] + # + # @return [Orb::Models::PlanVersion] + # + # @see Orb::Models::BetaCreatePlanVersionParams + def create_plan_version(plan_id, params) + parsed, options = Orb::BetaCreatePlanVersionParams.dump_request(params) + @client.request( + method: :post, + path: ["plans/%1$s/versions", plan_id], + body: parsed, + model: Orb::PlanVersion, + options: options + ) + end + + # This API endpoint is in beta and its interface may change. It is recommended for + # use only in test mode. + # + # This endpoint is used to fetch a plan version. It returns the phases, prices, + # and adjustments present on this version of the plan. + # + # @overload fetch_plan_version(version, plan_id:, request_options: {}) + # + # @param version [String] + # @param plan_id [String] + # @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}, nil] + # + # @return [Orb::Models::PlanVersion] + # + # @see Orb::Models::BetaFetchPlanVersionParams + def fetch_plan_version(version, params) + parsed, options = Orb::BetaFetchPlanVersionParams.dump_request(params) + plan_id = + parsed.delete(:plan_id) do + raise ArgumentError.new("missing required path argument #{_1}") + end + @client.request( + method: :get, + path: ["plans/%1$s/versions/%2$s", plan_id, version], + model: Orb::PlanVersion, + options: options + ) + end + + # This API endpoint is in beta and its interface may change. It is recommended for + # use only in test mode. + # + # This endpoint allows setting the default version of a plan. + # + # @overload set_default_plan_version(plan_id, version:, request_options: {}) + # + # @param plan_id [String] + # + # @param version [Integer] Plan version to set as the default. + # + # @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}, nil] + # + # @return [Orb::Models::Plan] + # + # @see Orb::Models::BetaSetDefaultPlanVersionParams + def set_default_plan_version(plan_id, params) + parsed, options = Orb::BetaSetDefaultPlanVersionParams.dump_request(params) + @client.request( + method: :post, + path: ["plans/%1$s/set_default_version", plan_id], + body: parsed, + model: Orb::Plan, + options: options + ) + end + + # @api private + # + # @param client [Orb::Client] + def initialize(client:) + @client = client + @external_plan_id = Orb::Resources::Beta::ExternalPlanID.new(client: client) + end + end + end +end diff --git a/lib/orb/resources/beta/external_plan_id.rb b/lib/orb/resources/beta/external_plan_id.rb new file mode 100644 index 00000000..4a609681 --- /dev/null +++ b/lib/orb/resources/beta/external_plan_id.rb @@ -0,0 +1,113 @@ +# frozen_string_literal: true + +module Orb + module Resources + class Beta + class ExternalPlanID + # This API endpoint is in beta and its interface may change. It is recommended for + # use only in test mode. + # + # This endpoint allows the creation of a new plan version for an existing plan. + # + # @overload create_plan_version(external_plan_id, version:, add_adjustments: nil, add_prices: nil, remove_adjustments: nil, remove_prices: nil, replace_adjustments: nil, replace_prices: nil, set_as_default: nil, request_options: {}) + # + # @param external_plan_id [String] + # + # @param version [Integer] New version number. + # + # @param add_adjustments [Array, nil] Additional adjustments to be added to the plan. + # + # @param add_prices [Array, nil] Additional prices to be added to the plan. + # + # @param remove_adjustments [Array, nil] Adjustments to be removed from the plan. + # + # @param remove_prices [Array, nil] Prices to be removed from the plan. + # + # @param replace_adjustments [Array, nil] Adjustments to be replaced with additional adjustments on the plan. + # + # @param replace_prices [Array, nil] Prices to be replaced with additional prices on the plan. + # + # @param set_as_default [Boolean, nil] Set this new plan version as the default + # + # @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}, nil] + # + # @return [Orb::Models::PlanVersion] + # + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams + def create_plan_version(external_plan_id, params) + parsed, options = Orb::Beta::ExternalPlanIDCreatePlanVersionParams.dump_request(params) + @client.request( + method: :post, + path: ["plans/external_plan_id/%1$s/versions", external_plan_id], + body: parsed, + model: Orb::PlanVersion, + options: options + ) + end + + # This API endpoint is in beta and its interface may change. It is recommended for + # use only in test mode. + # + # This endpoint is used to fetch a plan version. It returns the phases, prices, + # and adjustments present on this version of the plan. + # + # @overload fetch_plan_version(version, external_plan_id:, request_options: {}) + # + # @param version [String] + # @param external_plan_id [String] + # @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}, nil] + # + # @return [Orb::Models::PlanVersion] + # + # @see Orb::Models::Beta::ExternalPlanIDFetchPlanVersionParams + def fetch_plan_version(version, params) + parsed, options = Orb::Beta::ExternalPlanIDFetchPlanVersionParams.dump_request(params) + external_plan_id = + parsed.delete(:external_plan_id) do + raise ArgumentError.new("missing required path argument #{_1}") + end + @client.request( + method: :get, + path: ["plans/external_plan_id/%1$s/versions/%2$s", external_plan_id, version], + model: Orb::PlanVersion, + options: options + ) + end + + # This API endpoint is in beta and its interface may change. It is recommended for + # use only in test mode. + # + # This endpoint allows setting the default version of a plan. + # + # @overload set_default_plan_version(external_plan_id, version:, request_options: {}) + # + # @param external_plan_id [String] + # + # @param version [Integer] Plan version to set as the default. + # + # @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}, nil] + # + # @return [Orb::Models::Plan] + # + # @see Orb::Models::Beta::ExternalPlanIDSetDefaultPlanVersionParams + def set_default_plan_version(external_plan_id, params) + parsed, options = Orb::Beta::ExternalPlanIDSetDefaultPlanVersionParams.dump_request(params) + @client.request( + method: :post, + path: ["plans/external_plan_id/%1$s/set_default_version", external_plan_id], + body: parsed, + model: Orb::Plan, + options: options + ) + end + + # @api private + # + # @param client [Orb::Client] + def initialize(client:) + @client = client + end + end + end + end +end diff --git a/lib/orb/resources/plans.rb b/lib/orb/resources/plans.rb index 7cc6ad8c..f9b33296 100644 --- a/lib/orb/resources/plans.rb +++ b/lib/orb/resources/plans.rb @@ -6,9 +6,6 @@ class Plans # @return [Orb::Resources::Plans::ExternalPlanID] attr_reader :external_plan_id - # @return [Orb::Resources::Plans::Versions] - attr_reader :versions - # Some parameter documentations has been truncated, see # {Orb::Models::PlanCreateParams} for more details. # @@ -156,40 +153,12 @@ def fetch(plan_id, params = {}) ) end - # This API endpoint is in beta and its interface may change. It is recommended for - # use only in test mode. - # - # This endpoint allows setting the default version of a plan. - # - # @overload set_default_version(plan_id, version:, request_options: {}) - # - # @param plan_id [String] - # - # @param version [Integer] Plan version to set as the default. - # - # @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}, nil] - # - # @return [Orb::Models::Plan] - # - # @see Orb::Models::PlanSetDefaultVersionParams - def set_default_version(plan_id, params) - parsed, options = Orb::PlanSetDefaultVersionParams.dump_request(params) - @client.request( - method: :post, - path: ["plans/%1$s/set_default_version", plan_id], - body: parsed, - model: Orb::Plan, - options: options - ) - end - # @api private # # @param client [Orb::Client] def initialize(client:) @client = client @external_plan_id = Orb::Resources::Plans::ExternalPlanID.new(client: client) - @versions = Orb::Resources::Plans::Versions.new(client: client) end end end diff --git a/lib/orb/resources/plans/external_plan_id.rb b/lib/orb/resources/plans/external_plan_id.rb index 0a549a1d..fca52c80 100644 --- a/lib/orb/resources/plans/external_plan_id.rb +++ b/lib/orb/resources/plans/external_plan_id.rb @@ -4,9 +4,6 @@ module Orb module Resources class Plans class ExternalPlanID - # @return [Orb::Resources::Plans::ExternalPlanID::Versions] - attr_reader :versions - # Some parameter documentations has been truncated, see # {Orb::Models::Plans::ExternalPlanIDUpdateParams} for more details. # @@ -73,39 +70,11 @@ def fetch(external_plan_id, params = {}) ) end - # This API endpoint is in beta and its interface may change. It is recommended for - # use only in test mode. - # - # This endpoint allows setting the default version of a plan. - # - # @overload set_default_version(external_plan_id, version:, request_options: {}) - # - # @param external_plan_id [String] - # - # @param version [Integer] Plan version to set as the default. - # - # @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}, nil] - # - # @return [Orb::Models::Plan] - # - # @see Orb::Models::Plans::ExternalPlanIDSetDefaultVersionParams - def set_default_version(external_plan_id, params) - parsed, options = Orb::Plans::ExternalPlanIDSetDefaultVersionParams.dump_request(params) - @client.request( - method: :post, - path: ["plans/external_plan_id/%1$s/set_default_version", external_plan_id], - body: parsed, - model: Orb::Plan, - options: options - ) - end - # @api private # # @param client [Orb::Client] def initialize(client:) @client = client - @versions = Orb::Resources::Plans::ExternalPlanID::Versions.new(client: client) end end end diff --git a/lib/orb/resources/plans/external_plan_id/versions.rb b/lib/orb/resources/plans/external_plan_id/versions.rb deleted file mode 100644 index ade7c422..00000000 --- a/lib/orb/resources/plans/external_plan_id/versions.rb +++ /dev/null @@ -1,88 +0,0 @@ -# frozen_string_literal: true - -module Orb - module Resources - class Plans - class ExternalPlanID - class Versions - # This API endpoint is in beta and its interface may change. It is recommended for - # use only in test mode. - # - # This endpoint allows the creation of a new plan version for an existing plan. - # - # @overload create(external_plan_id, version:, add_adjustments: nil, add_prices: nil, remove_adjustments: nil, remove_prices: nil, replace_adjustments: nil, replace_prices: nil, set_as_default: nil, request_options: {}) - # - # @param external_plan_id [String] - # - # @param version [Integer] New version number. - # - # @param add_adjustments [Array, nil] Additional adjustments to be added to the plan. - # - # @param add_prices [Array, nil] Additional prices to be added to the plan. - # - # @param remove_adjustments [Array, nil] Adjustments to be removed from the plan. - # - # @param remove_prices [Array, nil] Prices to be removed from the plan. - # - # @param replace_adjustments [Array, nil] Adjustments to be replaced with additional adjustments on the plan. - # - # @param replace_prices [Array, nil] Prices to be replaced with additional prices on the plan. - # - # @param set_as_default [Boolean, nil] Set this new plan version as the default - # - # @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}, nil] - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionCreateResponse] - # - # @see Orb::Models::Plans::ExternalPlanID::VersionCreateParams - def create(external_plan_id, params) - parsed, options = Orb::Plans::ExternalPlanID::VersionCreateParams.dump_request(params) - @client.request( - method: :post, - path: ["plans/external_plan_id/%1$s/versions", external_plan_id], - body: parsed, - model: Orb::Models::Plans::ExternalPlanID::VersionCreateResponse, - options: options - ) - end - - # This API endpoint is in beta and its interface may change. It is recommended for - # use only in test mode. - # - # This endpoint is used to fetch a plan version. It returns the phases, prices, - # and adjustments present on this version of the plan. - # - # @overload retrieve(version, external_plan_id:, request_options: {}) - # - # @param version [String] - # @param external_plan_id [String] - # @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}, nil] - # - # @return [Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse] - # - # @see Orb::Models::Plans::ExternalPlanID::VersionRetrieveParams - def retrieve(version, params) - parsed, options = Orb::Plans::ExternalPlanID::VersionRetrieveParams.dump_request(params) - external_plan_id = - parsed.delete(:external_plan_id) do - raise ArgumentError.new("missing required path argument #{_1}") - end - @client.request( - method: :get, - path: ["plans/external_plan_id/%1$s/versions/%2$s", external_plan_id, version], - model: Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse, - options: options - ) - end - - # @api private - # - # @param client [Orb::Client] - def initialize(client:) - @client = client - end - end - end - end - end -end diff --git a/lib/orb/resources/plans/versions.rb b/lib/orb/resources/plans/versions.rb deleted file mode 100644 index c631ff93..00000000 --- a/lib/orb/resources/plans/versions.rb +++ /dev/null @@ -1,86 +0,0 @@ -# frozen_string_literal: true - -module Orb - module Resources - class Plans - class Versions - # This API endpoint is in beta and its interface may change. It is recommended for - # use only in test mode. - # - # This endpoint allows the creation of a new plan version for an existing plan. - # - # @overload create(plan_id, version:, add_adjustments: nil, add_prices: nil, remove_adjustments: nil, remove_prices: nil, replace_adjustments: nil, replace_prices: nil, set_as_default: nil, request_options: {}) - # - # @param plan_id [String] - # - # @param version [Integer] New version number. - # - # @param add_adjustments [Array, nil] Additional adjustments to be added to the plan. - # - # @param add_prices [Array, nil] Additional prices to be added to the plan. - # - # @param remove_adjustments [Array, nil] Adjustments to be removed from the plan. - # - # @param remove_prices [Array, nil] Prices to be removed from the plan. - # - # @param replace_adjustments [Array, nil] Adjustments to be replaced with additional adjustments on the plan. - # - # @param replace_prices [Array, nil] Prices to be replaced with additional prices on the plan. - # - # @param set_as_default [Boolean, nil] Set this new plan version as the default - # - # @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}, nil] - # - # @return [Orb::Models::Plans::VersionCreateResponse] - # - # @see Orb::Models::Plans::VersionCreateParams - def create(plan_id, params) - parsed, options = Orb::Plans::VersionCreateParams.dump_request(params) - @client.request( - method: :post, - path: ["plans/%1$s/versions", plan_id], - body: parsed, - model: Orb::Models::Plans::VersionCreateResponse, - options: options - ) - end - - # This API endpoint is in beta and its interface may change. It is recommended for - # use only in test mode. - # - # This endpoint is used to fetch a plan version. It returns the phases, prices, - # and adjustments present on this version of the plan. - # - # @overload retrieve(version, plan_id:, request_options: {}) - # - # @param version [String] - # @param plan_id [String] - # @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}, nil] - # - # @return [Orb::Models::Plans::VersionRetrieveResponse] - # - # @see Orb::Models::Plans::VersionRetrieveParams - def retrieve(version, params) - parsed, options = Orb::Plans::VersionRetrieveParams.dump_request(params) - plan_id = - parsed.delete(:plan_id) do - raise ArgumentError.new("missing required path argument #{_1}") - end - @client.request( - method: :get, - path: ["plans/%1$s/versions/%2$s", plan_id, version], - model: Orb::Models::Plans::VersionRetrieveResponse, - options: options - ) - end - - # @api private - # - # @param client [Orb::Client] - def initialize(client:) - @client = client - end - end - end - end -end diff --git a/lib/orb/resources/prices.rb b/lib/orb/resources/prices.rb index e85d9622..aabb5dac 100644 --- a/lib/orb/resources/prices.rb +++ b/lib/orb/resources/prices.rb @@ -176,6 +176,67 @@ def list(params = {}) ) end + # Some parameter documentations has been truncated, see + # {Orb::Models::PriceEvaluateParams} for more details. + # + # [NOTE] It is recommended to use the `/v1/prices/evaluate` which offers further + # functionality, such as multiple prices, inline price definitions, and querying + # over preview events. + # + # This endpoint is used to evaluate the output of a price for a given customer and + # time range. It enables filtering and grouping the output using + # [computed properties](/extensibility/advanced-metrics#computed-properties), + # supporting the following workflows: + # + # 1. Showing detailed usage and costs to the end customer. + # 2. Auditing subtotals on invoice line items. + # + # For these workflows, the expressiveness of computed properties in both the + # filters and grouping is critical. For example, if you'd like to show your + # customer their usage grouped by hour and another property, you can do so with + # the following `grouping_keys`: + # `["hour_floor_timestamp_millis(timestamp_millis)", "my_property"]`. If you'd + # like to examine a customer's usage for a specific property value, you can do so + # with the following `filter`: + # `my_property = 'foo' AND my_other_property = 'bar'`. + # + # By default, the start of the time range must be no more than 100 days ago and + # the length of the results must be no greater than 1000. Note that this is a POST + # endpoint rather than a GET endpoint because it employs a JSON body rather than + # query parameters. + # + # @overload evaluate(price_id, timeframe_end:, timeframe_start:, customer_id: nil, external_customer_id: nil, filter: nil, grouping_keys: nil, request_options: {}) + # + # @param price_id [String] + # + # @param timeframe_end [Time] The exclusive upper bound for event timestamps + # + # @param timeframe_start [Time] The inclusive lower bound for event timestamps + # + # @param customer_id [String, nil] The ID of the customer to which this evaluation is scoped. + # + # @param external_customer_id [String, nil] The external customer ID of the customer to which this evaluation is scoped. + # + # @param filter [String, nil] A boolean [computed property](/extensibility/advanced-metrics#computed-propertie + # + # @param grouping_keys [Array] Properties (or [computed properties](/extensibility/advanced-metrics#computed-pr + # + # @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}, nil] + # + # @return [Orb::Models::PriceEvaluateResponse] + # + # @see Orb::Models::PriceEvaluateParams + def evaluate(price_id, params) + parsed, options = Orb::PriceEvaluateParams.dump_request(params) + @client.request( + method: :post, + path: ["prices/%1$s/evaluate", price_id], + body: parsed, + model: Orb::Models::PriceEvaluateResponse, + options: options + ) + end + # This endpoint is used to evaluate the output of price(s) for a given customer # and time range over either ingested events or preview events. It enables # filtering and grouping the output using @@ -207,7 +268,7 @@ def list(params = {}) # endpoint rather than a GET endpoint because it employs a JSON body rather than # query parameters. # - # @overload evaluate(timeframe_end:, timeframe_start:, customer_id: nil, events: nil, external_customer_id: nil, price_evaluations: nil, request_options: {}) + # @overload evaluate_multiple(timeframe_end:, timeframe_start:, customer_id: nil, events: nil, external_customer_id: nil, price_evaluations: nil, request_options: {}) # # @param timeframe_end [Time] The exclusive upper bound for event timestamps # @@ -215,24 +276,24 @@ def list(params = {}) # # @param customer_id [String, nil] The ID of the customer to which this evaluation is scoped. # - # @param events [Array, nil] Optional list of preview events to use instead of actual usage data (max 500) + # @param events [Array, nil] Optional list of preview events to use instead of actual usage data (max 500) # # @param external_customer_id [String, nil] The external customer ID of the customer to which this evaluation is scoped. # - # @param price_evaluations [Array] List of prices to evaluate (max 100) + # @param price_evaluations [Array] List of prices to evaluate (max 100) # # @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}, nil] # - # @return [Orb::Models::PriceEvaluateResponse] + # @return [Orb::Models::PriceEvaluateMultipleResponse] # - # @see Orb::Models::PriceEvaluateParams - def evaluate(params) - parsed, options = Orb::PriceEvaluateParams.dump_request(params) + # @see Orb::Models::PriceEvaluateMultipleParams + def evaluate_multiple(params) + parsed, options = Orb::PriceEvaluateMultipleParams.dump_request(params) @client.request( method: :post, path: "prices/evaluate", body: parsed, - model: Orb::Models::PriceEvaluateResponse, + model: Orb::Models::PriceEvaluateMultipleResponse, options: options ) end diff --git a/lib/orb/version.rb b/lib/orb/version.rb index b22744a8..fa3fbc5f 100644 --- a/lib/orb/version.rb +++ b/lib/orb/version.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true module Orb - VERSION = "0.6.0" + VERSION = "0.7.0" end diff --git a/rbi/orb/client.rbi b/rbi/orb/client.rbi index bc5776f3..aa0577ae 100644 --- a/rbi/orb/client.rbi +++ b/rbi/orb/client.rbi @@ -16,6 +16,9 @@ module Orb sig { returns(Orb::Resources::TopLevel) } attr_reader :top_level + sig { returns(Orb::Resources::Beta) } + attr_reader :beta + sig { returns(Orb::Resources::Coupons) } attr_reader :coupons diff --git a/rbi/orb/models.rbi b/rbi/orb/models.rbi index 76ef9029..666b12d6 100644 --- a/rbi/orb/models.rbi +++ b/rbi/orb/models.rbi @@ -23,6 +23,14 @@ module Orb AmountDiscount = Orb::Models::AmountDiscount + Beta = Orb::Models::Beta + + BetaCreatePlanVersionParams = Orb::Models::BetaCreatePlanVersionParams + + BetaFetchPlanVersionParams = Orb::Models::BetaFetchPlanVersionParams + + BetaSetDefaultPlanVersionParams = Orb::Models::BetaSetDefaultPlanVersionParams + BillableMetric = Orb::Models::BillableMetric BillingCycleRelativeDate = Orb::Models::BillingCycleRelativeDate @@ -158,14 +166,18 @@ module Orb Plans = Orb::Models::Plans - PlanSetDefaultVersionParams = Orb::Models::PlanSetDefaultVersionParams - PlanUpdateParams = Orb::Models::PlanUpdateParams + PlanVersion = Orb::Models::PlanVersion + + PlanVersionPhase = Orb::Models::PlanVersionPhase + Price = Orb::Models::Price PriceCreateParams = Orb::Models::PriceCreateParams + PriceEvaluateMultipleParams = Orb::Models::PriceEvaluateMultipleParams + PriceEvaluateParams = Orb::Models::PriceEvaluateParams PriceFetchParams = Orb::Models::PriceFetchParams diff --git a/rbi/orb/models/plans/version_create_params.rbi b/rbi/orb/models/beta/external_plan_id_create_plan_version_params.rbi similarity index 73% rename from rbi/orb/models/plans/version_create_params.rbi rename to rbi/orb/models/beta/external_plan_id_create_plan_version_params.rbi index 52676dbd..ef61512b 100644 --- a/rbi/orb/models/plans/version_create_params.rbi +++ b/rbi/orb/models/beta/external_plan_id_create_plan_version_params.rbi @@ -2,14 +2,17 @@ module Orb module Models - module Plans - class VersionCreateParams < Orb::Internal::Type::BaseModel + module Beta + class ExternalPlanIDCreatePlanVersionParams < Orb::Internal::Type::BaseModel extend Orb::Internal::Type::RequestParameters::Converter include Orb::Internal::Type::RequestParameters OrHash = T.type_alias do - T.any(Orb::Plans::VersionCreateParams, Orb::Internal::AnyHash) + T.any( + Orb::Beta::ExternalPlanIDCreatePlanVersionParams, + Orb::Internal::AnyHash + ) end # New version number. @@ -19,7 +22,11 @@ module Orb # Additional adjustments to be added to the plan. sig do returns( - T.nilable(T::Array[Orb::Plans::VersionCreateParams::AddAdjustment]) + T.nilable( + T::Array[ + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddAdjustment + ] + ) ) end attr_accessor :add_adjustments @@ -27,7 +34,11 @@ module Orb # Additional prices to be added to the plan. sig do returns( - T.nilable(T::Array[Orb::Plans::VersionCreateParams::AddPrice]) + T.nilable( + T::Array[ + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice + ] + ) ) end attr_accessor :add_prices @@ -36,7 +47,9 @@ module Orb sig do returns( T.nilable( - T::Array[Orb::Plans::VersionCreateParams::RemoveAdjustment] + T::Array[ + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::RemoveAdjustment + ] ) ) end @@ -45,7 +58,11 @@ module Orb # Prices to be removed from the plan. sig do returns( - T.nilable(T::Array[Orb::Plans::VersionCreateParams::RemovePrice]) + T.nilable( + T::Array[ + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::RemovePrice + ] + ) ) end attr_accessor :remove_prices @@ -54,7 +71,9 @@ module Orb sig do returns( T.nilable( - T::Array[Orb::Plans::VersionCreateParams::ReplaceAdjustment] + T::Array[ + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplaceAdjustment + ] ) ) end @@ -63,7 +82,11 @@ module Orb # Prices to be replaced with additional prices on the plan. sig do returns( - T.nilable(T::Array[Orb::Plans::VersionCreateParams::ReplacePrice]) + T.nilable( + T::Array[ + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice + ] + ) ) end attr_accessor :replace_prices @@ -77,31 +100,39 @@ module Orb version: Integer, add_adjustments: T.nilable( - T::Array[Orb::Plans::VersionCreateParams::AddAdjustment::OrHash] + T::Array[ + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddAdjustment::OrHash + ] ), add_prices: T.nilable( - T::Array[Orb::Plans::VersionCreateParams::AddPrice::OrHash] + T::Array[ + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::OrHash + ] ), remove_adjustments: T.nilable( T::Array[ - Orb::Plans::VersionCreateParams::RemoveAdjustment::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::RemoveAdjustment::OrHash ] ), remove_prices: T.nilable( - T::Array[Orb::Plans::VersionCreateParams::RemovePrice::OrHash] + T::Array[ + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::RemovePrice::OrHash + ] ), replace_adjustments: T.nilable( T::Array[ - Orb::Plans::VersionCreateParams::ReplaceAdjustment::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplaceAdjustment::OrHash ] ), replace_prices: T.nilable( - T::Array[Orb::Plans::VersionCreateParams::ReplacePrice::OrHash] + T::Array[ + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::OrHash + ] ), set_as_default: T.nilable(T::Boolean), request_options: Orb::RequestOptions::OrHash @@ -134,25 +165,39 @@ module Orb version: Integer, add_adjustments: T.nilable( - T::Array[Orb::Plans::VersionCreateParams::AddAdjustment] + T::Array[ + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddAdjustment + ] ), add_prices: - T.nilable(T::Array[Orb::Plans::VersionCreateParams::AddPrice]), + T.nilable( + T::Array[ + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice + ] + ), remove_adjustments: T.nilable( - T::Array[Orb::Plans::VersionCreateParams::RemoveAdjustment] + T::Array[ + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::RemoveAdjustment + ] ), remove_prices: T.nilable( - T::Array[Orb::Plans::VersionCreateParams::RemovePrice] + T::Array[ + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::RemovePrice + ] ), replace_adjustments: T.nilable( - T::Array[Orb::Plans::VersionCreateParams::ReplaceAdjustment] + T::Array[ + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplaceAdjustment + ] ), replace_prices: T.nilable( - T::Array[Orb::Plans::VersionCreateParams::ReplacePrice] + T::Array[ + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice + ] ), set_as_default: T.nilable(T::Boolean), request_options: Orb::RequestOptions @@ -166,7 +211,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddAdjustment, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddAdjustment, Orb::Internal::AnyHash ) end @@ -175,11 +220,11 @@ module Orb sig do returns( T.any( - Orb::Plans::VersionCreateParams::AddAdjustment::Adjustment::PercentageDiscount, - Orb::Plans::VersionCreateParams::AddAdjustment::Adjustment::UsageDiscount, - Orb::Plans::VersionCreateParams::AddAdjustment::Adjustment::AmountDiscount, - Orb::Plans::VersionCreateParams::AddAdjustment::Adjustment::Minimum, - Orb::Plans::VersionCreateParams::AddAdjustment::Adjustment::Maximum + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddAdjustment::Adjustment::PercentageDiscount, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddAdjustment::Adjustment::UsageDiscount, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddAdjustment::Adjustment::AmountDiscount, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddAdjustment::Adjustment::Minimum, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddAdjustment::Adjustment::Maximum ) ) end @@ -193,11 +238,11 @@ module Orb params( adjustment: T.any( - Orb::Plans::VersionCreateParams::AddAdjustment::Adjustment::PercentageDiscount::OrHash, - Orb::Plans::VersionCreateParams::AddAdjustment::Adjustment::UsageDiscount::OrHash, - Orb::Plans::VersionCreateParams::AddAdjustment::Adjustment::AmountDiscount::OrHash, - Orb::Plans::VersionCreateParams::AddAdjustment::Adjustment::Minimum::OrHash, - Orb::Plans::VersionCreateParams::AddAdjustment::Adjustment::Maximum::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddAdjustment::Adjustment::PercentageDiscount::OrHash, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddAdjustment::Adjustment::UsageDiscount::OrHash, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddAdjustment::Adjustment::AmountDiscount::OrHash, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddAdjustment::Adjustment::Minimum::OrHash, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddAdjustment::Adjustment::Maximum::OrHash ), plan_phase_order: T.nilable(Integer) ).returns(T.attached_class) @@ -215,11 +260,11 @@ module Orb { adjustment: T.any( - Orb::Plans::VersionCreateParams::AddAdjustment::Adjustment::PercentageDiscount, - Orb::Plans::VersionCreateParams::AddAdjustment::Adjustment::UsageDiscount, - Orb::Plans::VersionCreateParams::AddAdjustment::Adjustment::AmountDiscount, - Orb::Plans::VersionCreateParams::AddAdjustment::Adjustment::Minimum, - Orb::Plans::VersionCreateParams::AddAdjustment::Adjustment::Maximum + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddAdjustment::Adjustment::PercentageDiscount, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddAdjustment::Adjustment::UsageDiscount, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddAdjustment::Adjustment::AmountDiscount, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddAdjustment::Adjustment::Minimum, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddAdjustment::Adjustment::Maximum ), plan_phase_order: T.nilable(Integer) } @@ -235,11 +280,11 @@ module Orb Variants = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddAdjustment::Adjustment::PercentageDiscount, - Orb::Plans::VersionCreateParams::AddAdjustment::Adjustment::UsageDiscount, - Orb::Plans::VersionCreateParams::AddAdjustment::Adjustment::AmountDiscount, - Orb::Plans::VersionCreateParams::AddAdjustment::Adjustment::Minimum, - Orb::Plans::VersionCreateParams::AddAdjustment::Adjustment::Maximum + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddAdjustment::Adjustment::PercentageDiscount, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddAdjustment::Adjustment::UsageDiscount, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddAdjustment::Adjustment::AmountDiscount, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddAdjustment::Adjustment::Minimum, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddAdjustment::Adjustment::Maximum ) end @@ -247,7 +292,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddAdjustment::Adjustment::PercentageDiscount, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddAdjustment::Adjustment::PercentageDiscount, Orb::Internal::AnyHash ) end @@ -307,7 +352,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddAdjustment::Adjustment::UsageDiscount, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddAdjustment::Adjustment::UsageDiscount, Orb::Internal::AnyHash ) end @@ -367,7 +412,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddAdjustment::Adjustment::AmountDiscount, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddAdjustment::Adjustment::AmountDiscount, Orb::Internal::AnyHash ) end @@ -427,7 +472,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddAdjustment::Adjustment::Minimum, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddAdjustment::Adjustment::Minimum, Orb::Internal::AnyHash ) end @@ -495,7 +540,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddAdjustment::Adjustment::Maximum, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddAdjustment::Adjustment::Maximum, Orb::Internal::AnyHash ) end @@ -554,7 +599,7 @@ module Orb sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddAdjustment::Adjustment::Variants + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddAdjustment::Adjustment::Variants ] ) end @@ -567,7 +612,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice, Orb::Internal::AnyHash ) end @@ -576,7 +621,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::AllocationPrice + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::AllocationPrice ) ) end @@ -586,7 +631,7 @@ module Orb params( allocation_price: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::AllocationPrice::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::AllocationPrice::OrHash ) ).void end @@ -601,34 +646,34 @@ module Orb returns( T.nilable( T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::Unit, - Orb::Plans::VersionCreateParams::AddPrice::Price::Package, - Orb::Plans::VersionCreateParams::AddPrice::Price::Matrix, - Orb::Plans::VersionCreateParams::AddPrice::Price::Tiered, - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredBps, - Orb::Plans::VersionCreateParams::AddPrice::Price::Bps, - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkBps, - Orb::Plans::VersionCreateParams::AddPrice::Price::Bulk, - Orb::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount, - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackage, - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum, - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent, - Orb::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation, - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration, - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration, - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation, - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum, - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum, - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName, - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration, - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage, - Orb::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage, - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing, - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing, - Orb::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk, - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum, - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation, - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered ) ) ) @@ -639,40 +684,40 @@ module Orb params( allocation_price: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::AllocationPrice::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::AllocationPrice::OrHash ), plan_phase_order: T.nilable(Integer), price: T.nilable( T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::Unit::OrHash, - Orb::Plans::VersionCreateParams::AddPrice::Price::Package::OrHash, - Orb::Plans::VersionCreateParams::AddPrice::Price::Matrix::OrHash, - Orb::Plans::VersionCreateParams::AddPrice::Price::Tiered::OrHash, - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredBps::OrHash, - Orb::Plans::VersionCreateParams::AddPrice::Price::Bps::OrHash, - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkBps::OrHash, - Orb::Plans::VersionCreateParams::AddPrice::Price::Bulk::OrHash, - Orb::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::OrHash, - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::OrHash, - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::OrHash, - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::OrHash, - Orb::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::OrHash, - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::OrHash, - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::OrHash, - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::OrHash, - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::OrHash, - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::OrHash, - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::OrHash, - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::OrHash, - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::OrHash, - Orb::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::OrHash, - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::OrHash, - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::OrHash, - Orb::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::OrHash, - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::OrHash, - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::OrHash, - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::OrHash, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::OrHash, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::OrHash, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::OrHash, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::OrHash, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::OrHash, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::OrHash, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::OrHash, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::OrHash, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::OrHash, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::OrHash, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::OrHash, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::OrHash, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::OrHash, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::OrHash, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::OrHash, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::OrHash, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::OrHash, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::OrHash, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::OrHash, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::OrHash, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::OrHash, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::OrHash, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::OrHash, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::OrHash, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::OrHash, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::OrHash, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::OrHash ) ) ).returns(T.attached_class) @@ -692,40 +737,40 @@ module Orb { allocation_price: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::AllocationPrice + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::AllocationPrice ), plan_phase_order: T.nilable(Integer), price: T.nilable( T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::Unit, - Orb::Plans::VersionCreateParams::AddPrice::Price::Package, - Orb::Plans::VersionCreateParams::AddPrice::Price::Matrix, - Orb::Plans::VersionCreateParams::AddPrice::Price::Tiered, - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredBps, - Orb::Plans::VersionCreateParams::AddPrice::Price::Bps, - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkBps, - Orb::Plans::VersionCreateParams::AddPrice::Price::Bulk, - Orb::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount, - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackage, - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum, - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent, - Orb::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation, - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration, - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration, - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation, - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum, - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum, - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName, - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration, - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage, - Orb::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage, - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing, - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing, - Orb::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk, - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum, - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation, - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered ) ) } @@ -738,7 +783,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::AllocationPrice, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::AllocationPrice, Orb::Internal::AnyHash ) end @@ -750,7 +795,7 @@ module Orb # The cadence at which to allocate the amount to the customer. sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::AllocationPrice::Cadence::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::AllocationPrice::Cadence::OrSymbol ) end attr_accessor :cadence @@ -770,7 +815,7 @@ module Orb params( amount: String, cadence: - Orb::Plans::VersionCreateParams::AddPrice::AllocationPrice::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::AllocationPrice::Cadence::OrSymbol, currency: String, expires_at_end_of_cadence: T::Boolean ).returns(T.attached_class) @@ -794,7 +839,7 @@ module Orb { amount: String, cadence: - Orb::Plans::VersionCreateParams::AddPrice::AllocationPrice::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::AllocationPrice::Cadence::OrSymbol, currency: String, expires_at_end_of_cadence: T::Boolean } @@ -811,7 +856,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::AddPrice::AllocationPrice::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::AllocationPrice::Cadence ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -819,38 +864,38 @@ module Orb ONE_TIME = T.let( :one_time, - Orb::Plans::VersionCreateParams::AddPrice::AllocationPrice::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::AllocationPrice::Cadence::TaggedSymbol ) MONTHLY = T.let( :monthly, - Orb::Plans::VersionCreateParams::AddPrice::AllocationPrice::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::AllocationPrice::Cadence::TaggedSymbol ) QUARTERLY = T.let( :quarterly, - Orb::Plans::VersionCreateParams::AddPrice::AllocationPrice::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::AllocationPrice::Cadence::TaggedSymbol ) SEMI_ANNUAL = T.let( :semi_annual, - Orb::Plans::VersionCreateParams::AddPrice::AllocationPrice::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::AllocationPrice::Cadence::TaggedSymbol ) ANNUAL = T.let( :annual, - Orb::Plans::VersionCreateParams::AddPrice::AllocationPrice::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::AllocationPrice::Cadence::TaggedSymbol ) CUSTOM = T.let( :custom, - Orb::Plans::VersionCreateParams::AddPrice::AllocationPrice::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::AllocationPrice::Cadence::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::AllocationPrice::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::AllocationPrice::Cadence::TaggedSymbol ] ) end @@ -866,34 +911,34 @@ module Orb Variants = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::Unit, - Orb::Plans::VersionCreateParams::AddPrice::Price::Package, - Orb::Plans::VersionCreateParams::AddPrice::Price::Matrix, - Orb::Plans::VersionCreateParams::AddPrice::Price::Tiered, - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredBps, - Orb::Plans::VersionCreateParams::AddPrice::Price::Bps, - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkBps, - Orb::Plans::VersionCreateParams::AddPrice::Price::Bulk, - Orb::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount, - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackage, - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum, - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent, - Orb::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation, - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration, - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration, - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation, - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum, - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum, - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName, - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration, - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage, - Orb::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage, - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing, - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing, - Orb::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk, - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum, - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation, - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered ) end @@ -901,7 +946,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::Unit, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit, Orb::Internal::AnyHash ) end @@ -909,7 +954,7 @@ module Orb # The cadence to bill for this price on. sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::Unit::Cadence::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::Cadence::OrSymbol ) end attr_accessor :cadence @@ -927,7 +972,7 @@ module Orb sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::Unit::UnitConfig + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::UnitConfig ) end attr_reader :unit_config @@ -935,7 +980,7 @@ module Orb sig do params( unit_config: - Orb::Plans::VersionCreateParams::AddPrice::Price::Unit::UnitConfig::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::UnitConfig::OrHash ).void end attr_writer :unit_config @@ -955,7 +1000,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::Unit::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::BillingCycleConfiguration ) ) end @@ -965,7 +1010,7 @@ module Orb params( billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::Unit::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::BillingCycleConfiguration::OrHash ) ).void end @@ -984,7 +1029,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::Unit::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::DimensionalPriceConfiguration ) ) end @@ -994,7 +1039,7 @@ module Orb params( dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::Unit::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::DimensionalPriceConfiguration::OrHash ) ).void end @@ -1018,7 +1063,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::Unit::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::InvoicingCycleConfiguration ) ) end @@ -1028,7 +1073,7 @@ module Orb params( invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::Unit::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::InvoicingCycleConfiguration::OrHash ) ).void end @@ -1043,29 +1088,29 @@ module Orb sig do params( cadence: - Orb::Plans::VersionCreateParams::AddPrice::Price::Unit::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::Cadence::OrSymbol, item_id: String, name: String, unit_config: - Orb::Plans::VersionCreateParams::AddPrice::Price::Unit::UnitConfig::OrHash, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::UnitConfig::OrHash, billable_metric_id: T.nilable(String), billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::Unit::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::BillingCycleConfiguration::OrHash ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::Unit::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::DimensionalPriceConfiguration::OrHash ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::Unit::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::InvoicingCycleConfiguration::OrHash ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), model_type: Symbol @@ -1117,30 +1162,30 @@ module Orb override.returns( { cadence: - Orb::Plans::VersionCreateParams::AddPrice::Price::Unit::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::Cadence::OrSymbol, item_id: String, model_type: Symbol, name: String, unit_config: - Orb::Plans::VersionCreateParams::AddPrice::Price::Unit::UnitConfig, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::UnitConfig, billable_metric_id: T.nilable(String), billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::Unit::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::BillingCycleConfiguration ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::Unit::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::DimensionalPriceConfiguration ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::Unit::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::InvoicingCycleConfiguration ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) } @@ -1157,7 +1202,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::AddPrice::Price::Unit::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::Cadence ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -1165,38 +1210,38 @@ module Orb ANNUAL = T.let( :annual, - Orb::Plans::VersionCreateParams::AddPrice::Price::Unit::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::Cadence::TaggedSymbol ) SEMI_ANNUAL = T.let( :semi_annual, - Orb::Plans::VersionCreateParams::AddPrice::Price::Unit::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::Cadence::TaggedSymbol ) MONTHLY = T.let( :monthly, - Orb::Plans::VersionCreateParams::AddPrice::Price::Unit::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::Cadence::TaggedSymbol ) QUARTERLY = T.let( :quarterly, - Orb::Plans::VersionCreateParams::AddPrice::Price::Unit::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::Cadence::TaggedSymbol ) ONE_TIME = T.let( :one_time, - Orb::Plans::VersionCreateParams::AddPrice::Price::Unit::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::Cadence::TaggedSymbol ) CUSTOM = T.let( :custom, - Orb::Plans::VersionCreateParams::AddPrice::Price::Unit::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::Cadence::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::Unit::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::Cadence::TaggedSymbol ] ) end @@ -1208,7 +1253,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::Unit::UnitConfig, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::UnitConfig, Orb::Internal::AnyHash ) end @@ -1233,7 +1278,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::Unit::BillingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::BillingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -1245,7 +1290,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::Unit::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::BillingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -1256,7 +1301,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::Unit::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::BillingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -1272,7 +1317,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::Unit::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::BillingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -1287,7 +1332,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::AddPrice::Price::Unit::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::BillingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -1295,18 +1340,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::AddPrice::Price::Unit::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::AddPrice::Price::Unit::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::Unit::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::BillingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -1319,7 +1364,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::Unit::DimensionalPriceConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::DimensionalPriceConfiguration, Orb::Internal::AnyHash ) end @@ -1373,7 +1418,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::Unit::InvoicingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::InvoicingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -1385,7 +1430,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::Unit::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::InvoicingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -1396,7 +1441,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::Unit::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::InvoicingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -1412,7 +1457,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::Unit::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::InvoicingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -1427,7 +1472,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::AddPrice::Price::Unit::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::InvoicingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -1435,18 +1480,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::AddPrice::Price::Unit::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::AddPrice::Price::Unit::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::Unit::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -1460,7 +1505,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::Package, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package, Orb::Internal::AnyHash ) end @@ -1468,7 +1513,7 @@ module Orb # The cadence to bill for this price on. sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::Package::Cadence::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::Cadence::OrSymbol ) end attr_accessor :cadence @@ -1486,7 +1531,7 @@ module Orb sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::Package::PackageConfig + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::PackageConfig ) end attr_reader :package_config @@ -1494,7 +1539,7 @@ module Orb sig do params( package_config: - Orb::Plans::VersionCreateParams::AddPrice::Price::Package::PackageConfig::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::PackageConfig::OrHash ).void end attr_writer :package_config @@ -1514,7 +1559,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::Package::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::BillingCycleConfiguration ) ) end @@ -1524,7 +1569,7 @@ module Orb params( billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::Package::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::BillingCycleConfiguration::OrHash ) ).void end @@ -1543,7 +1588,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::Package::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::DimensionalPriceConfiguration ) ) end @@ -1553,7 +1598,7 @@ module Orb params( dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::Package::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::DimensionalPriceConfiguration::OrHash ) ).void end @@ -1577,7 +1622,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::Package::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::InvoicingCycleConfiguration ) ) end @@ -1587,7 +1632,7 @@ module Orb params( invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::Package::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::InvoicingCycleConfiguration::OrHash ) ).void end @@ -1602,29 +1647,29 @@ module Orb sig do params( cadence: - Orb::Plans::VersionCreateParams::AddPrice::Price::Package::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::Cadence::OrSymbol, item_id: String, name: String, package_config: - Orb::Plans::VersionCreateParams::AddPrice::Price::Package::PackageConfig::OrHash, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::PackageConfig::OrHash, billable_metric_id: T.nilable(String), billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::Package::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::BillingCycleConfiguration::OrHash ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::Package::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::DimensionalPriceConfiguration::OrHash ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::Package::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::InvoicingCycleConfiguration::OrHash ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), model_type: Symbol @@ -1676,30 +1721,30 @@ module Orb override.returns( { cadence: - Orb::Plans::VersionCreateParams::AddPrice::Price::Package::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::Cadence::OrSymbol, item_id: String, model_type: Symbol, name: String, package_config: - Orb::Plans::VersionCreateParams::AddPrice::Price::Package::PackageConfig, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::PackageConfig, billable_metric_id: T.nilable(String), billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::Package::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::BillingCycleConfiguration ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::Package::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::DimensionalPriceConfiguration ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::Package::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::InvoicingCycleConfiguration ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) } @@ -1716,7 +1761,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::AddPrice::Price::Package::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::Cadence ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -1724,38 +1769,38 @@ module Orb ANNUAL = T.let( :annual, - Orb::Plans::VersionCreateParams::AddPrice::Price::Package::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::Cadence::TaggedSymbol ) SEMI_ANNUAL = T.let( :semi_annual, - Orb::Plans::VersionCreateParams::AddPrice::Price::Package::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::Cadence::TaggedSymbol ) MONTHLY = T.let( :monthly, - Orb::Plans::VersionCreateParams::AddPrice::Price::Package::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::Cadence::TaggedSymbol ) QUARTERLY = T.let( :quarterly, - Orb::Plans::VersionCreateParams::AddPrice::Price::Package::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::Cadence::TaggedSymbol ) ONE_TIME = T.let( :one_time, - Orb::Plans::VersionCreateParams::AddPrice::Price::Package::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::Cadence::TaggedSymbol ) CUSTOM = T.let( :custom, - Orb::Plans::VersionCreateParams::AddPrice::Price::Package::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::Cadence::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::Package::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::Cadence::TaggedSymbol ] ) end @@ -1767,7 +1812,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::Package::PackageConfig, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::PackageConfig, Orb::Internal::AnyHash ) end @@ -1808,7 +1853,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::Package::BillingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::BillingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -1820,7 +1865,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::Package::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::BillingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -1831,7 +1876,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::Package::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::BillingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -1847,7 +1892,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::Package::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::BillingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -1862,7 +1907,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::AddPrice::Price::Package::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::BillingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -1870,18 +1915,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::AddPrice::Price::Package::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::AddPrice::Price::Package::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::Package::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::BillingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -1894,7 +1939,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::Package::DimensionalPriceConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::DimensionalPriceConfiguration, Orb::Internal::AnyHash ) end @@ -1948,7 +1993,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::Package::InvoicingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::InvoicingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -1960,7 +2005,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::Package::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::InvoicingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -1971,7 +2016,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::Package::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::InvoicingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -1987,7 +2032,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::Package::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::InvoicingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -2002,7 +2047,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::AddPrice::Price::Package::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::InvoicingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -2010,18 +2055,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::AddPrice::Price::Package::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::AddPrice::Price::Package::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::Package::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -2035,7 +2080,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::Matrix, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix, Orb::Internal::AnyHash ) end @@ -2043,7 +2088,7 @@ module Orb # The cadence to bill for this price on. sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::Matrix::Cadence::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::Cadence::OrSymbol ) end attr_accessor :cadence @@ -2054,7 +2099,7 @@ module Orb sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::Matrix::MatrixConfig + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::MatrixConfig ) end attr_reader :matrix_config @@ -2062,7 +2107,7 @@ module Orb sig do params( matrix_config: - Orb::Plans::VersionCreateParams::AddPrice::Price::Matrix::MatrixConfig::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::MatrixConfig::OrHash ).void end attr_writer :matrix_config @@ -2089,7 +2134,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::Matrix::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::BillingCycleConfiguration ) ) end @@ -2099,7 +2144,7 @@ module Orb params( billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::Matrix::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::BillingCycleConfiguration::OrHash ) ).void end @@ -2118,7 +2163,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::Matrix::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::DimensionalPriceConfiguration ) ) end @@ -2128,7 +2173,7 @@ module Orb params( dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::Matrix::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::DimensionalPriceConfiguration::OrHash ) ).void end @@ -2152,7 +2197,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration ) ) end @@ -2162,7 +2207,7 @@ module Orb params( invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration::OrHash ) ).void end @@ -2177,29 +2222,29 @@ module Orb sig do params( cadence: - Orb::Plans::VersionCreateParams::AddPrice::Price::Matrix::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::Cadence::OrSymbol, item_id: String, matrix_config: - Orb::Plans::VersionCreateParams::AddPrice::Price::Matrix::MatrixConfig::OrHash, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::MatrixConfig::OrHash, name: String, billable_metric_id: T.nilable(String), billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::Matrix::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::BillingCycleConfiguration::OrHash ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::Matrix::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::DimensionalPriceConfiguration::OrHash ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration::OrHash ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), model_type: Symbol @@ -2251,30 +2296,30 @@ module Orb override.returns( { cadence: - Orb::Plans::VersionCreateParams::AddPrice::Price::Matrix::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::Cadence::OrSymbol, item_id: String, matrix_config: - Orb::Plans::VersionCreateParams::AddPrice::Price::Matrix::MatrixConfig, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::MatrixConfig, model_type: Symbol, name: String, billable_metric_id: T.nilable(String), billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::Matrix::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::BillingCycleConfiguration ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::Matrix::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::DimensionalPriceConfiguration ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) } @@ -2291,7 +2336,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::AddPrice::Price::Matrix::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::Cadence ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -2299,38 +2344,38 @@ module Orb ANNUAL = T.let( :annual, - Orb::Plans::VersionCreateParams::AddPrice::Price::Matrix::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::Cadence::TaggedSymbol ) SEMI_ANNUAL = T.let( :semi_annual, - Orb::Plans::VersionCreateParams::AddPrice::Price::Matrix::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::Cadence::TaggedSymbol ) MONTHLY = T.let( :monthly, - Orb::Plans::VersionCreateParams::AddPrice::Price::Matrix::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::Cadence::TaggedSymbol ) QUARTERLY = T.let( :quarterly, - Orb::Plans::VersionCreateParams::AddPrice::Price::Matrix::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::Cadence::TaggedSymbol ) ONE_TIME = T.let( :one_time, - Orb::Plans::VersionCreateParams::AddPrice::Price::Matrix::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::Cadence::TaggedSymbol ) CUSTOM = T.let( :custom, - Orb::Plans::VersionCreateParams::AddPrice::Price::Matrix::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::Cadence::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::Matrix::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::Cadence::TaggedSymbol ] ) end @@ -2342,7 +2387,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::Matrix::MatrixConfig, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::MatrixConfig, Orb::Internal::AnyHash ) end @@ -2359,7 +2404,7 @@ module Orb sig do returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::Matrix::MatrixConfig::MatrixValue + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::MatrixConfig::MatrixValue ] ) end @@ -2371,7 +2416,7 @@ module Orb dimensions: T::Array[T.nilable(String)], matrix_values: T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::Matrix::MatrixConfig::MatrixValue::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::MatrixConfig::MatrixValue::OrHash ] ).returns(T.attached_class) end @@ -2392,7 +2437,7 @@ module Orb dimensions: T::Array[T.nilable(String)], matrix_values: T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::Matrix::MatrixConfig::MatrixValue + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::MatrixConfig::MatrixValue ] } ) @@ -2404,7 +2449,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::Matrix::MatrixConfig::MatrixValue, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::MatrixConfig::MatrixValue, Orb::Internal::AnyHash ) end @@ -2452,7 +2497,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::Matrix::BillingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::BillingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -2464,7 +2509,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::Matrix::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::BillingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -2475,7 +2520,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::Matrix::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::BillingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -2491,7 +2536,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::Matrix::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::BillingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -2506,7 +2551,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::AddPrice::Price::Matrix::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::BillingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -2514,18 +2559,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::AddPrice::Price::Matrix::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::AddPrice::Price::Matrix::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::Matrix::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::BillingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -2538,7 +2583,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::Matrix::DimensionalPriceConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::DimensionalPriceConfiguration, Orb::Internal::AnyHash ) end @@ -2592,7 +2637,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -2604,7 +2649,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -2615,7 +2660,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -2631,7 +2676,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -2646,7 +2691,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -2654,18 +2699,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -2679,7 +2724,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::Tiered, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered, Orb::Internal::AnyHash ) end @@ -2687,7 +2732,7 @@ module Orb # The cadence to bill for this price on. sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::Tiered::Cadence::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::Cadence::OrSymbol ) end attr_accessor :cadence @@ -2705,7 +2750,7 @@ module Orb sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::Tiered::TieredConfig + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::TieredConfig ) end attr_reader :tiered_config @@ -2713,7 +2758,7 @@ module Orb sig do params( tiered_config: - Orb::Plans::VersionCreateParams::AddPrice::Price::Tiered::TieredConfig::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::TieredConfig::OrHash ).void end attr_writer :tiered_config @@ -2733,7 +2778,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::Tiered::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::BillingCycleConfiguration ) ) end @@ -2743,7 +2788,7 @@ module Orb params( billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::Tiered::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::BillingCycleConfiguration::OrHash ) ).void end @@ -2762,7 +2807,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::Tiered::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::DimensionalPriceConfiguration ) ) end @@ -2772,7 +2817,7 @@ module Orb params( dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::Tiered::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::DimensionalPriceConfiguration::OrHash ) ).void end @@ -2796,7 +2841,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration ) ) end @@ -2806,7 +2851,7 @@ module Orb params( invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration::OrHash ) ).void end @@ -2821,29 +2866,29 @@ module Orb sig do params( cadence: - Orb::Plans::VersionCreateParams::AddPrice::Price::Tiered::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::Cadence::OrSymbol, item_id: String, name: String, tiered_config: - Orb::Plans::VersionCreateParams::AddPrice::Price::Tiered::TieredConfig::OrHash, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::TieredConfig::OrHash, billable_metric_id: T.nilable(String), billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::Tiered::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::BillingCycleConfiguration::OrHash ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::Tiered::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::DimensionalPriceConfiguration::OrHash ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration::OrHash ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), model_type: Symbol @@ -2895,30 +2940,30 @@ module Orb override.returns( { cadence: - Orb::Plans::VersionCreateParams::AddPrice::Price::Tiered::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::Cadence::OrSymbol, item_id: String, model_type: Symbol, name: String, tiered_config: - Orb::Plans::VersionCreateParams::AddPrice::Price::Tiered::TieredConfig, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::TieredConfig, billable_metric_id: T.nilable(String), billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::Tiered::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::BillingCycleConfiguration ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::Tiered::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::DimensionalPriceConfiguration ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) } @@ -2935,7 +2980,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::AddPrice::Price::Tiered::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::Cadence ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -2943,38 +2988,38 @@ module Orb ANNUAL = T.let( :annual, - Orb::Plans::VersionCreateParams::AddPrice::Price::Tiered::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::Cadence::TaggedSymbol ) SEMI_ANNUAL = T.let( :semi_annual, - Orb::Plans::VersionCreateParams::AddPrice::Price::Tiered::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::Cadence::TaggedSymbol ) MONTHLY = T.let( :monthly, - Orb::Plans::VersionCreateParams::AddPrice::Price::Tiered::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::Cadence::TaggedSymbol ) QUARTERLY = T.let( :quarterly, - Orb::Plans::VersionCreateParams::AddPrice::Price::Tiered::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::Cadence::TaggedSymbol ) ONE_TIME = T.let( :one_time, - Orb::Plans::VersionCreateParams::AddPrice::Price::Tiered::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::Cadence::TaggedSymbol ) CUSTOM = T.let( :custom, - Orb::Plans::VersionCreateParams::AddPrice::Price::Tiered::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::Cadence::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::Tiered::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::Cadence::TaggedSymbol ] ) end @@ -2986,7 +3031,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::Tiered::TieredConfig, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::TieredConfig, Orb::Internal::AnyHash ) end @@ -2995,7 +3040,7 @@ module Orb sig do returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::Tiered::TieredConfig::Tier + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::TieredConfig::Tier ] ) end @@ -3005,7 +3050,7 @@ module Orb params( tiers: T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::Tiered::TieredConfig::Tier::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::TieredConfig::Tier::OrHash ] ).returns(T.attached_class) end @@ -3020,7 +3065,7 @@ module Orb { tiers: T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::Tiered::TieredConfig::Tier + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::TieredConfig::Tier ] } ) @@ -3032,7 +3077,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::Tiered::TieredConfig::Tier, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::TieredConfig::Tier, Orb::Internal::AnyHash ) end @@ -3084,7 +3129,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::Tiered::BillingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::BillingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -3096,7 +3141,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::Tiered::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::BillingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -3107,7 +3152,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::Tiered::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::BillingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -3123,7 +3168,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::Tiered::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::BillingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -3138,7 +3183,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::AddPrice::Price::Tiered::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::BillingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -3146,18 +3191,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::AddPrice::Price::Tiered::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::AddPrice::Price::Tiered::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::Tiered::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::BillingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -3170,7 +3215,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::Tiered::DimensionalPriceConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::DimensionalPriceConfiguration, Orb::Internal::AnyHash ) end @@ -3224,7 +3269,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -3236,7 +3281,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -3247,7 +3292,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -3263,7 +3308,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -3278,7 +3323,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -3286,18 +3331,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -3311,7 +3356,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredBps, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps, Orb::Internal::AnyHash ) end @@ -3319,7 +3364,7 @@ module Orb # The cadence to bill for this price on. sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredBps::Cadence::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::Cadence::OrSymbol ) end attr_accessor :cadence @@ -3337,7 +3382,7 @@ module Orb sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredBps::TieredBpsConfig + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::TieredBpsConfig ) end attr_reader :tiered_bps_config @@ -3345,7 +3390,7 @@ module Orb sig do params( tiered_bps_config: - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredBps::TieredBpsConfig::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::TieredBpsConfig::OrHash ).void end attr_writer :tiered_bps_config @@ -3365,7 +3410,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredBps::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::BillingCycleConfiguration ) ) end @@ -3375,7 +3420,7 @@ module Orb params( billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredBps::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::BillingCycleConfiguration::OrHash ) ).void end @@ -3394,7 +3439,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredBps::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::DimensionalPriceConfiguration ) ) end @@ -3404,7 +3449,7 @@ module Orb params( dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredBps::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::DimensionalPriceConfiguration::OrHash ) ).void end @@ -3428,7 +3473,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration ) ) end @@ -3438,7 +3483,7 @@ module Orb params( invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration::OrHash ) ).void end @@ -3453,29 +3498,29 @@ module Orb sig do params( cadence: - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredBps::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::Cadence::OrSymbol, item_id: String, name: String, tiered_bps_config: - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredBps::TieredBpsConfig::OrHash, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::TieredBpsConfig::OrHash, billable_metric_id: T.nilable(String), billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredBps::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::BillingCycleConfiguration::OrHash ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredBps::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::DimensionalPriceConfiguration::OrHash ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration::OrHash ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), model_type: Symbol @@ -3527,30 +3572,30 @@ module Orb override.returns( { cadence: - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredBps::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::Cadence::OrSymbol, item_id: String, model_type: Symbol, name: String, tiered_bps_config: - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredBps::TieredBpsConfig, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::TieredBpsConfig, billable_metric_id: T.nilable(String), billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredBps::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::BillingCycleConfiguration ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredBps::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::DimensionalPriceConfiguration ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) } @@ -3567,7 +3612,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredBps::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::Cadence ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -3575,38 +3620,38 @@ module Orb ANNUAL = T.let( :annual, - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredBps::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::Cadence::TaggedSymbol ) SEMI_ANNUAL = T.let( :semi_annual, - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredBps::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::Cadence::TaggedSymbol ) MONTHLY = T.let( :monthly, - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredBps::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::Cadence::TaggedSymbol ) QUARTERLY = T.let( :quarterly, - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredBps::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::Cadence::TaggedSymbol ) ONE_TIME = T.let( :one_time, - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredBps::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::Cadence::TaggedSymbol ) CUSTOM = T.let( :custom, - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredBps::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::Cadence::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredBps::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::Cadence::TaggedSymbol ] ) end @@ -3618,7 +3663,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredBps::TieredBpsConfig, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::TieredBpsConfig, Orb::Internal::AnyHash ) end @@ -3628,7 +3673,7 @@ module Orb sig do returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredBps::TieredBpsConfig::Tier + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::TieredBpsConfig::Tier ] ) end @@ -3638,7 +3683,7 @@ module Orb params( tiers: T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredBps::TieredBpsConfig::Tier::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::TieredBpsConfig::Tier::OrHash ] ).returns(T.attached_class) end @@ -3654,7 +3699,7 @@ module Orb { tiers: T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredBps::TieredBpsConfig::Tier + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::TieredBpsConfig::Tier ] } ) @@ -3666,7 +3711,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredBps::TieredBpsConfig::Tier, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::TieredBpsConfig::Tier, Orb::Internal::AnyHash ) end @@ -3726,7 +3771,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredBps::BillingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::BillingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -3738,7 +3783,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredBps::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::BillingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -3749,7 +3794,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredBps::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::BillingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -3765,7 +3810,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredBps::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::BillingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -3780,7 +3825,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredBps::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::BillingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -3788,18 +3833,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredBps::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredBps::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredBps::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::BillingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -3812,7 +3857,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredBps::DimensionalPriceConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::DimensionalPriceConfiguration, Orb::Internal::AnyHash ) end @@ -3866,7 +3911,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -3878,7 +3923,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -3889,7 +3934,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -3905,7 +3950,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -3920,7 +3965,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -3928,18 +3973,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -3953,14 +3998,14 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::Bps, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps, Orb::Internal::AnyHash ) end sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::Bps::BpsConfig + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::BpsConfig ) end attr_reader :bps_config @@ -3968,7 +4013,7 @@ module Orb sig do params( bps_config: - Orb::Plans::VersionCreateParams::AddPrice::Price::Bps::BpsConfig::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::BpsConfig::OrHash ).void end attr_writer :bps_config @@ -3976,7 +4021,7 @@ module Orb # The cadence to bill for this price on. sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::Bps::Cadence::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::Cadence::OrSymbol ) end attr_accessor :cadence @@ -4007,7 +4052,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::Bps::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::BillingCycleConfiguration ) ) end @@ -4017,7 +4062,7 @@ module Orb params( billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::Bps::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::BillingCycleConfiguration::OrHash ) ).void end @@ -4036,7 +4081,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::Bps::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::DimensionalPriceConfiguration ) ) end @@ -4046,7 +4091,7 @@ module Orb params( dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::Bps::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::DimensionalPriceConfiguration::OrHash ) ).void end @@ -4070,7 +4115,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::Bps::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::InvoicingCycleConfiguration ) ) end @@ -4080,7 +4125,7 @@ module Orb params( invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::Bps::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::InvoicingCycleConfiguration::OrHash ) ).void end @@ -4095,29 +4140,29 @@ module Orb sig do params( bps_config: - Orb::Plans::VersionCreateParams::AddPrice::Price::Bps::BpsConfig::OrHash, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::BpsConfig::OrHash, cadence: - Orb::Plans::VersionCreateParams::AddPrice::Price::Bps::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::Cadence::OrSymbol, item_id: String, name: String, billable_metric_id: T.nilable(String), billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::Bps::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::BillingCycleConfiguration::OrHash ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::Bps::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::DimensionalPriceConfiguration::OrHash ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::Bps::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::InvoicingCycleConfiguration::OrHash ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), model_type: Symbol @@ -4169,9 +4214,9 @@ module Orb override.returns( { bps_config: - Orb::Plans::VersionCreateParams::AddPrice::Price::Bps::BpsConfig, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::BpsConfig, cadence: - Orb::Plans::VersionCreateParams::AddPrice::Price::Bps::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::Cadence::OrSymbol, item_id: String, model_type: Symbol, name: String, @@ -4179,20 +4224,20 @@ module Orb billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::Bps::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::BillingCycleConfiguration ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::Bps::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::DimensionalPriceConfiguration ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::Bps::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::InvoicingCycleConfiguration ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) } @@ -4205,7 +4250,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::Bps::BpsConfig, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::BpsConfig, Orb::Internal::AnyHash ) end @@ -4249,7 +4294,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::AddPrice::Price::Bps::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::Cadence ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -4257,38 +4302,38 @@ module Orb ANNUAL = T.let( :annual, - Orb::Plans::VersionCreateParams::AddPrice::Price::Bps::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::Cadence::TaggedSymbol ) SEMI_ANNUAL = T.let( :semi_annual, - Orb::Plans::VersionCreateParams::AddPrice::Price::Bps::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::Cadence::TaggedSymbol ) MONTHLY = T.let( :monthly, - Orb::Plans::VersionCreateParams::AddPrice::Price::Bps::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::Cadence::TaggedSymbol ) QUARTERLY = T.let( :quarterly, - Orb::Plans::VersionCreateParams::AddPrice::Price::Bps::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::Cadence::TaggedSymbol ) ONE_TIME = T.let( :one_time, - Orb::Plans::VersionCreateParams::AddPrice::Price::Bps::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::Cadence::TaggedSymbol ) CUSTOM = T.let( :custom, - Orb::Plans::VersionCreateParams::AddPrice::Price::Bps::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::Cadence::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::Bps::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::Cadence::TaggedSymbol ] ) end @@ -4300,7 +4345,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::Bps::BillingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::BillingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -4312,7 +4357,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::Bps::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::BillingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -4323,7 +4368,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::Bps::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::BillingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -4339,7 +4384,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::Bps::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::BillingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -4354,7 +4399,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::AddPrice::Price::Bps::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::BillingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -4362,18 +4407,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::AddPrice::Price::Bps::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::AddPrice::Price::Bps::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::Bps::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::BillingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -4386,7 +4431,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::Bps::DimensionalPriceConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::DimensionalPriceConfiguration, Orb::Internal::AnyHash ) end @@ -4440,7 +4485,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::Bps::InvoicingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::InvoicingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -4452,7 +4497,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::Bps::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::InvoicingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -4463,7 +4508,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::Bps::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::InvoicingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -4479,7 +4524,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::Bps::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::InvoicingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -4494,7 +4539,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::AddPrice::Price::Bps::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::InvoicingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -4502,18 +4547,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::AddPrice::Price::Bps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::AddPrice::Price::Bps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::Bps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -4527,14 +4572,14 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkBps, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps, Orb::Internal::AnyHash ) end sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkBps::BulkBpsConfig + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::BulkBpsConfig ) end attr_reader :bulk_bps_config @@ -4542,7 +4587,7 @@ module Orb sig do params( bulk_bps_config: - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkBps::BulkBpsConfig::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::BulkBpsConfig::OrHash ).void end attr_writer :bulk_bps_config @@ -4550,7 +4595,7 @@ module Orb # The cadence to bill for this price on. sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkBps::Cadence::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::Cadence::OrSymbol ) end attr_accessor :cadence @@ -4581,7 +4626,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkBps::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::BillingCycleConfiguration ) ) end @@ -4591,7 +4636,7 @@ module Orb params( billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkBps::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::BillingCycleConfiguration::OrHash ) ).void end @@ -4610,7 +4655,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkBps::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::DimensionalPriceConfiguration ) ) end @@ -4620,7 +4665,7 @@ module Orb params( dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkBps::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::DimensionalPriceConfiguration::OrHash ) ).void end @@ -4644,7 +4689,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration ) ) end @@ -4654,7 +4699,7 @@ module Orb params( invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration::OrHash ) ).void end @@ -4669,29 +4714,29 @@ module Orb sig do params( bulk_bps_config: - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkBps::BulkBpsConfig::OrHash, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::BulkBpsConfig::OrHash, cadence: - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkBps::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::Cadence::OrSymbol, item_id: String, name: String, billable_metric_id: T.nilable(String), billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkBps::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::BillingCycleConfiguration::OrHash ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkBps::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::DimensionalPriceConfiguration::OrHash ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration::OrHash ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), model_type: Symbol @@ -4743,9 +4788,9 @@ module Orb override.returns( { bulk_bps_config: - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkBps::BulkBpsConfig, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::BulkBpsConfig, cadence: - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkBps::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::Cadence::OrSymbol, item_id: String, model_type: Symbol, name: String, @@ -4753,20 +4798,20 @@ module Orb billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkBps::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::BillingCycleConfiguration ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkBps::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::DimensionalPriceConfiguration ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) } @@ -4779,7 +4824,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkBps::BulkBpsConfig, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::BulkBpsConfig, Orb::Internal::AnyHash ) end @@ -4789,7 +4834,7 @@ module Orb sig do returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkBps::BulkBpsConfig::Tier + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::BulkBpsConfig::Tier ] ) end @@ -4799,7 +4844,7 @@ module Orb params( tiers: T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkBps::BulkBpsConfig::Tier::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::BulkBpsConfig::Tier::OrHash ] ).returns(T.attached_class) end @@ -4815,7 +4860,7 @@ module Orb { tiers: T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkBps::BulkBpsConfig::Tier + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::BulkBpsConfig::Tier ] } ) @@ -4827,7 +4872,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkBps::BulkBpsConfig::Tier, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::BulkBpsConfig::Tier, Orb::Internal::AnyHash ) end @@ -4883,7 +4928,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkBps::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::Cadence ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -4891,38 +4936,38 @@ module Orb ANNUAL = T.let( :annual, - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkBps::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::Cadence::TaggedSymbol ) SEMI_ANNUAL = T.let( :semi_annual, - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkBps::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::Cadence::TaggedSymbol ) MONTHLY = T.let( :monthly, - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkBps::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::Cadence::TaggedSymbol ) QUARTERLY = T.let( :quarterly, - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkBps::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::Cadence::TaggedSymbol ) ONE_TIME = T.let( :one_time, - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkBps::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::Cadence::TaggedSymbol ) CUSTOM = T.let( :custom, - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkBps::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::Cadence::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkBps::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::Cadence::TaggedSymbol ] ) end @@ -4934,7 +4979,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkBps::BillingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::BillingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -4946,7 +4991,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkBps::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::BillingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -4957,7 +5002,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkBps::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::BillingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -4973,7 +5018,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkBps::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::BillingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -4988,7 +5033,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkBps::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::BillingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -4996,18 +5041,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkBps::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkBps::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkBps::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::BillingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -5020,7 +5065,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkBps::DimensionalPriceConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::DimensionalPriceConfiguration, Orb::Internal::AnyHash ) end @@ -5074,7 +5119,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -5086,7 +5131,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -5097,7 +5142,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -5113,7 +5158,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -5128,7 +5173,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -5136,18 +5181,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -5161,14 +5206,14 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::Bulk, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk, Orb::Internal::AnyHash ) end sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::Bulk::BulkConfig + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::BulkConfig ) end attr_reader :bulk_config @@ -5176,7 +5221,7 @@ module Orb sig do params( bulk_config: - Orb::Plans::VersionCreateParams::AddPrice::Price::Bulk::BulkConfig::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::BulkConfig::OrHash ).void end attr_writer :bulk_config @@ -5184,7 +5229,7 @@ module Orb # The cadence to bill for this price on. sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::Bulk::Cadence::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::Cadence::OrSymbol ) end attr_accessor :cadence @@ -5215,7 +5260,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::Bulk::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::BillingCycleConfiguration ) ) end @@ -5225,7 +5270,7 @@ module Orb params( billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::Bulk::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::BillingCycleConfiguration::OrHash ) ).void end @@ -5244,7 +5289,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::Bulk::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::DimensionalPriceConfiguration ) ) end @@ -5254,7 +5299,7 @@ module Orb params( dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::Bulk::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::DimensionalPriceConfiguration::OrHash ) ).void end @@ -5278,7 +5323,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration ) ) end @@ -5288,7 +5333,7 @@ module Orb params( invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration::OrHash ) ).void end @@ -5303,29 +5348,29 @@ module Orb sig do params( bulk_config: - Orb::Plans::VersionCreateParams::AddPrice::Price::Bulk::BulkConfig::OrHash, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::BulkConfig::OrHash, cadence: - Orb::Plans::VersionCreateParams::AddPrice::Price::Bulk::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::Cadence::OrSymbol, item_id: String, name: String, billable_metric_id: T.nilable(String), billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::Bulk::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::BillingCycleConfiguration::OrHash ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::Bulk::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::DimensionalPriceConfiguration::OrHash ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration::OrHash ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), model_type: Symbol @@ -5377,9 +5422,9 @@ module Orb override.returns( { bulk_config: - Orb::Plans::VersionCreateParams::AddPrice::Price::Bulk::BulkConfig, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::BulkConfig, cadence: - Orb::Plans::VersionCreateParams::AddPrice::Price::Bulk::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::Cadence::OrSymbol, item_id: String, model_type: Symbol, name: String, @@ -5387,20 +5432,20 @@ module Orb billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::Bulk::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::BillingCycleConfiguration ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::Bulk::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::DimensionalPriceConfiguration ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) } @@ -5413,7 +5458,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::Bulk::BulkConfig, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::BulkConfig, Orb::Internal::AnyHash ) end @@ -5422,7 +5467,7 @@ module Orb sig do returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::Bulk::BulkConfig::Tier + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::BulkConfig::Tier ] ) end @@ -5432,7 +5477,7 @@ module Orb params( tiers: T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::Bulk::BulkConfig::Tier::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::BulkConfig::Tier::OrHash ] ).returns(T.attached_class) end @@ -5447,7 +5492,7 @@ module Orb { tiers: T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::Bulk::BulkConfig::Tier + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::BulkConfig::Tier ] } ) @@ -5459,7 +5504,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::Bulk::BulkConfig::Tier, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::BulkConfig::Tier, Orb::Internal::AnyHash ) end @@ -5504,7 +5549,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::AddPrice::Price::Bulk::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::Cadence ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -5512,38 +5557,38 @@ module Orb ANNUAL = T.let( :annual, - Orb::Plans::VersionCreateParams::AddPrice::Price::Bulk::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::Cadence::TaggedSymbol ) SEMI_ANNUAL = T.let( :semi_annual, - Orb::Plans::VersionCreateParams::AddPrice::Price::Bulk::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::Cadence::TaggedSymbol ) MONTHLY = T.let( :monthly, - Orb::Plans::VersionCreateParams::AddPrice::Price::Bulk::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::Cadence::TaggedSymbol ) QUARTERLY = T.let( :quarterly, - Orb::Plans::VersionCreateParams::AddPrice::Price::Bulk::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::Cadence::TaggedSymbol ) ONE_TIME = T.let( :one_time, - Orb::Plans::VersionCreateParams::AddPrice::Price::Bulk::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::Cadence::TaggedSymbol ) CUSTOM = T.let( :custom, - Orb::Plans::VersionCreateParams::AddPrice::Price::Bulk::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::Cadence::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::Bulk::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::Cadence::TaggedSymbol ] ) end @@ -5555,7 +5600,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::Bulk::BillingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::BillingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -5567,7 +5612,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::Bulk::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::BillingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -5578,7 +5623,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::Bulk::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::BillingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -5594,7 +5639,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::Bulk::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::BillingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -5609,7 +5654,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::AddPrice::Price::Bulk::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::BillingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -5617,18 +5662,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::AddPrice::Price::Bulk::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::AddPrice::Price::Bulk::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::Bulk::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::BillingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -5641,7 +5686,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::Bulk::DimensionalPriceConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::DimensionalPriceConfiguration, Orb::Internal::AnyHash ) end @@ -5695,7 +5740,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -5707,7 +5752,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -5718,7 +5763,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -5734,7 +5779,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -5749,7 +5794,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -5757,18 +5802,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -5782,7 +5827,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount, Orb::Internal::AnyHash ) end @@ -5790,7 +5835,7 @@ module Orb # The cadence to bill for this price on. sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::Cadence::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::Cadence::OrSymbol ) end attr_accessor :cadence @@ -5824,7 +5869,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration ) ) end @@ -5834,7 +5879,7 @@ module Orb params( billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::OrHash ) ).void end @@ -5853,7 +5898,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration ) ) end @@ -5863,7 +5908,7 @@ module Orb params( dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration::OrHash ) ).void end @@ -5887,7 +5932,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration ) ) end @@ -5897,7 +5942,7 @@ module Orb params( invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::OrHash ) ).void end @@ -5912,7 +5957,7 @@ module Orb sig do params( cadence: - Orb::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::Cadence::OrSymbol, item_id: String, name: String, threshold_total_amount_config: T::Hash[Symbol, T.anything], @@ -5920,20 +5965,20 @@ module Orb billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::OrHash ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration::OrHash ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::OrHash ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), model_type: Symbol @@ -5985,7 +6030,7 @@ module Orb override.returns( { cadence: - Orb::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::Cadence::OrSymbol, item_id: String, model_type: Symbol, name: String, @@ -5994,20 +6039,20 @@ module Orb billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) } @@ -6024,7 +6069,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::Cadence ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -6032,38 +6077,38 @@ module Orb ANNUAL = T.let( :annual, - Orb::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::Cadence::TaggedSymbol ) SEMI_ANNUAL = T.let( :semi_annual, - Orb::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::Cadence::TaggedSymbol ) MONTHLY = T.let( :monthly, - Orb::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::Cadence::TaggedSymbol ) QUARTERLY = T.let( :quarterly, - Orb::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::Cadence::TaggedSymbol ) ONE_TIME = T.let( :one_time, - Orb::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::Cadence::TaggedSymbol ) CUSTOM = T.let( :custom, - Orb::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::Cadence::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::Cadence::TaggedSymbol ] ) end @@ -6075,7 +6120,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -6087,7 +6132,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -6098,7 +6143,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -6114,7 +6159,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -6129,7 +6174,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -6137,18 +6182,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -6161,7 +6206,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration, Orb::Internal::AnyHash ) end @@ -6215,7 +6260,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -6227,7 +6272,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -6238,7 +6283,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -6254,7 +6299,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -6269,7 +6314,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -6277,18 +6322,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -6302,7 +6347,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackage, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage, Orb::Internal::AnyHash ) end @@ -6310,7 +6355,7 @@ module Orb # The cadence to bill for this price on. sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::Cadence::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::Cadence::OrSymbol ) end attr_accessor :cadence @@ -6344,7 +6389,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration ) ) end @@ -6354,7 +6399,7 @@ module Orb params( billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration::OrHash ) ).void end @@ -6373,7 +6418,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::DimensionalPriceConfiguration ) ) end @@ -6383,7 +6428,7 @@ module Orb params( dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::DimensionalPriceConfiguration::OrHash ) ).void end @@ -6407,7 +6452,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration ) ) end @@ -6417,7 +6462,7 @@ module Orb params( invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration::OrHash ) ).void end @@ -6432,7 +6477,7 @@ module Orb sig do params( cadence: - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::Cadence::OrSymbol, item_id: String, name: String, tiered_package_config: T::Hash[Symbol, T.anything], @@ -6440,20 +6485,20 @@ module Orb billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration::OrHash ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::DimensionalPriceConfiguration::OrHash ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration::OrHash ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), model_type: Symbol @@ -6505,7 +6550,7 @@ module Orb override.returns( { cadence: - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::Cadence::OrSymbol, item_id: String, model_type: Symbol, name: String, @@ -6514,20 +6559,20 @@ module Orb billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::DimensionalPriceConfiguration ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) } @@ -6544,7 +6589,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::Cadence ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -6552,38 +6597,38 @@ module Orb ANNUAL = T.let( :annual, - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::Cadence::TaggedSymbol ) SEMI_ANNUAL = T.let( :semi_annual, - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::Cadence::TaggedSymbol ) MONTHLY = T.let( :monthly, - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::Cadence::TaggedSymbol ) QUARTERLY = T.let( :quarterly, - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::Cadence::TaggedSymbol ) ONE_TIME = T.let( :one_time, - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::Cadence::TaggedSymbol ) CUSTOM = T.let( :custom, - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::Cadence::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::Cadence::TaggedSymbol ] ) end @@ -6595,7 +6640,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -6607,7 +6652,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -6618,7 +6663,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -6634,7 +6679,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -6649,7 +6694,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -6657,18 +6702,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -6681,7 +6726,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::DimensionalPriceConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::DimensionalPriceConfiguration, Orb::Internal::AnyHash ) end @@ -6735,7 +6780,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -6747,7 +6792,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -6758,7 +6803,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -6774,7 +6819,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -6789,7 +6834,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -6797,18 +6842,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -6822,7 +6867,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum, Orb::Internal::AnyHash ) end @@ -6830,7 +6875,7 @@ module Orb # The cadence to bill for this price on. sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::Cadence::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::Cadence::OrSymbol ) end attr_accessor :cadence @@ -6864,7 +6909,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration ) ) end @@ -6874,7 +6919,7 @@ module Orb params( billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration::OrHash ) ).void end @@ -6893,7 +6938,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::DimensionalPriceConfiguration ) ) end @@ -6903,7 +6948,7 @@ module Orb params( dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::DimensionalPriceConfiguration::OrHash ) ).void end @@ -6927,7 +6972,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration ) ) end @@ -6937,7 +6982,7 @@ module Orb params( invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::OrHash ) ).void end @@ -6952,7 +6997,7 @@ module Orb sig do params( cadence: - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::Cadence::OrSymbol, item_id: String, name: String, tiered_with_minimum_config: T::Hash[Symbol, T.anything], @@ -6960,20 +7005,20 @@ module Orb billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration::OrHash ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::DimensionalPriceConfiguration::OrHash ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::OrHash ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), model_type: Symbol @@ -7025,7 +7070,7 @@ module Orb override.returns( { cadence: - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::Cadence::OrSymbol, item_id: String, model_type: Symbol, name: String, @@ -7034,20 +7079,20 @@ module Orb billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::DimensionalPriceConfiguration ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) } @@ -7064,7 +7109,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::Cadence ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -7072,38 +7117,38 @@ module Orb ANNUAL = T.let( :annual, - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::Cadence::TaggedSymbol ) SEMI_ANNUAL = T.let( :semi_annual, - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::Cadence::TaggedSymbol ) MONTHLY = T.let( :monthly, - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::Cadence::TaggedSymbol ) QUARTERLY = T.let( :quarterly, - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::Cadence::TaggedSymbol ) ONE_TIME = T.let( :one_time, - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::Cadence::TaggedSymbol ) CUSTOM = T.let( :custom, - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::Cadence::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::Cadence::TaggedSymbol ] ) end @@ -7115,7 +7160,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -7127,7 +7172,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -7138,7 +7183,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -7154,7 +7199,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -7169,7 +7214,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -7177,18 +7222,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -7201,7 +7246,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::DimensionalPriceConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::DimensionalPriceConfiguration, Orb::Internal::AnyHash ) end @@ -7255,7 +7300,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -7267,7 +7312,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -7278,7 +7323,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -7294,7 +7339,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -7309,7 +7354,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -7317,18 +7362,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -7342,7 +7387,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent, Orb::Internal::AnyHash ) end @@ -7350,7 +7395,7 @@ module Orb # The cadence to bill for this price on. sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::Cadence::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::Cadence::OrSymbol ) end attr_accessor :cadence @@ -7384,7 +7429,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration ) ) end @@ -7394,7 +7439,7 @@ module Orb params( billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration::OrHash ) ).void end @@ -7413,7 +7458,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::DimensionalPriceConfiguration ) ) end @@ -7423,7 +7468,7 @@ module Orb params( dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::DimensionalPriceConfiguration::OrHash ) ).void end @@ -7447,7 +7492,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration ) ) end @@ -7457,7 +7502,7 @@ module Orb params( invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration::OrHash ) ).void end @@ -7472,7 +7517,7 @@ module Orb sig do params( cadence: - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::Cadence::OrSymbol, item_id: String, name: String, unit_with_percent_config: T::Hash[Symbol, T.anything], @@ -7480,20 +7525,20 @@ module Orb billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration::OrHash ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::DimensionalPriceConfiguration::OrHash ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration::OrHash ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), model_type: Symbol @@ -7545,7 +7590,7 @@ module Orb override.returns( { cadence: - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::Cadence::OrSymbol, item_id: String, model_type: Symbol, name: String, @@ -7554,20 +7599,20 @@ module Orb billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::DimensionalPriceConfiguration ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) } @@ -7584,7 +7629,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::Cadence ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -7592,38 +7637,38 @@ module Orb ANNUAL = T.let( :annual, - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::Cadence::TaggedSymbol ) SEMI_ANNUAL = T.let( :semi_annual, - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::Cadence::TaggedSymbol ) MONTHLY = T.let( :monthly, - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::Cadence::TaggedSymbol ) QUARTERLY = T.let( :quarterly, - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::Cadence::TaggedSymbol ) ONE_TIME = T.let( :one_time, - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::Cadence::TaggedSymbol ) CUSTOM = T.let( :custom, - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::Cadence::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::Cadence::TaggedSymbol ] ) end @@ -7635,7 +7680,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -7647,7 +7692,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -7658,7 +7703,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -7674,7 +7719,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -7689,7 +7734,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -7697,18 +7742,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -7721,7 +7766,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::DimensionalPriceConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::DimensionalPriceConfiguration, Orb::Internal::AnyHash ) end @@ -7775,7 +7820,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -7787,7 +7832,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -7798,7 +7843,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -7814,7 +7859,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -7829,7 +7874,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -7837,18 +7882,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -7862,7 +7907,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation, Orb::Internal::AnyHash ) end @@ -7870,7 +7915,7 @@ module Orb # The cadence to bill for this price on. sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::Cadence::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::Cadence::OrSymbol ) end attr_accessor :cadence @@ -7904,7 +7949,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration ) ) end @@ -7914,7 +7959,7 @@ module Orb params( billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration::OrHash ) ).void end @@ -7933,7 +7978,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::DimensionalPriceConfiguration ) ) end @@ -7943,7 +7988,7 @@ module Orb params( dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::DimensionalPriceConfiguration::OrHash ) ).void end @@ -7967,7 +8012,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration ) ) end @@ -7977,7 +8022,7 @@ module Orb params( invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::OrHash ) ).void end @@ -7992,7 +8037,7 @@ module Orb sig do params( cadence: - Orb::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::Cadence::OrSymbol, item_id: String, name: String, package_with_allocation_config: T::Hash[Symbol, T.anything], @@ -8000,20 +8045,20 @@ module Orb billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration::OrHash ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::DimensionalPriceConfiguration::OrHash ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::OrHash ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), model_type: Symbol @@ -8065,7 +8110,7 @@ module Orb override.returns( { cadence: - Orb::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::Cadence::OrSymbol, item_id: String, model_type: Symbol, name: String, @@ -8074,20 +8119,20 @@ module Orb billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::DimensionalPriceConfiguration ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) } @@ -8104,7 +8149,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::Cadence ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -8112,38 +8157,38 @@ module Orb ANNUAL = T.let( :annual, - Orb::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::Cadence::TaggedSymbol ) SEMI_ANNUAL = T.let( :semi_annual, - Orb::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::Cadence::TaggedSymbol ) MONTHLY = T.let( :monthly, - Orb::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::Cadence::TaggedSymbol ) QUARTERLY = T.let( :quarterly, - Orb::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::Cadence::TaggedSymbol ) ONE_TIME = T.let( :one_time, - Orb::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::Cadence::TaggedSymbol ) CUSTOM = T.let( :custom, - Orb::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::Cadence::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::Cadence::TaggedSymbol ] ) end @@ -8155,7 +8200,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -8167,7 +8212,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -8178,7 +8223,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -8194,7 +8239,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -8209,7 +8254,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -8217,18 +8262,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -8241,7 +8286,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::DimensionalPriceConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::DimensionalPriceConfiguration, Orb::Internal::AnyHash ) end @@ -8295,7 +8340,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -8307,7 +8352,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -8318,7 +8363,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -8334,7 +8379,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -8349,7 +8394,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -8357,18 +8402,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -8382,7 +8427,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration, Orb::Internal::AnyHash ) end @@ -8390,7 +8435,7 @@ module Orb # The cadence to bill for this price on. sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::Cadence::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::Cadence::OrSymbol ) end attr_accessor :cadence @@ -8424,7 +8469,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration ) ) end @@ -8434,7 +8479,7 @@ module Orb params( billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration::OrHash ) ).void end @@ -8453,7 +8498,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::DimensionalPriceConfiguration ) ) end @@ -8463,7 +8508,7 @@ module Orb params( dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::DimensionalPriceConfiguration::OrHash ) ).void end @@ -8487,7 +8532,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration ) ) end @@ -8497,7 +8542,7 @@ module Orb params( invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration::OrHash ) ).void end @@ -8512,7 +8557,7 @@ module Orb sig do params( cadence: - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::Cadence::OrSymbol, item_id: String, name: String, tiered_with_proration_config: T::Hash[Symbol, T.anything], @@ -8520,20 +8565,20 @@ module Orb billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration::OrHash ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::DimensionalPriceConfiguration::OrHash ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration::OrHash ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), model_type: Symbol @@ -8585,7 +8630,7 @@ module Orb override.returns( { cadence: - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::Cadence::OrSymbol, item_id: String, model_type: Symbol, name: String, @@ -8594,20 +8639,20 @@ module Orb billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::DimensionalPriceConfiguration ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) } @@ -8624,7 +8669,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::Cadence ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -8632,38 +8677,38 @@ module Orb ANNUAL = T.let( :annual, - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::Cadence::TaggedSymbol ) SEMI_ANNUAL = T.let( :semi_annual, - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::Cadence::TaggedSymbol ) MONTHLY = T.let( :monthly, - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::Cadence::TaggedSymbol ) QUARTERLY = T.let( :quarterly, - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::Cadence::TaggedSymbol ) ONE_TIME = T.let( :one_time, - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::Cadence::TaggedSymbol ) CUSTOM = T.let( :custom, - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::Cadence::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::Cadence::TaggedSymbol ] ) end @@ -8675,7 +8720,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -8687,7 +8732,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -8698,7 +8743,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -8714,7 +8759,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -8729,7 +8774,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -8737,18 +8782,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -8761,7 +8806,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::DimensionalPriceConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::DimensionalPriceConfiguration, Orb::Internal::AnyHash ) end @@ -8815,7 +8860,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -8827,7 +8872,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -8838,7 +8883,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -8854,7 +8899,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -8869,7 +8914,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -8877,18 +8922,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -8902,7 +8947,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration, Orb::Internal::AnyHash ) end @@ -8910,7 +8955,7 @@ module Orb # The cadence to bill for this price on. sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::Cadence::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::Cadence::OrSymbol ) end attr_accessor :cadence @@ -8944,7 +8989,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration ) ) end @@ -8954,7 +8999,7 @@ module Orb params( billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration::OrHash ) ).void end @@ -8973,7 +9018,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::DimensionalPriceConfiguration ) ) end @@ -8983,7 +9028,7 @@ module Orb params( dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::DimensionalPriceConfiguration::OrHash ) ).void end @@ -9007,7 +9052,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration ) ) end @@ -9017,7 +9062,7 @@ module Orb params( invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration::OrHash ) ).void end @@ -9032,7 +9077,7 @@ module Orb sig do params( cadence: - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::Cadence::OrSymbol, item_id: String, name: String, unit_with_proration_config: T::Hash[Symbol, T.anything], @@ -9040,20 +9085,20 @@ module Orb billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration::OrHash ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::DimensionalPriceConfiguration::OrHash ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration::OrHash ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), model_type: Symbol @@ -9105,7 +9150,7 @@ module Orb override.returns( { cadence: - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::Cadence::OrSymbol, item_id: String, model_type: Symbol, name: String, @@ -9114,20 +9159,20 @@ module Orb billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::DimensionalPriceConfiguration ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) } @@ -9144,7 +9189,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::Cadence ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -9152,38 +9197,38 @@ module Orb ANNUAL = T.let( :annual, - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::Cadence::TaggedSymbol ) SEMI_ANNUAL = T.let( :semi_annual, - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::Cadence::TaggedSymbol ) MONTHLY = T.let( :monthly, - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::Cadence::TaggedSymbol ) QUARTERLY = T.let( :quarterly, - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::Cadence::TaggedSymbol ) ONE_TIME = T.let( :one_time, - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::Cadence::TaggedSymbol ) CUSTOM = T.let( :custom, - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::Cadence::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::Cadence::TaggedSymbol ] ) end @@ -9195,7 +9240,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -9207,7 +9252,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -9218,7 +9263,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -9234,7 +9279,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -9249,7 +9294,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -9257,18 +9302,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -9281,7 +9326,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::DimensionalPriceConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::DimensionalPriceConfiguration, Orb::Internal::AnyHash ) end @@ -9335,7 +9380,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -9347,7 +9392,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -9358,7 +9403,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -9374,7 +9419,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -9389,7 +9434,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -9397,18 +9442,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -9422,7 +9467,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation, Orb::Internal::AnyHash ) end @@ -9430,7 +9475,7 @@ module Orb # The cadence to bill for this price on. sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::Cadence::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::Cadence::OrSymbol ) end attr_accessor :cadence @@ -9464,7 +9509,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration ) ) end @@ -9474,7 +9519,7 @@ module Orb params( billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration::OrHash ) ).void end @@ -9493,7 +9538,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::DimensionalPriceConfiguration ) ) end @@ -9503,7 +9548,7 @@ module Orb params( dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::DimensionalPriceConfiguration::OrHash ) ).void end @@ -9527,7 +9572,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration ) ) end @@ -9537,7 +9582,7 @@ module Orb params( invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration::OrHash ) ).void end @@ -9552,7 +9597,7 @@ module Orb sig do params( cadence: - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::Cadence::OrSymbol, grouped_allocation_config: T::Hash[Symbol, T.anything], item_id: String, name: String, @@ -9560,20 +9605,20 @@ module Orb billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration::OrHash ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::DimensionalPriceConfiguration::OrHash ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration::OrHash ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), model_type: Symbol @@ -9625,7 +9670,7 @@ module Orb override.returns( { cadence: - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::Cadence::OrSymbol, grouped_allocation_config: T::Hash[Symbol, T.anything], item_id: String, model_type: Symbol, @@ -9634,20 +9679,20 @@ module Orb billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::DimensionalPriceConfiguration ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) } @@ -9664,7 +9709,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::Cadence ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -9672,38 +9717,38 @@ module Orb ANNUAL = T.let( :annual, - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::Cadence::TaggedSymbol ) SEMI_ANNUAL = T.let( :semi_annual, - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::Cadence::TaggedSymbol ) MONTHLY = T.let( :monthly, - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::Cadence::TaggedSymbol ) QUARTERLY = T.let( :quarterly, - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::Cadence::TaggedSymbol ) ONE_TIME = T.let( :one_time, - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::Cadence::TaggedSymbol ) CUSTOM = T.let( :custom, - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::Cadence::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::Cadence::TaggedSymbol ] ) end @@ -9715,7 +9760,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -9727,7 +9772,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -9738,7 +9783,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -9754,7 +9799,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -9769,7 +9814,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -9777,18 +9822,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -9801,7 +9846,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::DimensionalPriceConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::DimensionalPriceConfiguration, Orb::Internal::AnyHash ) end @@ -9855,7 +9900,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -9867,7 +9912,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -9878,7 +9923,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -9894,7 +9939,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -9909,7 +9954,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -9917,18 +9962,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -9942,7 +9987,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum, Orb::Internal::AnyHash ) end @@ -9950,7 +9995,7 @@ module Orb # The cadence to bill for this price on. sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::Cadence::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::Cadence::OrSymbol ) end attr_accessor :cadence @@ -9984,7 +10029,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration ) ) end @@ -9994,7 +10039,7 @@ module Orb params( billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::OrHash ) ).void end @@ -10013,7 +10058,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration ) ) end @@ -10023,7 +10068,7 @@ module Orb params( dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration::OrHash ) ).void end @@ -10047,7 +10092,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration ) ) end @@ -10057,7 +10102,7 @@ module Orb params( invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::OrHash ) ).void end @@ -10072,7 +10117,7 @@ module Orb sig do params( cadence: - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::Cadence::OrSymbol, grouped_with_prorated_minimum_config: T::Hash[Symbol, T.anything], item_id: String, @@ -10081,20 +10126,20 @@ module Orb billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::OrHash ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration::OrHash ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::OrHash ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), model_type: Symbol @@ -10146,7 +10191,7 @@ module Orb override.returns( { cadence: - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::Cadence::OrSymbol, grouped_with_prorated_minimum_config: T::Hash[Symbol, T.anything], item_id: String, @@ -10156,20 +10201,20 @@ module Orb billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) } @@ -10186,7 +10231,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::Cadence ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -10194,38 +10239,38 @@ module Orb ANNUAL = T.let( :annual, - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::Cadence::TaggedSymbol ) SEMI_ANNUAL = T.let( :semi_annual, - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::Cadence::TaggedSymbol ) MONTHLY = T.let( :monthly, - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::Cadence::TaggedSymbol ) QUARTERLY = T.let( :quarterly, - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::Cadence::TaggedSymbol ) ONE_TIME = T.let( :one_time, - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::Cadence::TaggedSymbol ) CUSTOM = T.let( :custom, - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::Cadence::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::Cadence::TaggedSymbol ] ) end @@ -10237,7 +10282,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -10249,7 +10294,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -10260,7 +10305,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -10276,7 +10321,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -10291,7 +10336,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -10299,18 +10344,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -10323,7 +10368,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration, Orb::Internal::AnyHash ) end @@ -10377,7 +10422,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -10389,7 +10434,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -10400,7 +10445,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -10416,7 +10461,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -10431,7 +10476,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -10439,18 +10484,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -10464,7 +10509,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum, Orb::Internal::AnyHash ) end @@ -10472,7 +10517,7 @@ module Orb # The cadence to bill for this price on. sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::Cadence::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::Cadence::OrSymbol ) end attr_accessor :cadence @@ -10506,7 +10551,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration ) ) end @@ -10516,7 +10561,7 @@ module Orb params( billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::OrHash ) ).void end @@ -10535,7 +10580,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration ) ) end @@ -10545,7 +10590,7 @@ module Orb params( dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration::OrHash ) ).void end @@ -10569,7 +10614,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration ) ) end @@ -10579,7 +10624,7 @@ module Orb params( invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::OrHash ) ).void end @@ -10594,7 +10639,7 @@ module Orb sig do params( cadence: - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::Cadence::OrSymbol, grouped_with_metered_minimum_config: T::Hash[Symbol, T.anything], item_id: String, @@ -10603,20 +10648,20 @@ module Orb billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::OrHash ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration::OrHash ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::OrHash ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), model_type: Symbol @@ -10668,7 +10713,7 @@ module Orb override.returns( { cadence: - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::Cadence::OrSymbol, grouped_with_metered_minimum_config: T::Hash[Symbol, T.anything], item_id: String, @@ -10678,20 +10723,20 @@ module Orb billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) } @@ -10708,7 +10753,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::Cadence ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -10716,38 +10761,38 @@ module Orb ANNUAL = T.let( :annual, - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::Cadence::TaggedSymbol ) SEMI_ANNUAL = T.let( :semi_annual, - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::Cadence::TaggedSymbol ) MONTHLY = T.let( :monthly, - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::Cadence::TaggedSymbol ) QUARTERLY = T.let( :quarterly, - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::Cadence::TaggedSymbol ) ONE_TIME = T.let( :one_time, - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::Cadence::TaggedSymbol ) CUSTOM = T.let( :custom, - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::Cadence::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::Cadence::TaggedSymbol ] ) end @@ -10759,7 +10804,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -10771,7 +10816,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -10782,7 +10827,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -10798,7 +10843,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -10813,7 +10858,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -10821,18 +10866,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -10845,7 +10890,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration, Orb::Internal::AnyHash ) end @@ -10899,7 +10944,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -10911,7 +10956,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -10922,7 +10967,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -10938,7 +10983,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -10953,7 +10998,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -10961,18 +11006,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -10986,7 +11031,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName, Orb::Internal::AnyHash ) end @@ -10994,7 +11039,7 @@ module Orb # The cadence to bill for this price on. sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::Cadence::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::Cadence::OrSymbol ) end attr_accessor :cadence @@ -11028,7 +11073,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration ) ) end @@ -11038,7 +11083,7 @@ module Orb params( billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::OrHash ) ).void end @@ -11057,7 +11102,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration ) ) end @@ -11067,7 +11112,7 @@ module Orb params( dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration::OrHash ) ).void end @@ -11091,7 +11136,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration ) ) end @@ -11101,7 +11146,7 @@ module Orb params( invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::OrHash ) ).void end @@ -11116,7 +11161,7 @@ module Orb sig do params( cadence: - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::Cadence::OrSymbol, item_id: String, matrix_with_display_name_config: T::Hash[Symbol, T.anything], name: String, @@ -11124,20 +11169,20 @@ module Orb billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::OrHash ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration::OrHash ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::OrHash ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), model_type: Symbol @@ -11189,7 +11234,7 @@ module Orb override.returns( { cadence: - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::Cadence::OrSymbol, item_id: String, matrix_with_display_name_config: T::Hash[Symbol, T.anything], @@ -11199,20 +11244,20 @@ module Orb billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) } @@ -11229,7 +11274,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::Cadence ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -11237,38 +11282,38 @@ module Orb ANNUAL = T.let( :annual, - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::Cadence::TaggedSymbol ) SEMI_ANNUAL = T.let( :semi_annual, - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::Cadence::TaggedSymbol ) MONTHLY = T.let( :monthly, - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::Cadence::TaggedSymbol ) QUARTERLY = T.let( :quarterly, - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::Cadence::TaggedSymbol ) ONE_TIME = T.let( :one_time, - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::Cadence::TaggedSymbol ) CUSTOM = T.let( :custom, - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::Cadence::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::Cadence::TaggedSymbol ] ) end @@ -11280,7 +11325,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -11292,7 +11337,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -11303,7 +11348,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -11319,7 +11364,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -11334,7 +11379,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -11342,18 +11387,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -11366,7 +11411,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration, Orb::Internal::AnyHash ) end @@ -11420,7 +11465,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -11432,7 +11477,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -11443,7 +11488,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -11459,7 +11504,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -11474,7 +11519,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -11482,18 +11527,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -11507,7 +11552,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration, Orb::Internal::AnyHash ) end @@ -11518,7 +11563,7 @@ module Orb # The cadence to bill for this price on. sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::Cadence::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::Cadence::OrSymbol ) end attr_accessor :cadence @@ -11549,7 +11594,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration ) ) end @@ -11559,7 +11604,7 @@ module Orb params( billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration::OrHash ) ).void end @@ -11578,7 +11623,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::DimensionalPriceConfiguration ) ) end @@ -11588,7 +11633,7 @@ module Orb params( dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::DimensionalPriceConfiguration::OrHash ) ).void end @@ -11612,7 +11657,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration ) ) end @@ -11622,7 +11667,7 @@ module Orb params( invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration::OrHash ) ).void end @@ -11638,27 +11683,27 @@ module Orb params( bulk_with_proration_config: T::Hash[Symbol, T.anything], cadence: - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::Cadence::OrSymbol, item_id: String, name: String, billable_metric_id: T.nilable(String), billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration::OrHash ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::DimensionalPriceConfiguration::OrHash ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration::OrHash ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), model_type: Symbol @@ -11711,7 +11756,7 @@ module Orb { bulk_with_proration_config: T::Hash[Symbol, T.anything], cadence: - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::Cadence::OrSymbol, item_id: String, model_type: Symbol, name: String, @@ -11719,20 +11764,20 @@ module Orb billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::DimensionalPriceConfiguration ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) } @@ -11749,7 +11794,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::Cadence ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -11757,38 +11802,38 @@ module Orb ANNUAL = T.let( :annual, - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::Cadence::TaggedSymbol ) SEMI_ANNUAL = T.let( :semi_annual, - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::Cadence::TaggedSymbol ) MONTHLY = T.let( :monthly, - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::Cadence::TaggedSymbol ) QUARTERLY = T.let( :quarterly, - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::Cadence::TaggedSymbol ) ONE_TIME = T.let( :one_time, - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::Cadence::TaggedSymbol ) CUSTOM = T.let( :custom, - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::Cadence::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::Cadence::TaggedSymbol ] ) end @@ -11800,7 +11845,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -11812,7 +11857,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -11823,7 +11868,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -11839,7 +11884,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -11854,7 +11899,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -11862,18 +11907,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -11886,7 +11931,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::DimensionalPriceConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::DimensionalPriceConfiguration, Orb::Internal::AnyHash ) end @@ -11940,7 +11985,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -11952,7 +11997,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -11963,7 +12008,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -11979,7 +12024,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -11994,7 +12039,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -12002,18 +12047,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -12027,7 +12072,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage, Orb::Internal::AnyHash ) end @@ -12035,7 +12080,7 @@ module Orb # The cadence to bill for this price on. sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::Cadence::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::Cadence::OrSymbol ) end attr_accessor :cadence @@ -12069,7 +12114,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration ) ) end @@ -12079,7 +12124,7 @@ module Orb params( billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration::OrHash ) ).void end @@ -12098,7 +12143,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration ) ) end @@ -12108,7 +12153,7 @@ module Orb params( dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration::OrHash ) ).void end @@ -12132,7 +12177,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration ) ) end @@ -12142,7 +12187,7 @@ module Orb params( invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::OrHash ) ).void end @@ -12157,7 +12202,7 @@ module Orb sig do params( cadence: - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::Cadence::OrSymbol, grouped_tiered_package_config: T::Hash[Symbol, T.anything], item_id: String, name: String, @@ -12165,20 +12210,20 @@ module Orb billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration::OrHash ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration::OrHash ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::OrHash ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), model_type: Symbol @@ -12230,7 +12275,7 @@ module Orb override.returns( { cadence: - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::Cadence::OrSymbol, grouped_tiered_package_config: T::Hash[Symbol, T.anything], item_id: String, model_type: Symbol, @@ -12239,20 +12284,20 @@ module Orb billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) } @@ -12269,7 +12314,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::Cadence ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -12277,38 +12322,38 @@ module Orb ANNUAL = T.let( :annual, - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::Cadence::TaggedSymbol ) SEMI_ANNUAL = T.let( :semi_annual, - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::Cadence::TaggedSymbol ) MONTHLY = T.let( :monthly, - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::Cadence::TaggedSymbol ) QUARTERLY = T.let( :quarterly, - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::Cadence::TaggedSymbol ) ONE_TIME = T.let( :one_time, - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::Cadence::TaggedSymbol ) CUSTOM = T.let( :custom, - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::Cadence::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::Cadence::TaggedSymbol ] ) end @@ -12320,7 +12365,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -12332,7 +12377,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -12343,7 +12388,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -12359,7 +12404,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -12374,7 +12419,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -12382,18 +12427,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -12406,7 +12451,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration, Orb::Internal::AnyHash ) end @@ -12460,7 +12505,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -12472,7 +12517,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -12483,7 +12528,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -12499,7 +12544,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -12514,7 +12559,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -12522,18 +12567,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -12547,7 +12592,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage, Orb::Internal::AnyHash ) end @@ -12555,7 +12600,7 @@ module Orb # The cadence to bill for this price on. sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::Cadence::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::Cadence::OrSymbol ) end attr_accessor :cadence @@ -12589,7 +12634,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration ) ) end @@ -12599,7 +12644,7 @@ module Orb params( billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::OrHash ) ).void end @@ -12618,7 +12663,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration ) ) end @@ -12628,7 +12673,7 @@ module Orb params( dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration::OrHash ) ).void end @@ -12652,7 +12697,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration ) ) end @@ -12662,7 +12707,7 @@ module Orb params( invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::OrHash ) ).void end @@ -12677,7 +12722,7 @@ module Orb sig do params( cadence: - Orb::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::Cadence::OrSymbol, item_id: String, max_group_tiered_package_config: T::Hash[Symbol, T.anything], name: String, @@ -12685,20 +12730,20 @@ module Orb billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::OrHash ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration::OrHash ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::OrHash ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), model_type: Symbol @@ -12750,7 +12795,7 @@ module Orb override.returns( { cadence: - Orb::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::Cadence::OrSymbol, item_id: String, max_group_tiered_package_config: T::Hash[Symbol, T.anything], @@ -12760,20 +12805,20 @@ module Orb billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) } @@ -12790,7 +12835,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::Cadence ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -12798,38 +12843,38 @@ module Orb ANNUAL = T.let( :annual, - Orb::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::Cadence::TaggedSymbol ) SEMI_ANNUAL = T.let( :semi_annual, - Orb::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::Cadence::TaggedSymbol ) MONTHLY = T.let( :monthly, - Orb::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::Cadence::TaggedSymbol ) QUARTERLY = T.let( :quarterly, - Orb::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::Cadence::TaggedSymbol ) ONE_TIME = T.let( :one_time, - Orb::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::Cadence::TaggedSymbol ) CUSTOM = T.let( :custom, - Orb::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::Cadence::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::Cadence::TaggedSymbol ] ) end @@ -12841,7 +12886,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -12853,7 +12898,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -12864,7 +12909,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -12880,7 +12925,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -12895,7 +12940,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -12903,18 +12948,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -12927,7 +12972,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration, Orb::Internal::AnyHash ) end @@ -12981,7 +13026,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -12993,7 +13038,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -13004,7 +13049,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -13020,7 +13065,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -13035,7 +13080,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -13043,18 +13088,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -13068,7 +13113,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing, Orb::Internal::AnyHash ) end @@ -13076,7 +13121,7 @@ module Orb # The cadence to bill for this price on. sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::Cadence::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::Cadence::OrSymbol ) end attr_accessor :cadence @@ -13110,7 +13155,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration ) ) end @@ -13120,7 +13165,7 @@ module Orb params( billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::OrHash ) ).void end @@ -13139,7 +13184,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration ) ) end @@ -13149,7 +13194,7 @@ module Orb params( dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration::OrHash ) ).void end @@ -13173,7 +13218,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration ) ) end @@ -13183,7 +13228,7 @@ module Orb params( invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::OrHash ) ).void end @@ -13198,7 +13243,7 @@ module Orb sig do params( cadence: - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::Cadence::OrSymbol, item_id: String, name: String, scalable_matrix_with_unit_pricing_config: @@ -13207,20 +13252,20 @@ module Orb billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::OrHash ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration::OrHash ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::OrHash ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), model_type: Symbol @@ -13272,7 +13317,7 @@ module Orb override.returns( { cadence: - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::Cadence::OrSymbol, item_id: String, model_type: Symbol, name: String, @@ -13282,20 +13327,20 @@ module Orb billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) } @@ -13312,7 +13357,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::Cadence ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -13320,38 +13365,38 @@ module Orb ANNUAL = T.let( :annual, - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::Cadence::TaggedSymbol ) SEMI_ANNUAL = T.let( :semi_annual, - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::Cadence::TaggedSymbol ) MONTHLY = T.let( :monthly, - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::Cadence::TaggedSymbol ) QUARTERLY = T.let( :quarterly, - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::Cadence::TaggedSymbol ) ONE_TIME = T.let( :one_time, - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::Cadence::TaggedSymbol ) CUSTOM = T.let( :custom, - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::Cadence::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::Cadence::TaggedSymbol ] ) end @@ -13363,7 +13408,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -13375,7 +13420,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -13386,7 +13431,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -13402,7 +13447,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -13417,7 +13462,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -13425,18 +13470,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -13449,7 +13494,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration, Orb::Internal::AnyHash ) end @@ -13503,7 +13548,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -13515,7 +13560,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -13526,7 +13571,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -13542,7 +13587,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -13557,7 +13602,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -13565,18 +13610,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -13590,7 +13635,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing, Orb::Internal::AnyHash ) end @@ -13598,7 +13643,7 @@ module Orb # The cadence to bill for this price on. sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::Cadence::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::Cadence::OrSymbol ) end attr_accessor :cadence @@ -13632,7 +13677,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration ) ) end @@ -13642,7 +13687,7 @@ module Orb params( billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::OrHash ) ).void end @@ -13661,7 +13706,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration ) ) end @@ -13671,7 +13716,7 @@ module Orb params( dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration::OrHash ) ).void end @@ -13695,7 +13740,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration ) ) end @@ -13705,7 +13750,7 @@ module Orb params( invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::OrHash ) ).void end @@ -13720,7 +13765,7 @@ module Orb sig do params( cadence: - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::Cadence::OrSymbol, item_id: String, name: String, scalable_matrix_with_tiered_pricing_config: @@ -13729,20 +13774,20 @@ module Orb billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::OrHash ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration::OrHash ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::OrHash ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), model_type: Symbol @@ -13794,7 +13839,7 @@ module Orb override.returns( { cadence: - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::Cadence::OrSymbol, item_id: String, model_type: Symbol, name: String, @@ -13804,20 +13849,20 @@ module Orb billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) } @@ -13834,7 +13879,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::Cadence ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -13842,38 +13887,38 @@ module Orb ANNUAL = T.let( :annual, - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::Cadence::TaggedSymbol ) SEMI_ANNUAL = T.let( :semi_annual, - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::Cadence::TaggedSymbol ) MONTHLY = T.let( :monthly, - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::Cadence::TaggedSymbol ) QUARTERLY = T.let( :quarterly, - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::Cadence::TaggedSymbol ) ONE_TIME = T.let( :one_time, - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::Cadence::TaggedSymbol ) CUSTOM = T.let( :custom, - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::Cadence::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::Cadence::TaggedSymbol ] ) end @@ -13885,7 +13930,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -13897,7 +13942,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -13908,7 +13953,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -13924,7 +13969,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -13939,7 +13984,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -13947,18 +13992,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -13971,7 +14016,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration, Orb::Internal::AnyHash ) end @@ -14025,7 +14070,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -14037,7 +14082,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -14048,7 +14093,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -14064,7 +14109,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -14079,7 +14124,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -14087,18 +14132,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -14112,7 +14157,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk, Orb::Internal::AnyHash ) end @@ -14120,7 +14165,7 @@ module Orb # The cadence to bill for this price on. sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::Cadence::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::Cadence::OrSymbol ) end attr_accessor :cadence @@ -14154,7 +14199,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration ) ) end @@ -14164,7 +14209,7 @@ module Orb params( billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::OrHash ) ).void end @@ -14183,7 +14228,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration ) ) end @@ -14193,7 +14238,7 @@ module Orb params( dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration::OrHash ) ).void end @@ -14217,7 +14262,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration ) ) end @@ -14227,7 +14272,7 @@ module Orb params( invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::OrHash ) ).void end @@ -14242,7 +14287,7 @@ module Orb sig do params( cadence: - Orb::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::Cadence::OrSymbol, cumulative_grouped_bulk_config: T::Hash[Symbol, T.anything], item_id: String, name: String, @@ -14250,20 +14295,20 @@ module Orb billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::OrHash ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration::OrHash ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::OrHash ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), model_type: Symbol @@ -14315,7 +14360,7 @@ module Orb override.returns( { cadence: - Orb::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::Cadence::OrSymbol, cumulative_grouped_bulk_config: T::Hash[Symbol, T.anything], item_id: String, model_type: Symbol, @@ -14324,20 +14369,20 @@ module Orb billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) } @@ -14354,7 +14399,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::Cadence ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -14362,38 +14407,38 @@ module Orb ANNUAL = T.let( :annual, - Orb::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::Cadence::TaggedSymbol ) SEMI_ANNUAL = T.let( :semi_annual, - Orb::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::Cadence::TaggedSymbol ) MONTHLY = T.let( :monthly, - Orb::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::Cadence::TaggedSymbol ) QUARTERLY = T.let( :quarterly, - Orb::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::Cadence::TaggedSymbol ) ONE_TIME = T.let( :one_time, - Orb::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::Cadence::TaggedSymbol ) CUSTOM = T.let( :custom, - Orb::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::Cadence::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::Cadence::TaggedSymbol ] ) end @@ -14405,7 +14450,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -14417,7 +14462,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -14428,7 +14473,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -14444,7 +14489,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -14459,7 +14504,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -14467,18 +14512,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -14491,7 +14536,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration, Orb::Internal::AnyHash ) end @@ -14545,7 +14590,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -14557,7 +14602,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -14568,7 +14613,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -14584,7 +14629,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -14599,7 +14644,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -14607,18 +14652,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -14632,7 +14677,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum, Orb::Internal::AnyHash ) end @@ -14640,7 +14685,7 @@ module Orb # The cadence to bill for this price on. sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::Cadence::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::Cadence::OrSymbol ) end attr_accessor :cadence @@ -14674,7 +14719,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration ) ) end @@ -14684,7 +14729,7 @@ module Orb params( billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::OrHash ) ).void end @@ -14703,7 +14748,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration ) ) end @@ -14713,7 +14758,7 @@ module Orb params( dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration::OrHash ) ).void end @@ -14737,7 +14782,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration ) ) end @@ -14747,7 +14792,7 @@ module Orb params( invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::OrHash ) ).void end @@ -14762,7 +14807,7 @@ module Orb sig do params( cadence: - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::Cadence::OrSymbol, item_id: String, name: String, tiered_package_with_minimum_config: @@ -14771,20 +14816,20 @@ module Orb billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::OrHash ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration::OrHash ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::OrHash ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), model_type: Symbol @@ -14836,7 +14881,7 @@ module Orb override.returns( { cadence: - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::Cadence::OrSymbol, item_id: String, model_type: Symbol, name: String, @@ -14846,20 +14891,20 @@ module Orb billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) } @@ -14876,7 +14921,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::Cadence ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -14884,38 +14929,38 @@ module Orb ANNUAL = T.let( :annual, - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::Cadence::TaggedSymbol ) SEMI_ANNUAL = T.let( :semi_annual, - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::Cadence::TaggedSymbol ) MONTHLY = T.let( :monthly, - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::Cadence::TaggedSymbol ) QUARTERLY = T.let( :quarterly, - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::Cadence::TaggedSymbol ) ONE_TIME = T.let( :one_time, - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::Cadence::TaggedSymbol ) CUSTOM = T.let( :custom, - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::Cadence::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::Cadence::TaggedSymbol ] ) end @@ -14927,7 +14972,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -14939,7 +14984,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -14950,7 +14995,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -14966,7 +15011,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -14981,7 +15026,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -14989,18 +15034,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -15013,7 +15058,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration, Orb::Internal::AnyHash ) end @@ -15067,7 +15112,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -15079,7 +15124,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -15090,7 +15135,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -15106,7 +15151,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -15121,7 +15166,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -15129,18 +15174,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -15154,7 +15199,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation, Orb::Internal::AnyHash ) end @@ -15162,7 +15207,7 @@ module Orb # The cadence to bill for this price on. sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::Cadence::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::Cadence::OrSymbol ) end attr_accessor :cadence @@ -15173,7 +15218,7 @@ module Orb sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig ) end attr_reader :matrix_with_allocation_config @@ -15181,7 +15226,7 @@ module Orb sig do params( matrix_with_allocation_config: - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::OrHash ).void end attr_writer :matrix_with_allocation_config @@ -15208,7 +15253,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration ) ) end @@ -15218,7 +15263,7 @@ module Orb params( billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration::OrHash ) ).void end @@ -15237,7 +15282,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration ) ) end @@ -15247,7 +15292,7 @@ module Orb params( dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration::OrHash ) ).void end @@ -15271,7 +15316,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration ) ) end @@ -15281,7 +15326,7 @@ module Orb params( invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::OrHash ) ).void end @@ -15296,29 +15341,29 @@ module Orb sig do params( cadence: - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::Cadence::OrSymbol, item_id: String, matrix_with_allocation_config: - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::OrHash, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::OrHash, name: String, billable_metric_id: T.nilable(String), billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration::OrHash ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration::OrHash ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::OrHash ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), model_type: Symbol @@ -15370,30 +15415,30 @@ module Orb override.returns( { cadence: - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::Cadence::OrSymbol, item_id: String, matrix_with_allocation_config: - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig, model_type: Symbol, name: String, billable_metric_id: T.nilable(String), billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) } @@ -15410,7 +15455,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::Cadence ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -15418,38 +15463,38 @@ module Orb ANNUAL = T.let( :annual, - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::Cadence::TaggedSymbol ) SEMI_ANNUAL = T.let( :semi_annual, - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::Cadence::TaggedSymbol ) MONTHLY = T.let( :monthly, - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::Cadence::TaggedSymbol ) QUARTERLY = T.let( :quarterly, - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::Cadence::TaggedSymbol ) ONE_TIME = T.let( :one_time, - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::Cadence::TaggedSymbol ) CUSTOM = T.let( :custom, - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::Cadence::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::Cadence::TaggedSymbol ] ) end @@ -15461,7 +15506,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig, Orb::Internal::AnyHash ) end @@ -15482,7 +15527,7 @@ module Orb sig do returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue ] ) end @@ -15495,7 +15540,7 @@ module Orb dimensions: T::Array[T.nilable(String)], matrix_values: T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue::OrHash ] ).returns(T.attached_class) end @@ -15519,7 +15564,7 @@ module Orb dimensions: T::Array[T.nilable(String)], matrix_values: T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue ] } ) @@ -15531,7 +15576,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue, Orb::Internal::AnyHash ) end @@ -15579,7 +15624,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -15591,7 +15636,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -15602,7 +15647,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -15618,7 +15663,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -15633,7 +15678,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -15641,18 +15686,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -15665,7 +15710,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration, Orb::Internal::AnyHash ) end @@ -15719,7 +15764,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -15731,7 +15776,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -15742,7 +15787,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -15758,7 +15803,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -15773,7 +15818,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -15781,18 +15826,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -15806,7 +15851,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered, Orb::Internal::AnyHash ) end @@ -15814,7 +15859,7 @@ module Orb # The cadence to bill for this price on. sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::Cadence::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::Cadence::OrSymbol ) end attr_accessor :cadence @@ -15848,7 +15893,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration ) ) end @@ -15858,7 +15903,7 @@ module Orb params( billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration::OrHash ) ).void end @@ -15877,7 +15922,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::DimensionalPriceConfiguration ) ) end @@ -15887,7 +15932,7 @@ module Orb params( dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::DimensionalPriceConfiguration::OrHash ) ).void end @@ -15911,7 +15956,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration ) ) end @@ -15921,7 +15966,7 @@ module Orb params( invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration::OrHash ) ).void end @@ -15936,7 +15981,7 @@ module Orb sig do params( cadence: - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::Cadence::OrSymbol, grouped_tiered_config: T::Hash[Symbol, T.anything], item_id: String, name: String, @@ -15944,20 +15989,20 @@ module Orb billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration::OrHash ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::DimensionalPriceConfiguration::OrHash ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration::OrHash ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), model_type: Symbol @@ -16009,7 +16054,7 @@ module Orb override.returns( { cadence: - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::Cadence::OrSymbol, grouped_tiered_config: T::Hash[Symbol, T.anything], item_id: String, model_type: Symbol, @@ -16018,20 +16063,20 @@ module Orb billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::DimensionalPriceConfiguration ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) } @@ -16048,7 +16093,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::Cadence ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -16056,38 +16101,38 @@ module Orb ANNUAL = T.let( :annual, - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::Cadence::TaggedSymbol ) SEMI_ANNUAL = T.let( :semi_annual, - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::Cadence::TaggedSymbol ) MONTHLY = T.let( :monthly, - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::Cadence::TaggedSymbol ) QUARTERLY = T.let( :quarterly, - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::Cadence::TaggedSymbol ) ONE_TIME = T.let( :one_time, - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::Cadence::TaggedSymbol ) CUSTOM = T.let( :custom, - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::Cadence::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::Cadence::TaggedSymbol ] ) end @@ -16099,7 +16144,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -16111,7 +16156,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -16122,7 +16167,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -16138,7 +16183,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -16153,7 +16198,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -16161,18 +16206,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -16185,7 +16230,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::DimensionalPriceConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::DimensionalPriceConfiguration, Orb::Internal::AnyHash ) end @@ -16239,7 +16284,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -16251,7 +16296,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -16262,7 +16307,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -16278,7 +16323,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -16293,7 +16338,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -16301,18 +16346,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -16325,7 +16370,7 @@ module Orb sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::AddPrice::Price::Variants + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Variants ] ) end @@ -16338,7 +16383,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::RemoveAdjustment, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::RemoveAdjustment, Orb::Internal::AnyHash ) end @@ -16378,7 +16423,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::RemovePrice, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::RemovePrice, Orb::Internal::AnyHash ) end @@ -16418,7 +16463,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplaceAdjustment, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplaceAdjustment, Orb::Internal::AnyHash ) end @@ -16427,11 +16472,11 @@ module Orb sig do returns( T.any( - Orb::Plans::VersionCreateParams::ReplaceAdjustment::Adjustment::PercentageDiscount, - Orb::Plans::VersionCreateParams::ReplaceAdjustment::Adjustment::UsageDiscount, - Orb::Plans::VersionCreateParams::ReplaceAdjustment::Adjustment::AmountDiscount, - Orb::Plans::VersionCreateParams::ReplaceAdjustment::Adjustment::Minimum, - Orb::Plans::VersionCreateParams::ReplaceAdjustment::Adjustment::Maximum + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplaceAdjustment::Adjustment::PercentageDiscount, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplaceAdjustment::Adjustment::UsageDiscount, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplaceAdjustment::Adjustment::AmountDiscount, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplaceAdjustment::Adjustment::Minimum, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplaceAdjustment::Adjustment::Maximum ) ) end @@ -16449,11 +16494,11 @@ module Orb params( adjustment: T.any( - Orb::Plans::VersionCreateParams::ReplaceAdjustment::Adjustment::PercentageDiscount::OrHash, - Orb::Plans::VersionCreateParams::ReplaceAdjustment::Adjustment::UsageDiscount::OrHash, - Orb::Plans::VersionCreateParams::ReplaceAdjustment::Adjustment::AmountDiscount::OrHash, - Orb::Plans::VersionCreateParams::ReplaceAdjustment::Adjustment::Minimum::OrHash, - Orb::Plans::VersionCreateParams::ReplaceAdjustment::Adjustment::Maximum::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplaceAdjustment::Adjustment::PercentageDiscount::OrHash, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplaceAdjustment::Adjustment::UsageDiscount::OrHash, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplaceAdjustment::Adjustment::AmountDiscount::OrHash, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplaceAdjustment::Adjustment::Minimum::OrHash, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplaceAdjustment::Adjustment::Maximum::OrHash ), replaces_adjustment_id: String, plan_phase_order: T.nilable(Integer) @@ -16474,11 +16519,11 @@ module Orb { adjustment: T.any( - Orb::Plans::VersionCreateParams::ReplaceAdjustment::Adjustment::PercentageDiscount, - Orb::Plans::VersionCreateParams::ReplaceAdjustment::Adjustment::UsageDiscount, - Orb::Plans::VersionCreateParams::ReplaceAdjustment::Adjustment::AmountDiscount, - Orb::Plans::VersionCreateParams::ReplaceAdjustment::Adjustment::Minimum, - Orb::Plans::VersionCreateParams::ReplaceAdjustment::Adjustment::Maximum + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplaceAdjustment::Adjustment::PercentageDiscount, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplaceAdjustment::Adjustment::UsageDiscount, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplaceAdjustment::Adjustment::AmountDiscount, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplaceAdjustment::Adjustment::Minimum, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplaceAdjustment::Adjustment::Maximum ), replaces_adjustment_id: String, plan_phase_order: T.nilable(Integer) @@ -16495,11 +16540,11 @@ module Orb Variants = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplaceAdjustment::Adjustment::PercentageDiscount, - Orb::Plans::VersionCreateParams::ReplaceAdjustment::Adjustment::UsageDiscount, - Orb::Plans::VersionCreateParams::ReplaceAdjustment::Adjustment::AmountDiscount, - Orb::Plans::VersionCreateParams::ReplaceAdjustment::Adjustment::Minimum, - Orb::Plans::VersionCreateParams::ReplaceAdjustment::Adjustment::Maximum + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplaceAdjustment::Adjustment::PercentageDiscount, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplaceAdjustment::Adjustment::UsageDiscount, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplaceAdjustment::Adjustment::AmountDiscount, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplaceAdjustment::Adjustment::Minimum, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplaceAdjustment::Adjustment::Maximum ) end @@ -16507,7 +16552,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplaceAdjustment::Adjustment::PercentageDiscount, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplaceAdjustment::Adjustment::PercentageDiscount, Orb::Internal::AnyHash ) end @@ -16567,7 +16612,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplaceAdjustment::Adjustment::UsageDiscount, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplaceAdjustment::Adjustment::UsageDiscount, Orb::Internal::AnyHash ) end @@ -16627,7 +16672,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplaceAdjustment::Adjustment::AmountDiscount, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplaceAdjustment::Adjustment::AmountDiscount, Orb::Internal::AnyHash ) end @@ -16687,7 +16732,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplaceAdjustment::Adjustment::Minimum, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplaceAdjustment::Adjustment::Minimum, Orb::Internal::AnyHash ) end @@ -16755,7 +16800,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplaceAdjustment::Adjustment::Maximum, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplaceAdjustment::Adjustment::Maximum, Orb::Internal::AnyHash ) end @@ -16814,7 +16859,7 @@ module Orb sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplaceAdjustment::Adjustment::Variants + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplaceAdjustment::Adjustment::Variants ] ) end @@ -16827,7 +16872,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice, Orb::Internal::AnyHash ) end @@ -16840,7 +16885,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::AllocationPrice + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::AllocationPrice ) ) end @@ -16850,7 +16895,7 @@ module Orb params( allocation_price: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::AllocationPrice::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::AllocationPrice::OrHash ) ).void end @@ -16865,34 +16910,34 @@ module Orb returns( T.nilable( T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Unit, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Package, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Matrix, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Tiered, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bps, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bulk, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered ) ) ) @@ -16904,40 +16949,40 @@ module Orb replaces_price_id: String, allocation_price: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::AllocationPrice::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::AllocationPrice::OrHash ), plan_phase_order: T.nilable(Integer), price: T.nilable( T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Unit::OrHash, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Package::OrHash, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::OrHash, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::OrHash, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::OrHash, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bps::OrHash, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::OrHash, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::OrHash, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::OrHash, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::OrHash, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::OrHash, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::OrHash, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::OrHash, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::OrHash, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::OrHash, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::OrHash, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::OrHash, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::OrHash, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::OrHash, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::OrHash, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::OrHash, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::OrHash, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::OrHash, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::OrHash, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::OrHash, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::OrHash, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::OrHash, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::OrHash, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::OrHash, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::OrHash, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::OrHash, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::OrHash, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::OrHash, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::OrHash, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::OrHash, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::OrHash, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::OrHash, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::OrHash, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::OrHash, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::OrHash, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::OrHash, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::OrHash, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::OrHash, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::OrHash, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::OrHash, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::OrHash, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::OrHash, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::OrHash, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::OrHash, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::OrHash, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::OrHash, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::OrHash, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::OrHash, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::OrHash, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::OrHash ) ) ).returns(T.attached_class) @@ -16960,40 +17005,40 @@ module Orb replaces_price_id: String, allocation_price: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::AllocationPrice + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::AllocationPrice ), plan_phase_order: T.nilable(Integer), price: T.nilable( T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Unit, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Package, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Matrix, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Tiered, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bps, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bulk, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered ) ) } @@ -17006,7 +17051,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::AllocationPrice, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::AllocationPrice, Orb::Internal::AnyHash ) end @@ -17018,7 +17063,7 @@ module Orb # The cadence at which to allocate the amount to the customer. sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::AllocationPrice::Cadence::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::AllocationPrice::Cadence::OrSymbol ) end attr_accessor :cadence @@ -17038,7 +17083,7 @@ module Orb params( amount: String, cadence: - Orb::Plans::VersionCreateParams::ReplacePrice::AllocationPrice::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::AllocationPrice::Cadence::OrSymbol, currency: String, expires_at_end_of_cadence: T::Boolean ).returns(T.attached_class) @@ -17062,7 +17107,7 @@ module Orb { amount: String, cadence: - Orb::Plans::VersionCreateParams::ReplacePrice::AllocationPrice::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::AllocationPrice::Cadence::OrSymbol, currency: String, expires_at_end_of_cadence: T::Boolean } @@ -17079,7 +17124,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::ReplacePrice::AllocationPrice::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::AllocationPrice::Cadence ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -17087,38 +17132,38 @@ module Orb ONE_TIME = T.let( :one_time, - Orb::Plans::VersionCreateParams::ReplacePrice::AllocationPrice::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::AllocationPrice::Cadence::TaggedSymbol ) MONTHLY = T.let( :monthly, - Orb::Plans::VersionCreateParams::ReplacePrice::AllocationPrice::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::AllocationPrice::Cadence::TaggedSymbol ) QUARTERLY = T.let( :quarterly, - Orb::Plans::VersionCreateParams::ReplacePrice::AllocationPrice::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::AllocationPrice::Cadence::TaggedSymbol ) SEMI_ANNUAL = T.let( :semi_annual, - Orb::Plans::VersionCreateParams::ReplacePrice::AllocationPrice::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::AllocationPrice::Cadence::TaggedSymbol ) ANNUAL = T.let( :annual, - Orb::Plans::VersionCreateParams::ReplacePrice::AllocationPrice::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::AllocationPrice::Cadence::TaggedSymbol ) CUSTOM = T.let( :custom, - Orb::Plans::VersionCreateParams::ReplacePrice::AllocationPrice::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::AllocationPrice::Cadence::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::AllocationPrice::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::AllocationPrice::Cadence::TaggedSymbol ] ) end @@ -17134,34 +17179,34 @@ module Orb Variants = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Unit, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Package, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Matrix, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Tiered, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bps, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bulk, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered ) end @@ -17169,7 +17214,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Unit, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit, Orb::Internal::AnyHash ) end @@ -17177,7 +17222,7 @@ module Orb # The cadence to bill for this price on. sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Unit::Cadence::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::Cadence::OrSymbol ) end attr_accessor :cadence @@ -17195,7 +17240,7 @@ module Orb sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Unit::UnitConfig + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::UnitConfig ) end attr_reader :unit_config @@ -17203,7 +17248,7 @@ module Orb sig do params( unit_config: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Unit::UnitConfig::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::UnitConfig::OrHash ).void end attr_writer :unit_config @@ -17223,7 +17268,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Unit::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::BillingCycleConfiguration ) ) end @@ -17233,7 +17278,7 @@ module Orb params( billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Unit::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::BillingCycleConfiguration::OrHash ) ).void end @@ -17252,7 +17297,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Unit::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::DimensionalPriceConfiguration ) ) end @@ -17262,7 +17307,7 @@ module Orb params( dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Unit::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::DimensionalPriceConfiguration::OrHash ) ).void end @@ -17286,7 +17331,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration ) ) end @@ -17296,7 +17341,7 @@ module Orb params( invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration::OrHash ) ).void end @@ -17311,29 +17356,29 @@ module Orb sig do params( cadence: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Unit::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::Cadence::OrSymbol, item_id: String, name: String, unit_config: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Unit::UnitConfig::OrHash, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::UnitConfig::OrHash, billable_metric_id: T.nilable(String), billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Unit::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::BillingCycleConfiguration::OrHash ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Unit::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::DimensionalPriceConfiguration::OrHash ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration::OrHash ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), model_type: Symbol @@ -17385,30 +17430,30 @@ module Orb override.returns( { cadence: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Unit::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::Cadence::OrSymbol, item_id: String, model_type: Symbol, name: String, unit_config: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Unit::UnitConfig, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::UnitConfig, billable_metric_id: T.nilable(String), billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Unit::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::BillingCycleConfiguration ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Unit::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::DimensionalPriceConfiguration ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) } @@ -17425,7 +17470,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Unit::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::Cadence ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -17433,38 +17478,38 @@ module Orb ANNUAL = T.let( :annual, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Unit::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::Cadence::TaggedSymbol ) SEMI_ANNUAL = T.let( :semi_annual, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Unit::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::Cadence::TaggedSymbol ) MONTHLY = T.let( :monthly, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Unit::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::Cadence::TaggedSymbol ) QUARTERLY = T.let( :quarterly, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Unit::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::Cadence::TaggedSymbol ) ONE_TIME = T.let( :one_time, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Unit::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::Cadence::TaggedSymbol ) CUSTOM = T.let( :custom, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Unit::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::Cadence::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Unit::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::Cadence::TaggedSymbol ] ) end @@ -17476,7 +17521,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Unit::UnitConfig, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::UnitConfig, Orb::Internal::AnyHash ) end @@ -17501,7 +17546,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Unit::BillingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::BillingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -17513,7 +17558,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Unit::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::BillingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -17524,7 +17569,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Unit::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::BillingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -17540,7 +17585,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Unit::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::BillingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -17555,7 +17600,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Unit::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::BillingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -17563,18 +17608,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Unit::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Unit::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Unit::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::BillingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -17587,7 +17632,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Unit::DimensionalPriceConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::DimensionalPriceConfiguration, Orb::Internal::AnyHash ) end @@ -17641,7 +17686,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -17653,7 +17698,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -17664,7 +17709,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -17680,7 +17725,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -17695,7 +17740,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -17703,18 +17748,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -17728,7 +17773,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Package, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package, Orb::Internal::AnyHash ) end @@ -17736,7 +17781,7 @@ module Orb # The cadence to bill for this price on. sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Package::Cadence::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::Cadence::OrSymbol ) end attr_accessor :cadence @@ -17754,7 +17799,7 @@ module Orb sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Package::PackageConfig + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::PackageConfig ) end attr_reader :package_config @@ -17762,7 +17807,7 @@ module Orb sig do params( package_config: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Package::PackageConfig::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::PackageConfig::OrHash ).void end attr_writer :package_config @@ -17782,7 +17827,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Package::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::BillingCycleConfiguration ) ) end @@ -17792,7 +17837,7 @@ module Orb params( billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Package::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::BillingCycleConfiguration::OrHash ) ).void end @@ -17811,7 +17856,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Package::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::DimensionalPriceConfiguration ) ) end @@ -17821,7 +17866,7 @@ module Orb params( dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Package::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::DimensionalPriceConfiguration::OrHash ) ).void end @@ -17845,7 +17890,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration ) ) end @@ -17855,7 +17900,7 @@ module Orb params( invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration::OrHash ) ).void end @@ -17870,29 +17915,29 @@ module Orb sig do params( cadence: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Package::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::Cadence::OrSymbol, item_id: String, name: String, package_config: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Package::PackageConfig::OrHash, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::PackageConfig::OrHash, billable_metric_id: T.nilable(String), billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Package::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::BillingCycleConfiguration::OrHash ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Package::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::DimensionalPriceConfiguration::OrHash ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration::OrHash ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), model_type: Symbol @@ -17944,30 +17989,30 @@ module Orb override.returns( { cadence: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Package::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::Cadence::OrSymbol, item_id: String, model_type: Symbol, name: String, package_config: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Package::PackageConfig, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::PackageConfig, billable_metric_id: T.nilable(String), billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Package::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::BillingCycleConfiguration ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Package::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::DimensionalPriceConfiguration ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) } @@ -17984,7 +18029,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Package::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::Cadence ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -17992,38 +18037,38 @@ module Orb ANNUAL = T.let( :annual, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Package::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::Cadence::TaggedSymbol ) SEMI_ANNUAL = T.let( :semi_annual, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Package::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::Cadence::TaggedSymbol ) MONTHLY = T.let( :monthly, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Package::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::Cadence::TaggedSymbol ) QUARTERLY = T.let( :quarterly, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Package::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::Cadence::TaggedSymbol ) ONE_TIME = T.let( :one_time, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Package::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::Cadence::TaggedSymbol ) CUSTOM = T.let( :custom, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Package::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::Cadence::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Package::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::Cadence::TaggedSymbol ] ) end @@ -18035,7 +18080,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Package::PackageConfig, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::PackageConfig, Orb::Internal::AnyHash ) end @@ -18076,7 +18121,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Package::BillingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::BillingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -18088,7 +18133,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Package::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::BillingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -18099,7 +18144,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Package::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::BillingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -18115,7 +18160,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Package::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::BillingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -18130,7 +18175,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Package::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::BillingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -18138,18 +18183,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Package::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Package::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Package::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::BillingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -18162,7 +18207,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Package::DimensionalPriceConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::DimensionalPriceConfiguration, Orb::Internal::AnyHash ) end @@ -18216,7 +18261,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -18228,7 +18273,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -18239,7 +18284,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -18255,7 +18300,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -18270,7 +18315,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -18278,18 +18323,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -18303,7 +18348,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Matrix, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix, Orb::Internal::AnyHash ) end @@ -18311,7 +18356,7 @@ module Orb # The cadence to bill for this price on. sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::Cadence::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::Cadence::OrSymbol ) end attr_accessor :cadence @@ -18322,7 +18367,7 @@ module Orb sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::MatrixConfig + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::MatrixConfig ) end attr_reader :matrix_config @@ -18330,7 +18375,7 @@ module Orb sig do params( matrix_config: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::MatrixConfig::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::MatrixConfig::OrHash ).void end attr_writer :matrix_config @@ -18357,7 +18402,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration ) ) end @@ -18367,7 +18412,7 @@ module Orb params( billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration::OrHash ) ).void end @@ -18386,7 +18431,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::DimensionalPriceConfiguration ) ) end @@ -18396,7 +18441,7 @@ module Orb params( dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::DimensionalPriceConfiguration::OrHash ) ).void end @@ -18420,7 +18465,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration ) ) end @@ -18430,7 +18475,7 @@ module Orb params( invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration::OrHash ) ).void end @@ -18445,29 +18490,29 @@ module Orb sig do params( cadence: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::Cadence::OrSymbol, item_id: String, matrix_config: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::MatrixConfig::OrHash, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::MatrixConfig::OrHash, name: String, billable_metric_id: T.nilable(String), billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration::OrHash ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::DimensionalPriceConfiguration::OrHash ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration::OrHash ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), model_type: Symbol @@ -18519,30 +18564,30 @@ module Orb override.returns( { cadence: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::Cadence::OrSymbol, item_id: String, matrix_config: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::MatrixConfig, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::MatrixConfig, model_type: Symbol, name: String, billable_metric_id: T.nilable(String), billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::DimensionalPriceConfiguration ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) } @@ -18559,7 +18604,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::Cadence ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -18567,38 +18612,38 @@ module Orb ANNUAL = T.let( :annual, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::Cadence::TaggedSymbol ) SEMI_ANNUAL = T.let( :semi_annual, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::Cadence::TaggedSymbol ) MONTHLY = T.let( :monthly, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::Cadence::TaggedSymbol ) QUARTERLY = T.let( :quarterly, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::Cadence::TaggedSymbol ) ONE_TIME = T.let( :one_time, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::Cadence::TaggedSymbol ) CUSTOM = T.let( :custom, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::Cadence::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::Cadence::TaggedSymbol ] ) end @@ -18610,7 +18655,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::MatrixConfig, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::MatrixConfig, Orb::Internal::AnyHash ) end @@ -18627,7 +18672,7 @@ module Orb sig do returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::MatrixConfig::MatrixValue + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::MatrixConfig::MatrixValue ] ) end @@ -18639,7 +18684,7 @@ module Orb dimensions: T::Array[T.nilable(String)], matrix_values: T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::MatrixConfig::MatrixValue::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::MatrixConfig::MatrixValue::OrHash ] ).returns(T.attached_class) end @@ -18660,7 +18705,7 @@ module Orb dimensions: T::Array[T.nilable(String)], matrix_values: T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::MatrixConfig::MatrixValue + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::MatrixConfig::MatrixValue ] } ) @@ -18672,7 +18717,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::MatrixConfig::MatrixValue, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::MatrixConfig::MatrixValue, Orb::Internal::AnyHash ) end @@ -18720,7 +18765,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -18732,7 +18777,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -18743,7 +18788,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -18759,7 +18804,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -18774,7 +18819,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -18782,18 +18827,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -18806,7 +18851,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::DimensionalPriceConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::DimensionalPriceConfiguration, Orb::Internal::AnyHash ) end @@ -18860,7 +18905,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -18872,7 +18917,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -18883,7 +18928,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -18899,7 +18944,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -18914,7 +18959,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -18922,18 +18967,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -18947,7 +18992,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Tiered, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered, Orb::Internal::AnyHash ) end @@ -18955,7 +19000,7 @@ module Orb # The cadence to bill for this price on. sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::Cadence::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::Cadence::OrSymbol ) end attr_accessor :cadence @@ -18973,7 +19018,7 @@ module Orb sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::TieredConfig + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::TieredConfig ) end attr_reader :tiered_config @@ -18981,7 +19026,7 @@ module Orb sig do params( tiered_config: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::TieredConfig::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::TieredConfig::OrHash ).void end attr_writer :tiered_config @@ -19001,7 +19046,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration ) ) end @@ -19011,7 +19056,7 @@ module Orb params( billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration::OrHash ) ).void end @@ -19030,7 +19075,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::DimensionalPriceConfiguration ) ) end @@ -19040,7 +19085,7 @@ module Orb params( dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::DimensionalPriceConfiguration::OrHash ) ).void end @@ -19064,7 +19109,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration ) ) end @@ -19074,7 +19119,7 @@ module Orb params( invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration::OrHash ) ).void end @@ -19089,29 +19134,29 @@ module Orb sig do params( cadence: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::Cadence::OrSymbol, item_id: String, name: String, tiered_config: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::TieredConfig::OrHash, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::TieredConfig::OrHash, billable_metric_id: T.nilable(String), billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration::OrHash ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::DimensionalPriceConfiguration::OrHash ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration::OrHash ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), model_type: Symbol @@ -19163,30 +19208,30 @@ module Orb override.returns( { cadence: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::Cadence::OrSymbol, item_id: String, model_type: Symbol, name: String, tiered_config: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::TieredConfig, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::TieredConfig, billable_metric_id: T.nilable(String), billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::DimensionalPriceConfiguration ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) } @@ -19203,7 +19248,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::Cadence ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -19211,38 +19256,38 @@ module Orb ANNUAL = T.let( :annual, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::Cadence::TaggedSymbol ) SEMI_ANNUAL = T.let( :semi_annual, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::Cadence::TaggedSymbol ) MONTHLY = T.let( :monthly, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::Cadence::TaggedSymbol ) QUARTERLY = T.let( :quarterly, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::Cadence::TaggedSymbol ) ONE_TIME = T.let( :one_time, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::Cadence::TaggedSymbol ) CUSTOM = T.let( :custom, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::Cadence::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::Cadence::TaggedSymbol ] ) end @@ -19254,7 +19299,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::TieredConfig, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::TieredConfig, Orb::Internal::AnyHash ) end @@ -19263,7 +19308,7 @@ module Orb sig do returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::TieredConfig::Tier + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::TieredConfig::Tier ] ) end @@ -19273,7 +19318,7 @@ module Orb params( tiers: T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::TieredConfig::Tier::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::TieredConfig::Tier::OrHash ] ).returns(T.attached_class) end @@ -19288,7 +19333,7 @@ module Orb { tiers: T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::TieredConfig::Tier + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::TieredConfig::Tier ] } ) @@ -19300,7 +19345,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::TieredConfig::Tier, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::TieredConfig::Tier, Orb::Internal::AnyHash ) end @@ -19352,7 +19397,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -19364,7 +19409,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -19375,7 +19420,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -19391,7 +19436,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -19406,7 +19451,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -19414,18 +19459,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -19438,7 +19483,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::DimensionalPriceConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::DimensionalPriceConfiguration, Orb::Internal::AnyHash ) end @@ -19492,7 +19537,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -19504,7 +19549,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -19515,7 +19560,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -19531,7 +19576,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -19546,7 +19591,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -19554,18 +19599,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -19579,7 +19624,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps, Orb::Internal::AnyHash ) end @@ -19587,7 +19632,7 @@ module Orb # The cadence to bill for this price on. sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::Cadence::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::Cadence::OrSymbol ) end attr_accessor :cadence @@ -19605,7 +19650,7 @@ module Orb sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::TieredBpsConfig + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::TieredBpsConfig ) end attr_reader :tiered_bps_config @@ -19613,7 +19658,7 @@ module Orb sig do params( tiered_bps_config: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::TieredBpsConfig::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::TieredBpsConfig::OrHash ).void end attr_writer :tiered_bps_config @@ -19633,7 +19678,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration ) ) end @@ -19643,7 +19688,7 @@ module Orb params( billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration::OrHash ) ).void end @@ -19662,7 +19707,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::DimensionalPriceConfiguration ) ) end @@ -19672,7 +19717,7 @@ module Orb params( dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::DimensionalPriceConfiguration::OrHash ) ).void end @@ -19696,7 +19741,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration ) ) end @@ -19706,7 +19751,7 @@ module Orb params( invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration::OrHash ) ).void end @@ -19721,29 +19766,29 @@ module Orb sig do params( cadence: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::Cadence::OrSymbol, item_id: String, name: String, tiered_bps_config: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::TieredBpsConfig::OrHash, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::TieredBpsConfig::OrHash, billable_metric_id: T.nilable(String), billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration::OrHash ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::DimensionalPriceConfiguration::OrHash ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration::OrHash ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), model_type: Symbol @@ -19795,30 +19840,30 @@ module Orb override.returns( { cadence: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::Cadence::OrSymbol, item_id: String, model_type: Symbol, name: String, tiered_bps_config: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::TieredBpsConfig, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::TieredBpsConfig, billable_metric_id: T.nilable(String), billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::DimensionalPriceConfiguration ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) } @@ -19835,7 +19880,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::Cadence ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -19843,38 +19888,38 @@ module Orb ANNUAL = T.let( :annual, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::Cadence::TaggedSymbol ) SEMI_ANNUAL = T.let( :semi_annual, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::Cadence::TaggedSymbol ) MONTHLY = T.let( :monthly, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::Cadence::TaggedSymbol ) QUARTERLY = T.let( :quarterly, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::Cadence::TaggedSymbol ) ONE_TIME = T.let( :one_time, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::Cadence::TaggedSymbol ) CUSTOM = T.let( :custom, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::Cadence::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::Cadence::TaggedSymbol ] ) end @@ -19886,7 +19931,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::TieredBpsConfig, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::TieredBpsConfig, Orb::Internal::AnyHash ) end @@ -19896,7 +19941,7 @@ module Orb sig do returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::TieredBpsConfig::Tier + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::TieredBpsConfig::Tier ] ) end @@ -19906,7 +19951,7 @@ module Orb params( tiers: T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::TieredBpsConfig::Tier::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::TieredBpsConfig::Tier::OrHash ] ).returns(T.attached_class) end @@ -19922,7 +19967,7 @@ module Orb { tiers: T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::TieredBpsConfig::Tier + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::TieredBpsConfig::Tier ] } ) @@ -19934,7 +19979,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::TieredBpsConfig::Tier, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::TieredBpsConfig::Tier, Orb::Internal::AnyHash ) end @@ -19994,7 +20039,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -20006,7 +20051,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -20017,7 +20062,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -20033,7 +20078,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -20048,7 +20093,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -20056,18 +20101,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -20080,7 +20125,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::DimensionalPriceConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::DimensionalPriceConfiguration, Orb::Internal::AnyHash ) end @@ -20134,7 +20179,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -20146,7 +20191,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -20157,7 +20202,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -20173,7 +20218,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -20188,7 +20233,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -20196,18 +20241,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -20221,14 +20266,14 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bps, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps, Orb::Internal::AnyHash ) end sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bps::BpsConfig + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::BpsConfig ) end attr_reader :bps_config @@ -20236,7 +20281,7 @@ module Orb sig do params( bps_config: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bps::BpsConfig::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::BpsConfig::OrHash ).void end attr_writer :bps_config @@ -20244,7 +20289,7 @@ module Orb # The cadence to bill for this price on. sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bps::Cadence::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::Cadence::OrSymbol ) end attr_accessor :cadence @@ -20275,7 +20320,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bps::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::BillingCycleConfiguration ) ) end @@ -20285,7 +20330,7 @@ module Orb params( billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bps::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::BillingCycleConfiguration::OrHash ) ).void end @@ -20304,7 +20349,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bps::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::DimensionalPriceConfiguration ) ) end @@ -20314,7 +20359,7 @@ module Orb params( dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bps::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::DimensionalPriceConfiguration::OrHash ) ).void end @@ -20338,7 +20383,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration ) ) end @@ -20348,7 +20393,7 @@ module Orb params( invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration::OrHash ) ).void end @@ -20363,29 +20408,29 @@ module Orb sig do params( bps_config: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bps::BpsConfig::OrHash, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::BpsConfig::OrHash, cadence: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bps::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::Cadence::OrSymbol, item_id: String, name: String, billable_metric_id: T.nilable(String), billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bps::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::BillingCycleConfiguration::OrHash ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bps::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::DimensionalPriceConfiguration::OrHash ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration::OrHash ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), model_type: Symbol @@ -20437,9 +20482,9 @@ module Orb override.returns( { bps_config: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bps::BpsConfig, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::BpsConfig, cadence: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bps::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::Cadence::OrSymbol, item_id: String, model_type: Symbol, name: String, @@ -20447,20 +20492,20 @@ module Orb billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bps::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::BillingCycleConfiguration ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bps::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::DimensionalPriceConfiguration ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) } @@ -20473,7 +20518,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bps::BpsConfig, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::BpsConfig, Orb::Internal::AnyHash ) end @@ -20517,7 +20562,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bps::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::Cadence ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -20525,38 +20570,38 @@ module Orb ANNUAL = T.let( :annual, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bps::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::Cadence::TaggedSymbol ) SEMI_ANNUAL = T.let( :semi_annual, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bps::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::Cadence::TaggedSymbol ) MONTHLY = T.let( :monthly, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bps::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::Cadence::TaggedSymbol ) QUARTERLY = T.let( :quarterly, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bps::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::Cadence::TaggedSymbol ) ONE_TIME = T.let( :one_time, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bps::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::Cadence::TaggedSymbol ) CUSTOM = T.let( :custom, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bps::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::Cadence::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bps::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::Cadence::TaggedSymbol ] ) end @@ -20568,7 +20613,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bps::BillingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::BillingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -20580,7 +20625,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bps::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::BillingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -20591,7 +20636,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bps::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::BillingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -20607,7 +20652,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bps::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::BillingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -20622,7 +20667,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bps::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::BillingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -20630,18 +20675,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bps::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bps::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bps::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::BillingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -20654,7 +20699,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bps::DimensionalPriceConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::DimensionalPriceConfiguration, Orb::Internal::AnyHash ) end @@ -20708,7 +20753,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -20720,7 +20765,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -20731,7 +20776,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -20747,7 +20792,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -20762,7 +20807,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -20770,18 +20815,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -20795,14 +20840,14 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps, Orb::Internal::AnyHash ) end sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::BulkBpsConfig + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BulkBpsConfig ) end attr_reader :bulk_bps_config @@ -20810,7 +20855,7 @@ module Orb sig do params( bulk_bps_config: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::BulkBpsConfig::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BulkBpsConfig::OrHash ).void end attr_writer :bulk_bps_config @@ -20818,7 +20863,7 @@ module Orb # The cadence to bill for this price on. sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::Cadence::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::Cadence::OrSymbol ) end attr_accessor :cadence @@ -20849,7 +20894,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration ) ) end @@ -20859,7 +20904,7 @@ module Orb params( billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration::OrHash ) ).void end @@ -20878,7 +20923,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::DimensionalPriceConfiguration ) ) end @@ -20888,7 +20933,7 @@ module Orb params( dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::DimensionalPriceConfiguration::OrHash ) ).void end @@ -20912,7 +20957,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration ) ) end @@ -20922,7 +20967,7 @@ module Orb params( invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration::OrHash ) ).void end @@ -20937,29 +20982,29 @@ module Orb sig do params( bulk_bps_config: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::BulkBpsConfig::OrHash, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BulkBpsConfig::OrHash, cadence: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::Cadence::OrSymbol, item_id: String, name: String, billable_metric_id: T.nilable(String), billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration::OrHash ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::DimensionalPriceConfiguration::OrHash ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration::OrHash ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), model_type: Symbol @@ -21011,9 +21056,9 @@ module Orb override.returns( { bulk_bps_config: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::BulkBpsConfig, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BulkBpsConfig, cadence: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::Cadence::OrSymbol, item_id: String, model_type: Symbol, name: String, @@ -21021,20 +21066,20 @@ module Orb billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::DimensionalPriceConfiguration ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) } @@ -21047,7 +21092,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::BulkBpsConfig, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BulkBpsConfig, Orb::Internal::AnyHash ) end @@ -21057,7 +21102,7 @@ module Orb sig do returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::BulkBpsConfig::Tier + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BulkBpsConfig::Tier ] ) end @@ -21067,7 +21112,7 @@ module Orb params( tiers: T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::BulkBpsConfig::Tier::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BulkBpsConfig::Tier::OrHash ] ).returns(T.attached_class) end @@ -21083,7 +21128,7 @@ module Orb { tiers: T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::BulkBpsConfig::Tier + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BulkBpsConfig::Tier ] } ) @@ -21095,7 +21140,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::BulkBpsConfig::Tier, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BulkBpsConfig::Tier, Orb::Internal::AnyHash ) end @@ -21151,7 +21196,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::Cadence ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -21159,38 +21204,38 @@ module Orb ANNUAL = T.let( :annual, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::Cadence::TaggedSymbol ) SEMI_ANNUAL = T.let( :semi_annual, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::Cadence::TaggedSymbol ) MONTHLY = T.let( :monthly, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::Cadence::TaggedSymbol ) QUARTERLY = T.let( :quarterly, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::Cadence::TaggedSymbol ) ONE_TIME = T.let( :one_time, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::Cadence::TaggedSymbol ) CUSTOM = T.let( :custom, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::Cadence::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::Cadence::TaggedSymbol ] ) end @@ -21202,7 +21247,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -21214,7 +21259,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -21225,7 +21270,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -21241,7 +21286,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -21256,7 +21301,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -21264,18 +21309,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -21288,7 +21333,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::DimensionalPriceConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::DimensionalPriceConfiguration, Orb::Internal::AnyHash ) end @@ -21342,7 +21387,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -21354,7 +21399,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -21365,7 +21410,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -21381,7 +21426,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -21396,7 +21441,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -21404,18 +21449,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -21429,14 +21474,14 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bulk, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk, Orb::Internal::AnyHash ) end sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::BulkConfig + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::BulkConfig ) end attr_reader :bulk_config @@ -21444,7 +21489,7 @@ module Orb sig do params( bulk_config: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::BulkConfig::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::BulkConfig::OrHash ).void end attr_writer :bulk_config @@ -21452,7 +21497,7 @@ module Orb # The cadence to bill for this price on. sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::Cadence::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::Cadence::OrSymbol ) end attr_accessor :cadence @@ -21483,7 +21528,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration ) ) end @@ -21493,7 +21538,7 @@ module Orb params( billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration::OrHash ) ).void end @@ -21512,7 +21557,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::DimensionalPriceConfiguration ) ) end @@ -21522,7 +21567,7 @@ module Orb params( dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::DimensionalPriceConfiguration::OrHash ) ).void end @@ -21546,7 +21591,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration ) ) end @@ -21556,7 +21601,7 @@ module Orb params( invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration::OrHash ) ).void end @@ -21571,29 +21616,29 @@ module Orb sig do params( bulk_config: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::BulkConfig::OrHash, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::BulkConfig::OrHash, cadence: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::Cadence::OrSymbol, item_id: String, name: String, billable_metric_id: T.nilable(String), billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration::OrHash ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::DimensionalPriceConfiguration::OrHash ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration::OrHash ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), model_type: Symbol @@ -21645,9 +21690,9 @@ module Orb override.returns( { bulk_config: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::BulkConfig, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::BulkConfig, cadence: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::Cadence::OrSymbol, item_id: String, model_type: Symbol, name: String, @@ -21655,20 +21700,20 @@ module Orb billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::DimensionalPriceConfiguration ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) } @@ -21681,7 +21726,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::BulkConfig, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::BulkConfig, Orb::Internal::AnyHash ) end @@ -21690,7 +21735,7 @@ module Orb sig do returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::BulkConfig::Tier + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::BulkConfig::Tier ] ) end @@ -21700,7 +21745,7 @@ module Orb params( tiers: T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::BulkConfig::Tier::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::BulkConfig::Tier::OrHash ] ).returns(T.attached_class) end @@ -21715,7 +21760,7 @@ module Orb { tiers: T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::BulkConfig::Tier + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::BulkConfig::Tier ] } ) @@ -21727,7 +21772,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::BulkConfig::Tier, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::BulkConfig::Tier, Orb::Internal::AnyHash ) end @@ -21772,7 +21817,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::Cadence ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -21780,38 +21825,38 @@ module Orb ANNUAL = T.let( :annual, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::Cadence::TaggedSymbol ) SEMI_ANNUAL = T.let( :semi_annual, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::Cadence::TaggedSymbol ) MONTHLY = T.let( :monthly, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::Cadence::TaggedSymbol ) QUARTERLY = T.let( :quarterly, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::Cadence::TaggedSymbol ) ONE_TIME = T.let( :one_time, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::Cadence::TaggedSymbol ) CUSTOM = T.let( :custom, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::Cadence::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::Cadence::TaggedSymbol ] ) end @@ -21823,7 +21868,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -21835,7 +21880,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -21846,7 +21891,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -21862,7 +21907,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -21877,7 +21922,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -21885,18 +21930,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -21909,7 +21954,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::DimensionalPriceConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::DimensionalPriceConfiguration, Orb::Internal::AnyHash ) end @@ -21963,7 +22008,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -21975,7 +22020,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -21986,7 +22031,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -22002,7 +22047,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -22017,7 +22062,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -22025,18 +22070,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -22050,7 +22095,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount, Orb::Internal::AnyHash ) end @@ -22058,7 +22103,7 @@ module Orb # The cadence to bill for this price on. sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::Cadence::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::Cadence::OrSymbol ) end attr_accessor :cadence @@ -22092,7 +22137,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration ) ) end @@ -22102,7 +22147,7 @@ module Orb params( billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::OrHash ) ).void end @@ -22121,7 +22166,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration ) ) end @@ -22131,7 +22176,7 @@ module Orb params( dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration::OrHash ) ).void end @@ -22155,7 +22200,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration ) ) end @@ -22165,7 +22210,7 @@ module Orb params( invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::OrHash ) ).void end @@ -22180,7 +22225,7 @@ module Orb sig do params( cadence: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::Cadence::OrSymbol, item_id: String, name: String, threshold_total_amount_config: T::Hash[Symbol, T.anything], @@ -22188,20 +22233,20 @@ module Orb billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::OrHash ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration::OrHash ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::OrHash ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), model_type: Symbol @@ -22253,7 +22298,7 @@ module Orb override.returns( { cadence: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::Cadence::OrSymbol, item_id: String, model_type: Symbol, name: String, @@ -22262,20 +22307,20 @@ module Orb billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) } @@ -22292,7 +22337,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::Cadence ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -22300,38 +22345,38 @@ module Orb ANNUAL = T.let( :annual, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::Cadence::TaggedSymbol ) SEMI_ANNUAL = T.let( :semi_annual, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::Cadence::TaggedSymbol ) MONTHLY = T.let( :monthly, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::Cadence::TaggedSymbol ) QUARTERLY = T.let( :quarterly, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::Cadence::TaggedSymbol ) ONE_TIME = T.let( :one_time, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::Cadence::TaggedSymbol ) CUSTOM = T.let( :custom, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::Cadence::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::Cadence::TaggedSymbol ] ) end @@ -22343,7 +22388,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -22355,7 +22400,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -22366,7 +22411,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -22382,7 +22427,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -22397,7 +22442,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -22405,18 +22450,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -22429,7 +22474,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration, Orb::Internal::AnyHash ) end @@ -22483,7 +22528,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -22495,7 +22540,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -22506,7 +22551,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -22522,7 +22567,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -22537,7 +22582,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -22545,18 +22590,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -22570,7 +22615,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage, Orb::Internal::AnyHash ) end @@ -22578,7 +22623,7 @@ module Orb # The cadence to bill for this price on. sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::Cadence::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::Cadence::OrSymbol ) end attr_accessor :cadence @@ -22612,7 +22657,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration ) ) end @@ -22622,7 +22667,7 @@ module Orb params( billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration::OrHash ) ).void end @@ -22641,7 +22686,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::DimensionalPriceConfiguration ) ) end @@ -22651,7 +22696,7 @@ module Orb params( dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::DimensionalPriceConfiguration::OrHash ) ).void end @@ -22675,7 +22720,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration ) ) end @@ -22685,7 +22730,7 @@ module Orb params( invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration::OrHash ) ).void end @@ -22700,7 +22745,7 @@ module Orb sig do params( cadence: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::Cadence::OrSymbol, item_id: String, name: String, tiered_package_config: T::Hash[Symbol, T.anything], @@ -22708,20 +22753,20 @@ module Orb billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration::OrHash ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::DimensionalPriceConfiguration::OrHash ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration::OrHash ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), model_type: Symbol @@ -22773,7 +22818,7 @@ module Orb override.returns( { cadence: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::Cadence::OrSymbol, item_id: String, model_type: Symbol, name: String, @@ -22782,20 +22827,20 @@ module Orb billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::DimensionalPriceConfiguration ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) } @@ -22812,7 +22857,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::Cadence ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -22820,38 +22865,38 @@ module Orb ANNUAL = T.let( :annual, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::Cadence::TaggedSymbol ) SEMI_ANNUAL = T.let( :semi_annual, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::Cadence::TaggedSymbol ) MONTHLY = T.let( :monthly, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::Cadence::TaggedSymbol ) QUARTERLY = T.let( :quarterly, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::Cadence::TaggedSymbol ) ONE_TIME = T.let( :one_time, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::Cadence::TaggedSymbol ) CUSTOM = T.let( :custom, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::Cadence::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::Cadence::TaggedSymbol ] ) end @@ -22863,7 +22908,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -22875,7 +22920,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -22886,7 +22931,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -22902,7 +22947,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -22917,7 +22962,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -22925,18 +22970,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -22949,7 +22994,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::DimensionalPriceConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::DimensionalPriceConfiguration, Orb::Internal::AnyHash ) end @@ -23003,7 +23048,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -23015,7 +23060,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -23026,7 +23071,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -23042,7 +23087,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -23057,7 +23102,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -23065,18 +23110,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -23090,7 +23135,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum, Orb::Internal::AnyHash ) end @@ -23098,7 +23143,7 @@ module Orb # The cadence to bill for this price on. sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::Cadence::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::Cadence::OrSymbol ) end attr_accessor :cadence @@ -23132,7 +23177,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration ) ) end @@ -23142,7 +23187,7 @@ module Orb params( billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration::OrHash ) ).void end @@ -23161,7 +23206,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::DimensionalPriceConfiguration ) ) end @@ -23171,7 +23216,7 @@ module Orb params( dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::DimensionalPriceConfiguration::OrHash ) ).void end @@ -23195,7 +23240,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration ) ) end @@ -23205,7 +23250,7 @@ module Orb params( invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::OrHash ) ).void end @@ -23220,7 +23265,7 @@ module Orb sig do params( cadence: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::Cadence::OrSymbol, item_id: String, name: String, tiered_with_minimum_config: T::Hash[Symbol, T.anything], @@ -23228,20 +23273,20 @@ module Orb billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration::OrHash ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::DimensionalPriceConfiguration::OrHash ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::OrHash ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), model_type: Symbol @@ -23293,7 +23338,7 @@ module Orb override.returns( { cadence: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::Cadence::OrSymbol, item_id: String, model_type: Symbol, name: String, @@ -23302,20 +23347,20 @@ module Orb billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::DimensionalPriceConfiguration ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) } @@ -23332,7 +23377,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::Cadence ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -23340,38 +23385,38 @@ module Orb ANNUAL = T.let( :annual, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::Cadence::TaggedSymbol ) SEMI_ANNUAL = T.let( :semi_annual, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::Cadence::TaggedSymbol ) MONTHLY = T.let( :monthly, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::Cadence::TaggedSymbol ) QUARTERLY = T.let( :quarterly, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::Cadence::TaggedSymbol ) ONE_TIME = T.let( :one_time, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::Cadence::TaggedSymbol ) CUSTOM = T.let( :custom, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::Cadence::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::Cadence::TaggedSymbol ] ) end @@ -23383,7 +23428,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -23395,7 +23440,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -23406,7 +23451,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -23422,7 +23467,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -23437,7 +23482,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -23445,18 +23490,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -23469,7 +23514,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::DimensionalPriceConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::DimensionalPriceConfiguration, Orb::Internal::AnyHash ) end @@ -23523,7 +23568,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -23535,7 +23580,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -23546,7 +23591,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -23562,7 +23607,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -23577,7 +23622,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -23585,18 +23630,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -23610,7 +23655,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent, Orb::Internal::AnyHash ) end @@ -23618,7 +23663,7 @@ module Orb # The cadence to bill for this price on. sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::Cadence::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::Cadence::OrSymbol ) end attr_accessor :cadence @@ -23652,7 +23697,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration ) ) end @@ -23662,7 +23707,7 @@ module Orb params( billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration::OrHash ) ).void end @@ -23681,7 +23726,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::DimensionalPriceConfiguration ) ) end @@ -23691,7 +23736,7 @@ module Orb params( dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::DimensionalPriceConfiguration::OrHash ) ).void end @@ -23715,7 +23760,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration ) ) end @@ -23725,7 +23770,7 @@ module Orb params( invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration::OrHash ) ).void end @@ -23740,7 +23785,7 @@ module Orb sig do params( cadence: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::Cadence::OrSymbol, item_id: String, name: String, unit_with_percent_config: T::Hash[Symbol, T.anything], @@ -23748,20 +23793,20 @@ module Orb billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration::OrHash ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::DimensionalPriceConfiguration::OrHash ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration::OrHash ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), model_type: Symbol @@ -23813,7 +23858,7 @@ module Orb override.returns( { cadence: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::Cadence::OrSymbol, item_id: String, model_type: Symbol, name: String, @@ -23822,20 +23867,20 @@ module Orb billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::DimensionalPriceConfiguration ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) } @@ -23852,7 +23897,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::Cadence ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -23860,38 +23905,38 @@ module Orb ANNUAL = T.let( :annual, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::Cadence::TaggedSymbol ) SEMI_ANNUAL = T.let( :semi_annual, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::Cadence::TaggedSymbol ) MONTHLY = T.let( :monthly, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::Cadence::TaggedSymbol ) QUARTERLY = T.let( :quarterly, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::Cadence::TaggedSymbol ) ONE_TIME = T.let( :one_time, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::Cadence::TaggedSymbol ) CUSTOM = T.let( :custom, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::Cadence::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::Cadence::TaggedSymbol ] ) end @@ -23903,7 +23948,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -23915,7 +23960,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -23926,7 +23971,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -23942,7 +23987,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -23957,7 +24002,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -23965,18 +24010,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -23989,7 +24034,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::DimensionalPriceConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::DimensionalPriceConfiguration, Orb::Internal::AnyHash ) end @@ -24043,7 +24088,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -24055,7 +24100,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -24066,7 +24111,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -24082,7 +24127,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -24097,7 +24142,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -24105,18 +24150,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -24130,7 +24175,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation, Orb::Internal::AnyHash ) end @@ -24138,7 +24183,7 @@ module Orb # The cadence to bill for this price on. sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::Cadence::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::Cadence::OrSymbol ) end attr_accessor :cadence @@ -24172,7 +24217,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration ) ) end @@ -24182,7 +24227,7 @@ module Orb params( billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration::OrHash ) ).void end @@ -24201,7 +24246,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::DimensionalPriceConfiguration ) ) end @@ -24211,7 +24256,7 @@ module Orb params( dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::DimensionalPriceConfiguration::OrHash ) ).void end @@ -24235,7 +24280,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration ) ) end @@ -24245,7 +24290,7 @@ module Orb params( invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::OrHash ) ).void end @@ -24260,7 +24305,7 @@ module Orb sig do params( cadence: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::Cadence::OrSymbol, item_id: String, name: String, package_with_allocation_config: T::Hash[Symbol, T.anything], @@ -24268,20 +24313,20 @@ module Orb billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration::OrHash ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::DimensionalPriceConfiguration::OrHash ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::OrHash ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), model_type: Symbol @@ -24333,7 +24378,7 @@ module Orb override.returns( { cadence: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::Cadence::OrSymbol, item_id: String, model_type: Symbol, name: String, @@ -24342,20 +24387,20 @@ module Orb billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::DimensionalPriceConfiguration ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) } @@ -24372,7 +24417,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::Cadence ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -24380,38 +24425,38 @@ module Orb ANNUAL = T.let( :annual, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::Cadence::TaggedSymbol ) SEMI_ANNUAL = T.let( :semi_annual, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::Cadence::TaggedSymbol ) MONTHLY = T.let( :monthly, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::Cadence::TaggedSymbol ) QUARTERLY = T.let( :quarterly, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::Cadence::TaggedSymbol ) ONE_TIME = T.let( :one_time, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::Cadence::TaggedSymbol ) CUSTOM = T.let( :custom, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::Cadence::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::Cadence::TaggedSymbol ] ) end @@ -24423,7 +24468,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -24435,7 +24480,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -24446,7 +24491,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -24462,7 +24507,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -24477,7 +24522,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -24485,18 +24530,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -24509,7 +24554,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::DimensionalPriceConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::DimensionalPriceConfiguration, Orb::Internal::AnyHash ) end @@ -24563,7 +24608,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -24575,7 +24620,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -24586,7 +24631,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -24602,7 +24647,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -24617,7 +24662,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -24625,18 +24670,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -24650,7 +24695,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration, Orb::Internal::AnyHash ) end @@ -24658,7 +24703,7 @@ module Orb # The cadence to bill for this price on. sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::Cadence::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::Cadence::OrSymbol ) end attr_accessor :cadence @@ -24692,7 +24737,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration ) ) end @@ -24702,7 +24747,7 @@ module Orb params( billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration::OrHash ) ).void end @@ -24721,7 +24766,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::DimensionalPriceConfiguration ) ) end @@ -24731,7 +24776,7 @@ module Orb params( dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::DimensionalPriceConfiguration::OrHash ) ).void end @@ -24755,7 +24800,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration ) ) end @@ -24765,7 +24810,7 @@ module Orb params( invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration::OrHash ) ).void end @@ -24780,7 +24825,7 @@ module Orb sig do params( cadence: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::Cadence::OrSymbol, item_id: String, name: String, tiered_with_proration_config: T::Hash[Symbol, T.anything], @@ -24788,20 +24833,20 @@ module Orb billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration::OrHash ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::DimensionalPriceConfiguration::OrHash ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration::OrHash ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), model_type: Symbol @@ -24853,7 +24898,7 @@ module Orb override.returns( { cadence: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::Cadence::OrSymbol, item_id: String, model_type: Symbol, name: String, @@ -24862,20 +24907,20 @@ module Orb billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::DimensionalPriceConfiguration ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) } @@ -24892,7 +24937,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::Cadence ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -24900,38 +24945,38 @@ module Orb ANNUAL = T.let( :annual, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::Cadence::TaggedSymbol ) SEMI_ANNUAL = T.let( :semi_annual, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::Cadence::TaggedSymbol ) MONTHLY = T.let( :monthly, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::Cadence::TaggedSymbol ) QUARTERLY = T.let( :quarterly, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::Cadence::TaggedSymbol ) ONE_TIME = T.let( :one_time, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::Cadence::TaggedSymbol ) CUSTOM = T.let( :custom, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::Cadence::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::Cadence::TaggedSymbol ] ) end @@ -24943,7 +24988,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -24955,7 +25000,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -24966,7 +25011,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -24982,7 +25027,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -24997,7 +25042,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -25005,18 +25050,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -25029,7 +25074,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::DimensionalPriceConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::DimensionalPriceConfiguration, Orb::Internal::AnyHash ) end @@ -25083,7 +25128,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -25095,7 +25140,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -25106,7 +25151,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -25122,7 +25167,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -25137,7 +25182,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -25145,18 +25190,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -25170,7 +25215,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration, Orb::Internal::AnyHash ) end @@ -25178,7 +25223,7 @@ module Orb # The cadence to bill for this price on. sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::Cadence::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::Cadence::OrSymbol ) end attr_accessor :cadence @@ -25212,7 +25257,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration ) ) end @@ -25222,7 +25267,7 @@ module Orb params( billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration::OrHash ) ).void end @@ -25241,7 +25286,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::DimensionalPriceConfiguration ) ) end @@ -25251,7 +25296,7 @@ module Orb params( dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::DimensionalPriceConfiguration::OrHash ) ).void end @@ -25275,7 +25320,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration ) ) end @@ -25285,7 +25330,7 @@ module Orb params( invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration::OrHash ) ).void end @@ -25300,7 +25345,7 @@ module Orb sig do params( cadence: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::Cadence::OrSymbol, item_id: String, name: String, unit_with_proration_config: T::Hash[Symbol, T.anything], @@ -25308,20 +25353,20 @@ module Orb billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration::OrHash ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::DimensionalPriceConfiguration::OrHash ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration::OrHash ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), model_type: Symbol @@ -25373,7 +25418,7 @@ module Orb override.returns( { cadence: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::Cadence::OrSymbol, item_id: String, model_type: Symbol, name: String, @@ -25382,20 +25427,20 @@ module Orb billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::DimensionalPriceConfiguration ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) } @@ -25412,7 +25457,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::Cadence ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -25420,38 +25465,38 @@ module Orb ANNUAL = T.let( :annual, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::Cadence::TaggedSymbol ) SEMI_ANNUAL = T.let( :semi_annual, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::Cadence::TaggedSymbol ) MONTHLY = T.let( :monthly, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::Cadence::TaggedSymbol ) QUARTERLY = T.let( :quarterly, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::Cadence::TaggedSymbol ) ONE_TIME = T.let( :one_time, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::Cadence::TaggedSymbol ) CUSTOM = T.let( :custom, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::Cadence::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::Cadence::TaggedSymbol ] ) end @@ -25463,7 +25508,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -25475,7 +25520,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -25486,7 +25531,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -25502,7 +25547,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -25517,7 +25562,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -25525,18 +25570,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -25549,7 +25594,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::DimensionalPriceConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::DimensionalPriceConfiguration, Orb::Internal::AnyHash ) end @@ -25603,7 +25648,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -25615,7 +25660,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -25626,7 +25671,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -25642,7 +25687,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -25657,7 +25702,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -25665,18 +25710,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -25690,7 +25735,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation, Orb::Internal::AnyHash ) end @@ -25698,7 +25743,7 @@ module Orb # The cadence to bill for this price on. sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::Cadence::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::Cadence::OrSymbol ) end attr_accessor :cadence @@ -25732,7 +25777,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration ) ) end @@ -25742,7 +25787,7 @@ module Orb params( billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration::OrHash ) ).void end @@ -25761,7 +25806,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::DimensionalPriceConfiguration ) ) end @@ -25771,7 +25816,7 @@ module Orb params( dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::DimensionalPriceConfiguration::OrHash ) ).void end @@ -25795,7 +25840,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration ) ) end @@ -25805,7 +25850,7 @@ module Orb params( invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration::OrHash ) ).void end @@ -25820,7 +25865,7 @@ module Orb sig do params( cadence: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::Cadence::OrSymbol, grouped_allocation_config: T::Hash[Symbol, T.anything], item_id: String, name: String, @@ -25828,20 +25873,20 @@ module Orb billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration::OrHash ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::DimensionalPriceConfiguration::OrHash ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration::OrHash ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), model_type: Symbol @@ -25893,7 +25938,7 @@ module Orb override.returns( { cadence: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::Cadence::OrSymbol, grouped_allocation_config: T::Hash[Symbol, T.anything], item_id: String, model_type: Symbol, @@ -25902,20 +25947,20 @@ module Orb billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::DimensionalPriceConfiguration ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) } @@ -25932,7 +25977,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::Cadence ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -25940,38 +25985,38 @@ module Orb ANNUAL = T.let( :annual, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::Cadence::TaggedSymbol ) SEMI_ANNUAL = T.let( :semi_annual, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::Cadence::TaggedSymbol ) MONTHLY = T.let( :monthly, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::Cadence::TaggedSymbol ) QUARTERLY = T.let( :quarterly, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::Cadence::TaggedSymbol ) ONE_TIME = T.let( :one_time, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::Cadence::TaggedSymbol ) CUSTOM = T.let( :custom, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::Cadence::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::Cadence::TaggedSymbol ] ) end @@ -25983,7 +26028,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -25995,7 +26040,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -26006,7 +26051,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -26022,7 +26067,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -26037,7 +26082,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -26045,18 +26090,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -26069,7 +26114,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::DimensionalPriceConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::DimensionalPriceConfiguration, Orb::Internal::AnyHash ) end @@ -26123,7 +26168,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -26135,7 +26180,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -26146,7 +26191,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -26162,7 +26207,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -26177,7 +26222,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -26185,18 +26230,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -26210,7 +26255,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum, Orb::Internal::AnyHash ) end @@ -26218,7 +26263,7 @@ module Orb # The cadence to bill for this price on. sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::Cadence::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::Cadence::OrSymbol ) end attr_accessor :cadence @@ -26252,7 +26297,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration ) ) end @@ -26262,7 +26307,7 @@ module Orb params( billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::OrHash ) ).void end @@ -26281,7 +26326,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration ) ) end @@ -26291,7 +26336,7 @@ module Orb params( dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration::OrHash ) ).void end @@ -26315,7 +26360,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration ) ) end @@ -26325,7 +26370,7 @@ module Orb params( invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::OrHash ) ).void end @@ -26340,7 +26385,7 @@ module Orb sig do params( cadence: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::Cadence::OrSymbol, grouped_with_prorated_minimum_config: T::Hash[Symbol, T.anything], item_id: String, @@ -26349,20 +26394,20 @@ module Orb billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::OrHash ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration::OrHash ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::OrHash ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), model_type: Symbol @@ -26414,7 +26459,7 @@ module Orb override.returns( { cadence: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::Cadence::OrSymbol, grouped_with_prorated_minimum_config: T::Hash[Symbol, T.anything], item_id: String, @@ -26424,20 +26469,20 @@ module Orb billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) } @@ -26454,7 +26499,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::Cadence ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -26462,38 +26507,38 @@ module Orb ANNUAL = T.let( :annual, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::Cadence::TaggedSymbol ) SEMI_ANNUAL = T.let( :semi_annual, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::Cadence::TaggedSymbol ) MONTHLY = T.let( :monthly, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::Cadence::TaggedSymbol ) QUARTERLY = T.let( :quarterly, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::Cadence::TaggedSymbol ) ONE_TIME = T.let( :one_time, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::Cadence::TaggedSymbol ) CUSTOM = T.let( :custom, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::Cadence::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::Cadence::TaggedSymbol ] ) end @@ -26505,7 +26550,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -26517,7 +26562,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -26528,7 +26573,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -26544,7 +26589,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -26559,7 +26604,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -26567,18 +26612,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -26591,7 +26636,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration, Orb::Internal::AnyHash ) end @@ -26645,7 +26690,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -26657,7 +26702,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -26668,7 +26713,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -26684,7 +26729,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -26699,7 +26744,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -26707,18 +26752,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -26732,7 +26777,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum, Orb::Internal::AnyHash ) end @@ -26740,7 +26785,7 @@ module Orb # The cadence to bill for this price on. sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::Cadence::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::Cadence::OrSymbol ) end attr_accessor :cadence @@ -26774,7 +26819,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration ) ) end @@ -26784,7 +26829,7 @@ module Orb params( billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::OrHash ) ).void end @@ -26803,7 +26848,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration ) ) end @@ -26813,7 +26858,7 @@ module Orb params( dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration::OrHash ) ).void end @@ -26837,7 +26882,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration ) ) end @@ -26847,7 +26892,7 @@ module Orb params( invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::OrHash ) ).void end @@ -26862,7 +26907,7 @@ module Orb sig do params( cadence: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::Cadence::OrSymbol, grouped_with_metered_minimum_config: T::Hash[Symbol, T.anything], item_id: String, @@ -26871,20 +26916,20 @@ module Orb billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::OrHash ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration::OrHash ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::OrHash ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), model_type: Symbol @@ -26936,7 +26981,7 @@ module Orb override.returns( { cadence: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::Cadence::OrSymbol, grouped_with_metered_minimum_config: T::Hash[Symbol, T.anything], item_id: String, @@ -26946,20 +26991,20 @@ module Orb billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) } @@ -26976,7 +27021,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::Cadence ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -26984,38 +27029,38 @@ module Orb ANNUAL = T.let( :annual, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::Cadence::TaggedSymbol ) SEMI_ANNUAL = T.let( :semi_annual, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::Cadence::TaggedSymbol ) MONTHLY = T.let( :monthly, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::Cadence::TaggedSymbol ) QUARTERLY = T.let( :quarterly, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::Cadence::TaggedSymbol ) ONE_TIME = T.let( :one_time, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::Cadence::TaggedSymbol ) CUSTOM = T.let( :custom, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::Cadence::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::Cadence::TaggedSymbol ] ) end @@ -27027,7 +27072,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -27039,7 +27084,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -27050,7 +27095,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -27066,7 +27111,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -27081,7 +27126,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -27089,18 +27134,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -27113,7 +27158,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration, Orb::Internal::AnyHash ) end @@ -27167,7 +27212,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -27179,7 +27224,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -27190,7 +27235,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -27206,7 +27251,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -27221,7 +27266,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -27229,18 +27274,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -27254,7 +27299,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName, Orb::Internal::AnyHash ) end @@ -27262,7 +27307,7 @@ module Orb # The cadence to bill for this price on. sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::Cadence::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::Cadence::OrSymbol ) end attr_accessor :cadence @@ -27296,7 +27341,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration ) ) end @@ -27306,7 +27351,7 @@ module Orb params( billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::OrHash ) ).void end @@ -27325,7 +27370,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration ) ) end @@ -27335,7 +27380,7 @@ module Orb params( dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration::OrHash ) ).void end @@ -27359,7 +27404,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration ) ) end @@ -27369,7 +27414,7 @@ module Orb params( invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::OrHash ) ).void end @@ -27384,7 +27429,7 @@ module Orb sig do params( cadence: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::Cadence::OrSymbol, item_id: String, matrix_with_display_name_config: T::Hash[Symbol, T.anything], name: String, @@ -27392,20 +27437,20 @@ module Orb billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::OrHash ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration::OrHash ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::OrHash ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), model_type: Symbol @@ -27457,7 +27502,7 @@ module Orb override.returns( { cadence: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::Cadence::OrSymbol, item_id: String, matrix_with_display_name_config: T::Hash[Symbol, T.anything], @@ -27467,20 +27512,20 @@ module Orb billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) } @@ -27497,7 +27542,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::Cadence ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -27505,38 +27550,38 @@ module Orb ANNUAL = T.let( :annual, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::Cadence::TaggedSymbol ) SEMI_ANNUAL = T.let( :semi_annual, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::Cadence::TaggedSymbol ) MONTHLY = T.let( :monthly, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::Cadence::TaggedSymbol ) QUARTERLY = T.let( :quarterly, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::Cadence::TaggedSymbol ) ONE_TIME = T.let( :one_time, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::Cadence::TaggedSymbol ) CUSTOM = T.let( :custom, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::Cadence::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::Cadence::TaggedSymbol ] ) end @@ -27548,7 +27593,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -27560,7 +27605,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -27571,7 +27616,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -27587,7 +27632,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -27602,7 +27647,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -27610,18 +27655,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -27634,7 +27679,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration, Orb::Internal::AnyHash ) end @@ -27688,7 +27733,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -27700,7 +27745,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -27711,7 +27756,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -27727,7 +27772,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -27742,7 +27787,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -27750,18 +27795,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -27775,7 +27820,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration, Orb::Internal::AnyHash ) end @@ -27786,7 +27831,7 @@ module Orb # The cadence to bill for this price on. sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::Cadence::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::Cadence::OrSymbol ) end attr_accessor :cadence @@ -27817,7 +27862,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration ) ) end @@ -27827,7 +27872,7 @@ module Orb params( billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration::OrHash ) ).void end @@ -27846,7 +27891,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::DimensionalPriceConfiguration ) ) end @@ -27856,7 +27901,7 @@ module Orb params( dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::DimensionalPriceConfiguration::OrHash ) ).void end @@ -27880,7 +27925,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration ) ) end @@ -27890,7 +27935,7 @@ module Orb params( invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration::OrHash ) ).void end @@ -27906,27 +27951,27 @@ module Orb params( bulk_with_proration_config: T::Hash[Symbol, T.anything], cadence: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::Cadence::OrSymbol, item_id: String, name: String, billable_metric_id: T.nilable(String), billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration::OrHash ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::DimensionalPriceConfiguration::OrHash ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration::OrHash ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), model_type: Symbol @@ -27979,7 +28024,7 @@ module Orb { bulk_with_proration_config: T::Hash[Symbol, T.anything], cadence: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::Cadence::OrSymbol, item_id: String, model_type: Symbol, name: String, @@ -27987,20 +28032,20 @@ module Orb billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::DimensionalPriceConfiguration ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) } @@ -28017,7 +28062,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::Cadence ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -28025,38 +28070,38 @@ module Orb ANNUAL = T.let( :annual, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::Cadence::TaggedSymbol ) SEMI_ANNUAL = T.let( :semi_annual, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::Cadence::TaggedSymbol ) MONTHLY = T.let( :monthly, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::Cadence::TaggedSymbol ) QUARTERLY = T.let( :quarterly, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::Cadence::TaggedSymbol ) ONE_TIME = T.let( :one_time, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::Cadence::TaggedSymbol ) CUSTOM = T.let( :custom, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::Cadence::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::Cadence::TaggedSymbol ] ) end @@ -28068,7 +28113,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -28080,7 +28125,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -28091,7 +28136,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -28107,7 +28152,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -28122,7 +28167,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -28130,18 +28175,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -28154,7 +28199,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::DimensionalPriceConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::DimensionalPriceConfiguration, Orb::Internal::AnyHash ) end @@ -28208,7 +28253,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -28220,7 +28265,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -28231,7 +28276,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -28247,7 +28292,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -28262,7 +28307,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -28270,18 +28315,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -28295,7 +28340,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage, Orb::Internal::AnyHash ) end @@ -28303,7 +28348,7 @@ module Orb # The cadence to bill for this price on. sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::Cadence::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::Cadence::OrSymbol ) end attr_accessor :cadence @@ -28337,7 +28382,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration ) ) end @@ -28347,7 +28392,7 @@ module Orb params( billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration::OrHash ) ).void end @@ -28366,7 +28411,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration ) ) end @@ -28376,7 +28421,7 @@ module Orb params( dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration::OrHash ) ).void end @@ -28400,7 +28445,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration ) ) end @@ -28410,7 +28455,7 @@ module Orb params( invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::OrHash ) ).void end @@ -28425,7 +28470,7 @@ module Orb sig do params( cadence: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::Cadence::OrSymbol, grouped_tiered_package_config: T::Hash[Symbol, T.anything], item_id: String, name: String, @@ -28433,20 +28478,20 @@ module Orb billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration::OrHash ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration::OrHash ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::OrHash ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), model_type: Symbol @@ -28498,7 +28543,7 @@ module Orb override.returns( { cadence: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::Cadence::OrSymbol, grouped_tiered_package_config: T::Hash[Symbol, T.anything], item_id: String, model_type: Symbol, @@ -28507,20 +28552,20 @@ module Orb billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) } @@ -28537,7 +28582,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::Cadence ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -28545,38 +28590,38 @@ module Orb ANNUAL = T.let( :annual, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::Cadence::TaggedSymbol ) SEMI_ANNUAL = T.let( :semi_annual, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::Cadence::TaggedSymbol ) MONTHLY = T.let( :monthly, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::Cadence::TaggedSymbol ) QUARTERLY = T.let( :quarterly, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::Cadence::TaggedSymbol ) ONE_TIME = T.let( :one_time, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::Cadence::TaggedSymbol ) CUSTOM = T.let( :custom, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::Cadence::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::Cadence::TaggedSymbol ] ) end @@ -28588,7 +28633,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -28600,7 +28645,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -28611,7 +28656,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -28627,7 +28672,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -28642,7 +28687,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -28650,18 +28695,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -28674,7 +28719,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration, Orb::Internal::AnyHash ) end @@ -28728,7 +28773,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -28740,7 +28785,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -28751,7 +28796,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -28767,7 +28812,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -28782,7 +28827,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -28790,18 +28835,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -28815,7 +28860,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage, Orb::Internal::AnyHash ) end @@ -28823,7 +28868,7 @@ module Orb # The cadence to bill for this price on. sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::Cadence::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::Cadence::OrSymbol ) end attr_accessor :cadence @@ -28857,7 +28902,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration ) ) end @@ -28867,7 +28912,7 @@ module Orb params( billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::OrHash ) ).void end @@ -28886,7 +28931,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration ) ) end @@ -28896,7 +28941,7 @@ module Orb params( dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration::OrHash ) ).void end @@ -28920,7 +28965,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration ) ) end @@ -28930,7 +28975,7 @@ module Orb params( invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::OrHash ) ).void end @@ -28945,7 +28990,7 @@ module Orb sig do params( cadence: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::Cadence::OrSymbol, item_id: String, max_group_tiered_package_config: T::Hash[Symbol, T.anything], name: String, @@ -28953,20 +28998,20 @@ module Orb billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::OrHash ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration::OrHash ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::OrHash ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), model_type: Symbol @@ -29018,7 +29063,7 @@ module Orb override.returns( { cadence: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::Cadence::OrSymbol, item_id: String, max_group_tiered_package_config: T::Hash[Symbol, T.anything], @@ -29028,20 +29073,20 @@ module Orb billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) } @@ -29058,7 +29103,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::Cadence ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -29066,38 +29111,38 @@ module Orb ANNUAL = T.let( :annual, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::Cadence::TaggedSymbol ) SEMI_ANNUAL = T.let( :semi_annual, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::Cadence::TaggedSymbol ) MONTHLY = T.let( :monthly, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::Cadence::TaggedSymbol ) QUARTERLY = T.let( :quarterly, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::Cadence::TaggedSymbol ) ONE_TIME = T.let( :one_time, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::Cadence::TaggedSymbol ) CUSTOM = T.let( :custom, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::Cadence::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::Cadence::TaggedSymbol ] ) end @@ -29109,7 +29154,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -29121,7 +29166,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -29132,7 +29177,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -29148,7 +29193,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -29163,7 +29208,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -29171,18 +29216,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -29195,7 +29240,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration, Orb::Internal::AnyHash ) end @@ -29249,7 +29294,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -29261,7 +29306,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -29272,7 +29317,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -29288,7 +29333,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -29303,7 +29348,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -29311,18 +29356,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -29336,7 +29381,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing, Orb::Internal::AnyHash ) end @@ -29344,7 +29389,7 @@ module Orb # The cadence to bill for this price on. sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::Cadence::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::Cadence::OrSymbol ) end attr_accessor :cadence @@ -29378,7 +29423,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration ) ) end @@ -29388,7 +29433,7 @@ module Orb params( billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::OrHash ) ).void end @@ -29407,7 +29452,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration ) ) end @@ -29417,7 +29462,7 @@ module Orb params( dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration::OrHash ) ).void end @@ -29441,7 +29486,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration ) ) end @@ -29451,7 +29496,7 @@ module Orb params( invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::OrHash ) ).void end @@ -29466,7 +29511,7 @@ module Orb sig do params( cadence: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::Cadence::OrSymbol, item_id: String, name: String, scalable_matrix_with_unit_pricing_config: @@ -29475,20 +29520,20 @@ module Orb billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::OrHash ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration::OrHash ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::OrHash ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), model_type: Symbol @@ -29540,7 +29585,7 @@ module Orb override.returns( { cadence: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::Cadence::OrSymbol, item_id: String, model_type: Symbol, name: String, @@ -29550,20 +29595,20 @@ module Orb billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) } @@ -29580,7 +29625,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::Cadence ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -29588,38 +29633,38 @@ module Orb ANNUAL = T.let( :annual, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::Cadence::TaggedSymbol ) SEMI_ANNUAL = T.let( :semi_annual, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::Cadence::TaggedSymbol ) MONTHLY = T.let( :monthly, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::Cadence::TaggedSymbol ) QUARTERLY = T.let( :quarterly, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::Cadence::TaggedSymbol ) ONE_TIME = T.let( :one_time, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::Cadence::TaggedSymbol ) CUSTOM = T.let( :custom, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::Cadence::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::Cadence::TaggedSymbol ] ) end @@ -29631,7 +29676,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -29643,7 +29688,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -29654,7 +29699,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -29670,7 +29715,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -29685,7 +29730,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -29693,18 +29738,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -29717,7 +29762,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration, Orb::Internal::AnyHash ) end @@ -29771,7 +29816,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -29783,7 +29828,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -29794,7 +29839,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -29810,7 +29855,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -29825,7 +29870,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -29833,18 +29878,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -29858,7 +29903,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing, Orb::Internal::AnyHash ) end @@ -29866,7 +29911,7 @@ module Orb # The cadence to bill for this price on. sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::Cadence::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::Cadence::OrSymbol ) end attr_accessor :cadence @@ -29900,7 +29945,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration ) ) end @@ -29910,7 +29955,7 @@ module Orb params( billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::OrHash ) ).void end @@ -29929,7 +29974,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration ) ) end @@ -29939,7 +29984,7 @@ module Orb params( dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration::OrHash ) ).void end @@ -29963,7 +30008,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration ) ) end @@ -29973,7 +30018,7 @@ module Orb params( invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::OrHash ) ).void end @@ -29988,7 +30033,7 @@ module Orb sig do params( cadence: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::Cadence::OrSymbol, item_id: String, name: String, scalable_matrix_with_tiered_pricing_config: @@ -29997,20 +30042,20 @@ module Orb billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::OrHash ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration::OrHash ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::OrHash ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), model_type: Symbol @@ -30062,7 +30107,7 @@ module Orb override.returns( { cadence: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::Cadence::OrSymbol, item_id: String, model_type: Symbol, name: String, @@ -30072,20 +30117,20 @@ module Orb billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) } @@ -30102,7 +30147,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::Cadence ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -30110,38 +30155,38 @@ module Orb ANNUAL = T.let( :annual, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::Cadence::TaggedSymbol ) SEMI_ANNUAL = T.let( :semi_annual, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::Cadence::TaggedSymbol ) MONTHLY = T.let( :monthly, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::Cadence::TaggedSymbol ) QUARTERLY = T.let( :quarterly, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::Cadence::TaggedSymbol ) ONE_TIME = T.let( :one_time, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::Cadence::TaggedSymbol ) CUSTOM = T.let( :custom, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::Cadence::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::Cadence::TaggedSymbol ] ) end @@ -30153,7 +30198,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -30165,7 +30210,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -30176,7 +30221,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -30192,7 +30237,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -30207,7 +30252,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -30215,18 +30260,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -30239,7 +30284,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration, Orb::Internal::AnyHash ) end @@ -30293,7 +30338,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -30305,7 +30350,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -30316,7 +30361,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -30332,7 +30377,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -30347,7 +30392,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -30355,18 +30400,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -30380,7 +30425,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk, Orb::Internal::AnyHash ) end @@ -30388,7 +30433,7 @@ module Orb # The cadence to bill for this price on. sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::Cadence::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::Cadence::OrSymbol ) end attr_accessor :cadence @@ -30422,7 +30467,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration ) ) end @@ -30432,7 +30477,7 @@ module Orb params( billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::OrHash ) ).void end @@ -30451,7 +30496,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration ) ) end @@ -30461,7 +30506,7 @@ module Orb params( dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration::OrHash ) ).void end @@ -30485,7 +30530,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration ) ) end @@ -30495,7 +30540,7 @@ module Orb params( invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::OrHash ) ).void end @@ -30510,7 +30555,7 @@ module Orb sig do params( cadence: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::Cadence::OrSymbol, cumulative_grouped_bulk_config: T::Hash[Symbol, T.anything], item_id: String, name: String, @@ -30518,20 +30563,20 @@ module Orb billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::OrHash ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration::OrHash ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::OrHash ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), model_type: Symbol @@ -30583,7 +30628,7 @@ module Orb override.returns( { cadence: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::Cadence::OrSymbol, cumulative_grouped_bulk_config: T::Hash[Symbol, T.anything], item_id: String, model_type: Symbol, @@ -30592,20 +30637,20 @@ module Orb billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) } @@ -30622,7 +30667,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::Cadence ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -30630,38 +30675,38 @@ module Orb ANNUAL = T.let( :annual, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::Cadence::TaggedSymbol ) SEMI_ANNUAL = T.let( :semi_annual, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::Cadence::TaggedSymbol ) MONTHLY = T.let( :monthly, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::Cadence::TaggedSymbol ) QUARTERLY = T.let( :quarterly, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::Cadence::TaggedSymbol ) ONE_TIME = T.let( :one_time, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::Cadence::TaggedSymbol ) CUSTOM = T.let( :custom, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::Cadence::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::Cadence::TaggedSymbol ] ) end @@ -30673,7 +30718,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -30685,7 +30730,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -30696,7 +30741,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -30712,7 +30757,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -30727,7 +30772,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -30735,18 +30780,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -30759,7 +30804,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration, Orb::Internal::AnyHash ) end @@ -30813,7 +30858,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -30825,7 +30870,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -30836,7 +30881,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -30852,7 +30897,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -30867,7 +30912,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -30875,18 +30920,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -30900,7 +30945,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum, Orb::Internal::AnyHash ) end @@ -30908,7 +30953,7 @@ module Orb # The cadence to bill for this price on. sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::Cadence::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::Cadence::OrSymbol ) end attr_accessor :cadence @@ -30942,7 +30987,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration ) ) end @@ -30952,7 +30997,7 @@ module Orb params( billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::OrHash ) ).void end @@ -30971,7 +31016,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration ) ) end @@ -30981,7 +31026,7 @@ module Orb params( dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration::OrHash ) ).void end @@ -31005,7 +31050,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration ) ) end @@ -31015,7 +31060,7 @@ module Orb params( invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::OrHash ) ).void end @@ -31030,7 +31075,7 @@ module Orb sig do params( cadence: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::Cadence::OrSymbol, item_id: String, name: String, tiered_package_with_minimum_config: @@ -31039,20 +31084,20 @@ module Orb billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::OrHash ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration::OrHash ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::OrHash ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), model_type: Symbol @@ -31104,7 +31149,7 @@ module Orb override.returns( { cadence: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::Cadence::OrSymbol, item_id: String, model_type: Symbol, name: String, @@ -31114,20 +31159,20 @@ module Orb billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) } @@ -31144,7 +31189,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::Cadence ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -31152,38 +31197,38 @@ module Orb ANNUAL = T.let( :annual, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::Cadence::TaggedSymbol ) SEMI_ANNUAL = T.let( :semi_annual, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::Cadence::TaggedSymbol ) MONTHLY = T.let( :monthly, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::Cadence::TaggedSymbol ) QUARTERLY = T.let( :quarterly, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::Cadence::TaggedSymbol ) ONE_TIME = T.let( :one_time, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::Cadence::TaggedSymbol ) CUSTOM = T.let( :custom, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::Cadence::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::Cadence::TaggedSymbol ] ) end @@ -31195,7 +31240,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -31207,7 +31252,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -31218,7 +31263,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -31234,7 +31279,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -31249,7 +31294,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -31257,18 +31302,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -31281,7 +31326,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration, Orb::Internal::AnyHash ) end @@ -31335,7 +31380,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -31347,7 +31392,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -31358,7 +31403,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -31374,7 +31419,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -31389,7 +31434,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -31397,18 +31442,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -31422,7 +31467,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation, Orb::Internal::AnyHash ) end @@ -31430,7 +31475,7 @@ module Orb # The cadence to bill for this price on. sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::Cadence::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::Cadence::OrSymbol ) end attr_accessor :cadence @@ -31441,7 +31486,7 @@ module Orb sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig ) end attr_reader :matrix_with_allocation_config @@ -31449,7 +31494,7 @@ module Orb sig do params( matrix_with_allocation_config: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::OrHash ).void end attr_writer :matrix_with_allocation_config @@ -31476,7 +31521,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration ) ) end @@ -31486,7 +31531,7 @@ module Orb params( billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration::OrHash ) ).void end @@ -31505,7 +31550,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration ) ) end @@ -31515,7 +31560,7 @@ module Orb params( dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration::OrHash ) ).void end @@ -31539,7 +31584,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration ) ) end @@ -31549,7 +31594,7 @@ module Orb params( invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::OrHash ) ).void end @@ -31564,29 +31609,29 @@ module Orb sig do params( cadence: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::Cadence::OrSymbol, item_id: String, matrix_with_allocation_config: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::OrHash, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::OrHash, name: String, billable_metric_id: T.nilable(String), billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration::OrHash ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration::OrHash ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::OrHash ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), model_type: Symbol @@ -31638,30 +31683,30 @@ module Orb override.returns( { cadence: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::Cadence::OrSymbol, item_id: String, matrix_with_allocation_config: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig, model_type: Symbol, name: String, billable_metric_id: T.nilable(String), billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) } @@ -31678,7 +31723,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::Cadence ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -31686,38 +31731,38 @@ module Orb ANNUAL = T.let( :annual, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::Cadence::TaggedSymbol ) SEMI_ANNUAL = T.let( :semi_annual, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::Cadence::TaggedSymbol ) MONTHLY = T.let( :monthly, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::Cadence::TaggedSymbol ) QUARTERLY = T.let( :quarterly, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::Cadence::TaggedSymbol ) ONE_TIME = T.let( :one_time, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::Cadence::TaggedSymbol ) CUSTOM = T.let( :custom, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::Cadence::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::Cadence::TaggedSymbol ] ) end @@ -31729,7 +31774,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig, Orb::Internal::AnyHash ) end @@ -31750,7 +31795,7 @@ module Orb sig do returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue ] ) end @@ -31763,7 +31808,7 @@ module Orb dimensions: T::Array[T.nilable(String)], matrix_values: T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue::OrHash ] ).returns(T.attached_class) end @@ -31787,7 +31832,7 @@ module Orb dimensions: T::Array[T.nilable(String)], matrix_values: T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue ] } ) @@ -31799,7 +31844,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue, Orb::Internal::AnyHash ) end @@ -31847,7 +31892,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -31859,7 +31904,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -31870,7 +31915,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -31886,7 +31931,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -31901,7 +31946,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -31909,18 +31954,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -31933,7 +31978,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration, Orb::Internal::AnyHash ) end @@ -31987,7 +32032,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -31999,7 +32044,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -32010,7 +32055,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -32026,7 +32071,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -32041,7 +32086,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -32049,18 +32094,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -32074,7 +32119,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered, Orb::Internal::AnyHash ) end @@ -32082,7 +32127,7 @@ module Orb # The cadence to bill for this price on. sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::Cadence::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::Cadence::OrSymbol ) end attr_accessor :cadence @@ -32116,7 +32161,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration ) ) end @@ -32126,7 +32171,7 @@ module Orb params( billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration::OrHash ) ).void end @@ -32145,7 +32190,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::DimensionalPriceConfiguration ) ) end @@ -32155,7 +32200,7 @@ module Orb params( dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::DimensionalPriceConfiguration::OrHash ) ).void end @@ -32179,7 +32224,7 @@ module Orb sig do returns( T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration ) ) end @@ -32189,7 +32234,7 @@ module Orb params( invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration::OrHash ) ).void end @@ -32204,7 +32249,7 @@ module Orb sig do params( cadence: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::Cadence::OrSymbol, grouped_tiered_config: T::Hash[Symbol, T.anything], item_id: String, name: String, @@ -32212,20 +32257,20 @@ module Orb billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration::OrHash ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::DimensionalPriceConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::DimensionalPriceConfiguration::OrHash ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration::OrHash ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), model_type: Symbol @@ -32277,7 +32322,7 @@ module Orb override.returns( { cadence: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::Cadence::OrSymbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::Cadence::OrSymbol, grouped_tiered_config: T::Hash[Symbol, T.anything], item_id: String, model_type: Symbol, @@ -32286,20 +32331,20 @@ module Orb billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration ), conversion_rate: T.nilable(Float), currency: T.nilable(String), dimensional_price_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::DimensionalPriceConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::DimensionalPriceConfiguration ), external_price_id: T.nilable(String), fixed_price_quantity: T.nilable(Float), invoice_grouping_key: T.nilable(String), invoicing_cycle_configuration: T.nilable( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration ), metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) } @@ -32316,7 +32361,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::Cadence + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::Cadence ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -32324,38 +32369,38 @@ module Orb ANNUAL = T.let( :annual, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::Cadence::TaggedSymbol ) SEMI_ANNUAL = T.let( :semi_annual, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::Cadence::TaggedSymbol ) MONTHLY = T.let( :monthly, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::Cadence::TaggedSymbol ) QUARTERLY = T.let( :quarterly, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::Cadence::TaggedSymbol ) ONE_TIME = T.let( :one_time, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::Cadence::TaggedSymbol ) CUSTOM = T.let( :custom, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::Cadence::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::Cadence::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::Cadence::TaggedSymbol ] ) end @@ -32367,7 +32412,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -32379,7 +32424,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -32390,7 +32435,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -32406,7 +32451,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -32421,7 +32466,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -32429,18 +32474,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -32453,7 +32498,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::DimensionalPriceConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::DimensionalPriceConfiguration, Orb::Internal::AnyHash ) end @@ -32507,7 +32552,7 @@ module Orb OrHash = T.type_alias do T.any( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration, Orb::Internal::AnyHash ) end @@ -32519,7 +32564,7 @@ module Orb # The unit of billing period duration. sig do returns( - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit::OrSymbol ) end attr_accessor :duration_unit @@ -32530,7 +32575,7 @@ module Orb params( duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit::OrSymbol ).returns(T.attached_class) end def self.new( @@ -32546,7 +32591,7 @@ module Orb { duration: Integer, duration_unit: - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit::OrSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit::OrSymbol } ) end @@ -32561,7 +32606,7 @@ module Orb T.type_alias do T.all( Symbol, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -32569,18 +32614,18 @@ module Orb DAY = T.let( :day, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) MONTH = T.let( :month, - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ) sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol ] ) end @@ -32593,7 +32638,7 @@ module Orb sig do override.returns( T::Array[ - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Variants + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Variants ] ) end diff --git a/rbi/orb/models/plans/version_retrieve_params.rbi b/rbi/orb/models/beta/external_plan_id_fetch_plan_version_params.rbi similarity index 54% rename from rbi/orb/models/plans/version_retrieve_params.rbi rename to rbi/orb/models/beta/external_plan_id_fetch_plan_version_params.rbi index c6351dab..6674a446 100644 --- a/rbi/orb/models/plans/version_retrieve_params.rbi +++ b/rbi/orb/models/beta/external_plan_id_fetch_plan_version_params.rbi @@ -2,31 +2,34 @@ module Orb module Models - module Plans - class VersionRetrieveParams < Orb::Internal::Type::BaseModel + module Beta + class ExternalPlanIDFetchPlanVersionParams < Orb::Internal::Type::BaseModel extend Orb::Internal::Type::RequestParameters::Converter include Orb::Internal::Type::RequestParameters OrHash = T.type_alias do - T.any(Orb::Plans::VersionRetrieveParams, Orb::Internal::AnyHash) + T.any( + Orb::Beta::ExternalPlanIDFetchPlanVersionParams, + Orb::Internal::AnyHash + ) end sig { returns(String) } - attr_accessor :plan_id + attr_accessor :external_plan_id sig do params( - plan_id: String, + external_plan_id: String, request_options: Orb::RequestOptions::OrHash ).returns(T.attached_class) end - def self.new(plan_id:, request_options: {}) + def self.new(external_plan_id:, request_options: {}) end sig do override.returns( - { plan_id: String, request_options: Orb::RequestOptions } + { external_plan_id: String, request_options: Orb::RequestOptions } ) end def to_hash diff --git a/rbi/orb/models/plans/external_plan_id_set_default_version_params.rbi b/rbi/orb/models/beta/external_plan_id_set_default_plan_version_params.rbi similarity index 84% rename from rbi/orb/models/plans/external_plan_id_set_default_version_params.rbi rename to rbi/orb/models/beta/external_plan_id_set_default_plan_version_params.rbi index cf8ad2af..a5baa9e3 100644 --- a/rbi/orb/models/plans/external_plan_id_set_default_version_params.rbi +++ b/rbi/orb/models/beta/external_plan_id_set_default_plan_version_params.rbi @@ -2,15 +2,15 @@ module Orb module Models - module Plans - class ExternalPlanIDSetDefaultVersionParams < Orb::Internal::Type::BaseModel + module Beta + class ExternalPlanIDSetDefaultPlanVersionParams < Orb::Internal::Type::BaseModel extend Orb::Internal::Type::RequestParameters::Converter include Orb::Internal::Type::RequestParameters OrHash = T.type_alias do T.any( - Orb::Plans::ExternalPlanIDSetDefaultVersionParams, + Orb::Beta::ExternalPlanIDSetDefaultPlanVersionParams, Orb::Internal::AnyHash ) end diff --git a/rbi/orb/models/beta_create_plan_version_params.rbi b/rbi/orb/models/beta_create_plan_version_params.rbi new file mode 100644 index 00000000..f5533075 --- /dev/null +++ b/rbi/orb/models/beta_create_plan_version_params.rbi @@ -0,0 +1,32595 @@ +# typed: strong + +module Orb + module Models + class BetaCreatePlanVersionParams < Orb::Internal::Type::BaseModel + extend Orb::Internal::Type::RequestParameters::Converter + include Orb::Internal::Type::RequestParameters + + OrHash = + T.type_alias do + T.any(Orb::BetaCreatePlanVersionParams, Orb::Internal::AnyHash) + end + + # New version number. + sig { returns(Integer) } + attr_accessor :version + + # Additional adjustments to be added to the plan. + sig do + returns( + T.nilable(T::Array[Orb::BetaCreatePlanVersionParams::AddAdjustment]) + ) + end + attr_accessor :add_adjustments + + # Additional prices to be added to the plan. + sig do + returns(T.nilable(T::Array[Orb::BetaCreatePlanVersionParams::AddPrice])) + end + attr_accessor :add_prices + + # Adjustments to be removed from the plan. + sig do + returns( + T.nilable( + T::Array[Orb::BetaCreatePlanVersionParams::RemoveAdjustment] + ) + ) + end + attr_accessor :remove_adjustments + + # Prices to be removed from the plan. + sig do + returns( + T.nilable(T::Array[Orb::BetaCreatePlanVersionParams::RemovePrice]) + ) + end + attr_accessor :remove_prices + + # Adjustments to be replaced with additional adjustments on the plan. + sig do + returns( + T.nilable( + T::Array[Orb::BetaCreatePlanVersionParams::ReplaceAdjustment] + ) + ) + end + attr_accessor :replace_adjustments + + # Prices to be replaced with additional prices on the plan. + sig do + returns( + T.nilable(T::Array[Orb::BetaCreatePlanVersionParams::ReplacePrice]) + ) + end + attr_accessor :replace_prices + + # Set this new plan version as the default + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :set_as_default + + sig do + params( + version: Integer, + add_adjustments: + T.nilable( + T::Array[Orb::BetaCreatePlanVersionParams::AddAdjustment::OrHash] + ), + add_prices: + T.nilable( + T::Array[Orb::BetaCreatePlanVersionParams::AddPrice::OrHash] + ), + remove_adjustments: + T.nilable( + T::Array[ + Orb::BetaCreatePlanVersionParams::RemoveAdjustment::OrHash + ] + ), + remove_prices: + T.nilable( + T::Array[Orb::BetaCreatePlanVersionParams::RemovePrice::OrHash] + ), + replace_adjustments: + T.nilable( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplaceAdjustment::OrHash + ] + ), + replace_prices: + T.nilable( + T::Array[Orb::BetaCreatePlanVersionParams::ReplacePrice::OrHash] + ), + set_as_default: T.nilable(T::Boolean), + request_options: Orb::RequestOptions::OrHash + ).returns(T.attached_class) + end + def self.new( + # New version number. + version:, + # Additional adjustments to be added to the plan. + add_adjustments: nil, + # Additional prices to be added to the plan. + add_prices: nil, + # Adjustments to be removed from the plan. + remove_adjustments: nil, + # Prices to be removed from the plan. + remove_prices: nil, + # Adjustments to be replaced with additional adjustments on the plan. + replace_adjustments: nil, + # Prices to be replaced with additional prices on the plan. + replace_prices: nil, + # Set this new plan version as the default + set_as_default: nil, + request_options: {} + ) + end + + sig do + override.returns( + { + version: Integer, + add_adjustments: + T.nilable( + T::Array[Orb::BetaCreatePlanVersionParams::AddAdjustment] + ), + add_prices: + T.nilable(T::Array[Orb::BetaCreatePlanVersionParams::AddPrice]), + remove_adjustments: + T.nilable( + T::Array[Orb::BetaCreatePlanVersionParams::RemoveAdjustment] + ), + remove_prices: + T.nilable( + T::Array[Orb::BetaCreatePlanVersionParams::RemovePrice] + ), + replace_adjustments: + T.nilable( + T::Array[Orb::BetaCreatePlanVersionParams::ReplaceAdjustment] + ), + replace_prices: + T.nilable( + T::Array[Orb::BetaCreatePlanVersionParams::ReplacePrice] + ), + set_as_default: T.nilable(T::Boolean), + request_options: Orb::RequestOptions + } + ) + end + def to_hash + end + + class AddAdjustment < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddAdjustment, + Orb::Internal::AnyHash + ) + end + + # The definition of a new adjustment to create and add to the plan. + sig do + returns( + T.any( + Orb::BetaCreatePlanVersionParams::AddAdjustment::Adjustment::PercentageDiscount, + Orb::BetaCreatePlanVersionParams::AddAdjustment::Adjustment::UsageDiscount, + Orb::BetaCreatePlanVersionParams::AddAdjustment::Adjustment::AmountDiscount, + Orb::BetaCreatePlanVersionParams::AddAdjustment::Adjustment::Minimum, + Orb::BetaCreatePlanVersionParams::AddAdjustment::Adjustment::Maximum + ) + ) + end + attr_accessor :adjustment + + # The phase to add this adjustment to. + sig { returns(T.nilable(Integer)) } + attr_accessor :plan_phase_order + + sig do + params( + adjustment: + T.any( + Orb::BetaCreatePlanVersionParams::AddAdjustment::Adjustment::PercentageDiscount::OrHash, + Orb::BetaCreatePlanVersionParams::AddAdjustment::Adjustment::UsageDiscount::OrHash, + Orb::BetaCreatePlanVersionParams::AddAdjustment::Adjustment::AmountDiscount::OrHash, + Orb::BetaCreatePlanVersionParams::AddAdjustment::Adjustment::Minimum::OrHash, + Orb::BetaCreatePlanVersionParams::AddAdjustment::Adjustment::Maximum::OrHash + ), + plan_phase_order: T.nilable(Integer) + ).returns(T.attached_class) + end + def self.new( + # The definition of a new adjustment to create and add to the plan. + adjustment:, + # The phase to add this adjustment to. + plan_phase_order: nil + ) + end + + sig do + override.returns( + { + adjustment: + T.any( + Orb::BetaCreatePlanVersionParams::AddAdjustment::Adjustment::PercentageDiscount, + Orb::BetaCreatePlanVersionParams::AddAdjustment::Adjustment::UsageDiscount, + Orb::BetaCreatePlanVersionParams::AddAdjustment::Adjustment::AmountDiscount, + Orb::BetaCreatePlanVersionParams::AddAdjustment::Adjustment::Minimum, + Orb::BetaCreatePlanVersionParams::AddAdjustment::Adjustment::Maximum + ), + plan_phase_order: T.nilable(Integer) + } + ) + end + def to_hash + end + + # The definition of a new adjustment to create and add to the plan. + module Adjustment + extend Orb::Internal::Type::Union + + Variants = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddAdjustment::Adjustment::PercentageDiscount, + Orb::BetaCreatePlanVersionParams::AddAdjustment::Adjustment::UsageDiscount, + Orb::BetaCreatePlanVersionParams::AddAdjustment::Adjustment::AmountDiscount, + Orb::BetaCreatePlanVersionParams::AddAdjustment::Adjustment::Minimum, + Orb::BetaCreatePlanVersionParams::AddAdjustment::Adjustment::Maximum + ) + end + + class PercentageDiscount < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddAdjustment::Adjustment::PercentageDiscount, + Orb::Internal::AnyHash + ) + end + + sig { returns(Symbol) } + attr_accessor :adjustment_type + + sig { returns(Float) } + attr_accessor :percentage_discount + + # The set of price IDs to which this adjustment applies. + sig { returns(T.nilable(T::Array[String])) } + attr_accessor :applies_to_price_ids + + # When false, this adjustment will be applied to a single price. Otherwise, it + # will be applied at the invoice level, possibly to multiple prices. + sig { returns(T.nilable(T::Boolean)) } + attr_reader :is_invoice_level + + sig { params(is_invoice_level: T::Boolean).void } + attr_writer :is_invoice_level + + sig do + params( + percentage_discount: Float, + applies_to_price_ids: T.nilable(T::Array[String]), + is_invoice_level: T::Boolean, + adjustment_type: Symbol + ).returns(T.attached_class) + end + def self.new( + percentage_discount:, + # The set of price IDs to which this adjustment applies. + applies_to_price_ids: nil, + # When false, this adjustment will be applied to a single price. Otherwise, it + # will be applied at the invoice level, possibly to multiple prices. + is_invoice_level: nil, + adjustment_type: :percentage_discount + ) + end + + sig do + override.returns( + { + adjustment_type: Symbol, + percentage_discount: Float, + applies_to_price_ids: T.nilable(T::Array[String]), + is_invoice_level: T::Boolean + } + ) + end + def to_hash + end + end + + class UsageDiscount < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddAdjustment::Adjustment::UsageDiscount, + Orb::Internal::AnyHash + ) + end + + sig { returns(Symbol) } + attr_accessor :adjustment_type + + sig { returns(Float) } + attr_accessor :usage_discount + + # The set of price IDs to which this adjustment applies. + sig { returns(T.nilable(T::Array[String])) } + attr_accessor :applies_to_price_ids + + # When false, this adjustment will be applied to a single price. Otherwise, it + # will be applied at the invoice level, possibly to multiple prices. + sig { returns(T.nilable(T::Boolean)) } + attr_reader :is_invoice_level + + sig { params(is_invoice_level: T::Boolean).void } + attr_writer :is_invoice_level + + sig do + params( + usage_discount: Float, + applies_to_price_ids: T.nilable(T::Array[String]), + is_invoice_level: T::Boolean, + adjustment_type: Symbol + ).returns(T.attached_class) + end + def self.new( + usage_discount:, + # The set of price IDs to which this adjustment applies. + applies_to_price_ids: nil, + # When false, this adjustment will be applied to a single price. Otherwise, it + # will be applied at the invoice level, possibly to multiple prices. + is_invoice_level: nil, + adjustment_type: :usage_discount + ) + end + + sig do + override.returns( + { + adjustment_type: Symbol, + usage_discount: Float, + applies_to_price_ids: T.nilable(T::Array[String]), + is_invoice_level: T::Boolean + } + ) + end + def to_hash + end + end + + class AmountDiscount < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddAdjustment::Adjustment::AmountDiscount, + Orb::Internal::AnyHash + ) + end + + sig { returns(Symbol) } + attr_accessor :adjustment_type + + sig { returns(String) } + attr_accessor :amount_discount + + # The set of price IDs to which this adjustment applies. + sig { returns(T.nilable(T::Array[String])) } + attr_accessor :applies_to_price_ids + + # When false, this adjustment will be applied to a single price. Otherwise, it + # will be applied at the invoice level, possibly to multiple prices. + sig { returns(T.nilable(T::Boolean)) } + attr_reader :is_invoice_level + + sig { params(is_invoice_level: T::Boolean).void } + attr_writer :is_invoice_level + + sig do + params( + amount_discount: String, + applies_to_price_ids: T.nilable(T::Array[String]), + is_invoice_level: T::Boolean, + adjustment_type: Symbol + ).returns(T.attached_class) + end + def self.new( + amount_discount:, + # The set of price IDs to which this adjustment applies. + applies_to_price_ids: nil, + # When false, this adjustment will be applied to a single price. Otherwise, it + # will be applied at the invoice level, possibly to multiple prices. + is_invoice_level: nil, + adjustment_type: :amount_discount + ) + end + + sig do + override.returns( + { + adjustment_type: Symbol, + amount_discount: String, + applies_to_price_ids: T.nilable(T::Array[String]), + is_invoice_level: T::Boolean + } + ) + end + def to_hash + end + end + + class Minimum < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddAdjustment::Adjustment::Minimum, + Orb::Internal::AnyHash + ) + end + + sig { returns(Symbol) } + attr_accessor :adjustment_type + + # The item ID that revenue from this minimum will be attributed to. + sig { returns(String) } + attr_accessor :item_id + + sig { returns(String) } + attr_accessor :minimum_amount + + # The set of price IDs to which this adjustment applies. + sig { returns(T.nilable(T::Array[String])) } + attr_accessor :applies_to_price_ids + + # When false, this adjustment will be applied to a single price. Otherwise, it + # will be applied at the invoice level, possibly to multiple prices. + sig { returns(T.nilable(T::Boolean)) } + attr_reader :is_invoice_level + + sig { params(is_invoice_level: T::Boolean).void } + attr_writer :is_invoice_level + + sig do + params( + item_id: String, + minimum_amount: String, + applies_to_price_ids: T.nilable(T::Array[String]), + is_invoice_level: T::Boolean, + adjustment_type: Symbol + ).returns(T.attached_class) + end + def self.new( + # The item ID that revenue from this minimum will be attributed to. + item_id:, + minimum_amount:, + # The set of price IDs to which this adjustment applies. + applies_to_price_ids: nil, + # When false, this adjustment will be applied to a single price. Otherwise, it + # will be applied at the invoice level, possibly to multiple prices. + is_invoice_level: nil, + adjustment_type: :minimum + ) + end + + sig do + override.returns( + { + adjustment_type: Symbol, + item_id: String, + minimum_amount: String, + applies_to_price_ids: T.nilable(T::Array[String]), + is_invoice_level: T::Boolean + } + ) + end + def to_hash + end + end + + class Maximum < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddAdjustment::Adjustment::Maximum, + Orb::Internal::AnyHash + ) + end + + sig { returns(Symbol) } + attr_accessor :adjustment_type + + sig { returns(String) } + attr_accessor :maximum_amount + + # The set of price IDs to which this adjustment applies. + sig { returns(T.nilable(T::Array[String])) } + attr_accessor :applies_to_price_ids + + # When false, this adjustment will be applied to a single price. Otherwise, it + # will be applied at the invoice level, possibly to multiple prices. + sig { returns(T.nilable(T::Boolean)) } + attr_reader :is_invoice_level + + sig { params(is_invoice_level: T::Boolean).void } + attr_writer :is_invoice_level + + sig do + params( + maximum_amount: String, + applies_to_price_ids: T.nilable(T::Array[String]), + is_invoice_level: T::Boolean, + adjustment_type: Symbol + ).returns(T.attached_class) + end + def self.new( + maximum_amount:, + # The set of price IDs to which this adjustment applies. + applies_to_price_ids: nil, + # When false, this adjustment will be applied to a single price. Otherwise, it + # will be applied at the invoice level, possibly to multiple prices. + is_invoice_level: nil, + adjustment_type: :maximum + ) + end + + sig do + override.returns( + { + adjustment_type: Symbol, + maximum_amount: String, + applies_to_price_ids: T.nilable(T::Array[String]), + is_invoice_level: T::Boolean + } + ) + end + def to_hash + end + end + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddAdjustment::Adjustment::Variants + ] + ) + end + def self.variants + end + end + end + + class AddPrice < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice, + Orb::Internal::AnyHash + ) + end + + # The allocation price to add to the plan. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::AllocationPrice + ) + ) + end + attr_reader :allocation_price + + sig do + params( + allocation_price: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::AllocationPrice::OrHash + ) + ).void + end + attr_writer :allocation_price + + # The phase to add this price to. + sig { returns(T.nilable(Integer)) } + attr_accessor :plan_phase_order + + # The price to add to the plan + sig do + returns( + T.nilable( + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Unit, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Package, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Matrix, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Tiered, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bps, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bulk, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered + ) + ) + ) + end + attr_accessor :price + + sig do + params( + allocation_price: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::AllocationPrice::OrHash + ), + plan_phase_order: T.nilable(Integer), + price: + T.nilable( + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Unit::OrHash, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Package::OrHash, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::OrHash, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::OrHash, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::OrHash, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bps::OrHash, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::OrHash, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::OrHash, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::OrHash, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::OrHash, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::OrHash, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::OrHash, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::OrHash, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::OrHash, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::OrHash, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::OrHash, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::OrHash, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::OrHash, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::OrHash, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::OrHash, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::OrHash, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::OrHash, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::OrHash, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::OrHash, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::OrHash, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::OrHash, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::OrHash, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::OrHash + ) + ) + ).returns(T.attached_class) + end + def self.new( + # The allocation price to add to the plan. + allocation_price: nil, + # The phase to add this price to. + plan_phase_order: nil, + # The price to add to the plan + price: nil + ) + end + + sig do + override.returns( + { + allocation_price: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::AllocationPrice + ), + plan_phase_order: T.nilable(Integer), + price: + T.nilable( + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Unit, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Package, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Matrix, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Tiered, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bps, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bulk, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered + ) + ) + } + ) + end + def to_hash + end + + class AllocationPrice < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::AllocationPrice, + Orb::Internal::AnyHash + ) + end + + # An amount of the currency to allocate to the customer at the specified cadence. + sig { returns(String) } + attr_accessor :amount + + # The cadence at which to allocate the amount to the customer. + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::AllocationPrice::Cadence::OrSymbol + ) + end + attr_accessor :cadence + + # An ISO 4217 currency string or a custom pricing unit identifier in which to bill + # this price. + sig { returns(String) } + attr_accessor :currency + + # Whether the allocated amount should expire at the end of the cadence or roll + # over to the next period. + sig { returns(T::Boolean) } + attr_accessor :expires_at_end_of_cadence + + # The allocation price to add to the plan. + sig do + params( + amount: String, + cadence: + Orb::BetaCreatePlanVersionParams::AddPrice::AllocationPrice::Cadence::OrSymbol, + currency: String, + expires_at_end_of_cadence: T::Boolean + ).returns(T.attached_class) + end + def self.new( + # An amount of the currency to allocate to the customer at the specified cadence. + amount:, + # The cadence at which to allocate the amount to the customer. + cadence:, + # An ISO 4217 currency string or a custom pricing unit identifier in which to bill + # this price. + currency:, + # Whether the allocated amount should expire at the end of the cadence or roll + # over to the next period. + expires_at_end_of_cadence: + ) + end + + sig do + override.returns( + { + amount: String, + cadence: + Orb::BetaCreatePlanVersionParams::AddPrice::AllocationPrice::Cadence::OrSymbol, + currency: String, + expires_at_end_of_cadence: T::Boolean + } + ) + end + def to_hash + end + + # The cadence at which to allocate the amount to the customer. + module Cadence + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::AddPrice::AllocationPrice::Cadence + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ONE_TIME = + T.let( + :one_time, + Orb::BetaCreatePlanVersionParams::AddPrice::AllocationPrice::Cadence::TaggedSymbol + ) + MONTHLY = + T.let( + :monthly, + Orb::BetaCreatePlanVersionParams::AddPrice::AllocationPrice::Cadence::TaggedSymbol + ) + QUARTERLY = + T.let( + :quarterly, + Orb::BetaCreatePlanVersionParams::AddPrice::AllocationPrice::Cadence::TaggedSymbol + ) + SEMI_ANNUAL = + T.let( + :semi_annual, + Orb::BetaCreatePlanVersionParams::AddPrice::AllocationPrice::Cadence::TaggedSymbol + ) + ANNUAL = + T.let( + :annual, + Orb::BetaCreatePlanVersionParams::AddPrice::AllocationPrice::Cadence::TaggedSymbol + ) + CUSTOM = + T.let( + :custom, + Orb::BetaCreatePlanVersionParams::AddPrice::AllocationPrice::Cadence::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::AllocationPrice::Cadence::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + # The price to add to the plan + module Price + extend Orb::Internal::Type::Union + + Variants = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Unit, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Package, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Matrix, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Tiered, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bps, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bulk, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered + ) + end + + class Unit < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Unit, + Orb::Internal::AnyHash + ) + end + + # The cadence to bill for this price on. + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Unit::Cadence::OrSymbol + ) + end + attr_accessor :cadence + + # The id of the item the price will be associated with. + sig { returns(String) } + attr_accessor :item_id + + sig { returns(Symbol) } + attr_accessor :model_type + + # The name of the price. + sig { returns(String) } + attr_accessor :name + + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Unit::UnitConfig + ) + end + attr_reader :unit_config + + sig do + params( + unit_config: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Unit::UnitConfig::OrHash + ).void + end + attr_writer :unit_config + + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + sig { returns(T.nilable(String)) } + attr_accessor :billable_metric_id + + # 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. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :billed_in_advance + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Unit::BillingCycleConfiguration + ) + ) + end + attr_reader :billing_cycle_configuration + + sig do + params( + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Unit::BillingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :billing_cycle_configuration + + # The per unit conversion rate of the price currency to the invoicing currency. + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + sig { returns(T.nilable(String)) } + attr_accessor :currency + + # For dimensional price: specifies a price group and dimension values + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Unit::DimensionalPriceConfiguration + ) + ) + end + attr_reader :dimensional_price_configuration + + sig do + params( + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Unit::DimensionalPriceConfiguration::OrHash + ) + ).void + end + attr_writer :dimensional_price_configuration + + # An alias for the price. + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + # The property used to group this price on an invoice + sig { returns(T.nilable(String)) } + attr_accessor :invoice_grouping_key + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Unit::InvoicingCycleConfiguration + ) + ) + end + attr_reader :invoicing_cycle_configuration + + sig do + params( + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Unit::InvoicingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :invoicing_cycle_configuration + + # 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`. + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } + attr_accessor :metadata + + sig do + params( + cadence: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Unit::Cadence::OrSymbol, + item_id: String, + name: String, + unit_config: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Unit::UnitConfig::OrHash, + billable_metric_id: T.nilable(String), + billed_in_advance: T.nilable(T::Boolean), + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Unit::BillingCycleConfiguration::OrHash + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Unit::DimensionalPriceConfiguration::OrHash + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Unit::InvoicingCycleConfiguration::OrHash + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), + model_type: Symbol + ).returns(T.attached_class) + end + def self.new( + # The cadence to bill for this price on. + cadence:, + # The id of the item the price will be associated with. + item_id:, + # The name of the price. + name:, + unit_config:, + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + billable_metric_id: nil, + # 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. + billed_in_advance: nil, + # For custom cadence: specifies the duration of the billing period in days or + # months. + billing_cycle_configuration: nil, + # The per unit conversion rate of the price currency to the invoicing currency. + conversion_rate: nil, + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + currency: nil, + # For dimensional price: specifies a price group and dimension values + dimensional_price_configuration: nil, + # An alias for the price. + external_price_id: nil, + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + fixed_price_quantity: nil, + # The property used to group this price on an invoice + invoice_grouping_key: nil, + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + invoicing_cycle_configuration: nil, + # 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`. + metadata: nil, + model_type: :unit + ) + end + + sig do + override.returns( + { + cadence: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Unit::Cadence::OrSymbol, + item_id: String, + model_type: Symbol, + name: String, + unit_config: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Unit::UnitConfig, + billable_metric_id: T.nilable(String), + billed_in_advance: T.nilable(T::Boolean), + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Unit::BillingCycleConfiguration + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Unit::DimensionalPriceConfiguration + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Unit::InvoicingCycleConfiguration + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) + } + ) + end + def to_hash + end + + # The cadence to bill for this price on. + module Cadence + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Unit::Cadence + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ANNUAL = + T.let( + :annual, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Unit::Cadence::TaggedSymbol + ) + SEMI_ANNUAL = + T.let( + :semi_annual, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Unit::Cadence::TaggedSymbol + ) + MONTHLY = + T.let( + :monthly, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Unit::Cadence::TaggedSymbol + ) + QUARTERLY = + T.let( + :quarterly, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Unit::Cadence::TaggedSymbol + ) + ONE_TIME = + T.let( + :one_time, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Unit::Cadence::TaggedSymbol + ) + CUSTOM = + T.let( + :custom, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Unit::Cadence::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Unit::Cadence::TaggedSymbol + ] + ) + end + def self.values + end + end + + class UnitConfig < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Unit::UnitConfig, + Orb::Internal::AnyHash + ) + end + + # Rate per unit of usage + sig { returns(String) } + attr_accessor :unit_amount + + sig { params(unit_amount: String).returns(T.attached_class) } + def self.new( + # Rate per unit of usage + unit_amount: + ) + end + + sig { override.returns({ unit_amount: String }) } + def to_hash + end + end + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Unit::BillingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Unit::BillingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Unit::BillingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Unit::BillingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Unit::BillingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Unit::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Unit::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Unit::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Unit::DimensionalPriceConfiguration, + Orb::Internal::AnyHash + ) + end + + # The list of dimension values matching (in order) the dimensions of the price + # group + sig { returns(T::Array[String]) } + attr_accessor :dimension_values + + # The id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :dimensional_price_group_id + + # The external id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :external_dimensional_price_group_id + + # For dimensional price: specifies a price group and dimension values + sig do + params( + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The list of dimension values matching (in order) the dimensions of the price + # group + dimension_values:, + # The id of the dimensional price group to include this price in + dimensional_price_group_id: nil, + # The external id of the dimensional price group to include this price in + external_dimensional_price_group_id: nil + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + } + ) + end + def to_hash + end + end + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Unit::InvoicingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Unit::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Unit::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Unit::InvoicingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Unit::InvoicingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Unit::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Unit::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Unit::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + class Package < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Package, + Orb::Internal::AnyHash + ) + end + + # The cadence to bill for this price on. + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Package::Cadence::OrSymbol + ) + end + attr_accessor :cadence + + # The id of the item the price will be associated with. + sig { returns(String) } + attr_accessor :item_id + + sig { returns(Symbol) } + attr_accessor :model_type + + # The name of the price. + sig { returns(String) } + attr_accessor :name + + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Package::PackageConfig + ) + end + attr_reader :package_config + + sig do + params( + package_config: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Package::PackageConfig::OrHash + ).void + end + attr_writer :package_config + + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + sig { returns(T.nilable(String)) } + attr_accessor :billable_metric_id + + # 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. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :billed_in_advance + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Package::BillingCycleConfiguration + ) + ) + end + attr_reader :billing_cycle_configuration + + sig do + params( + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Package::BillingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :billing_cycle_configuration + + # The per unit conversion rate of the price currency to the invoicing currency. + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + sig { returns(T.nilable(String)) } + attr_accessor :currency + + # For dimensional price: specifies a price group and dimension values + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Package::DimensionalPriceConfiguration + ) + ) + end + attr_reader :dimensional_price_configuration + + sig do + params( + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Package::DimensionalPriceConfiguration::OrHash + ) + ).void + end + attr_writer :dimensional_price_configuration + + # An alias for the price. + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + # The property used to group this price on an invoice + sig { returns(T.nilable(String)) } + attr_accessor :invoice_grouping_key + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Package::InvoicingCycleConfiguration + ) + ) + end + attr_reader :invoicing_cycle_configuration + + sig do + params( + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Package::InvoicingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :invoicing_cycle_configuration + + # 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`. + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } + attr_accessor :metadata + + sig do + params( + cadence: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Package::Cadence::OrSymbol, + item_id: String, + name: String, + package_config: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Package::PackageConfig::OrHash, + billable_metric_id: T.nilable(String), + billed_in_advance: T.nilable(T::Boolean), + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Package::BillingCycleConfiguration::OrHash + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Package::DimensionalPriceConfiguration::OrHash + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Package::InvoicingCycleConfiguration::OrHash + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), + model_type: Symbol + ).returns(T.attached_class) + end + def self.new( + # The cadence to bill for this price on. + cadence:, + # The id of the item the price will be associated with. + item_id:, + # The name of the price. + name:, + package_config:, + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + billable_metric_id: nil, + # 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. + billed_in_advance: nil, + # For custom cadence: specifies the duration of the billing period in days or + # months. + billing_cycle_configuration: nil, + # The per unit conversion rate of the price currency to the invoicing currency. + conversion_rate: nil, + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + currency: nil, + # For dimensional price: specifies a price group and dimension values + dimensional_price_configuration: nil, + # An alias for the price. + external_price_id: nil, + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + fixed_price_quantity: nil, + # The property used to group this price on an invoice + invoice_grouping_key: nil, + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + invoicing_cycle_configuration: nil, + # 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`. + metadata: nil, + model_type: :package + ) + end + + sig do + override.returns( + { + cadence: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Package::Cadence::OrSymbol, + item_id: String, + model_type: Symbol, + name: String, + package_config: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Package::PackageConfig, + billable_metric_id: T.nilable(String), + billed_in_advance: T.nilable(T::Boolean), + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Package::BillingCycleConfiguration + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Package::DimensionalPriceConfiguration + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Package::InvoicingCycleConfiguration + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) + } + ) + end + def to_hash + end + + # The cadence to bill for this price on. + module Cadence + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Package::Cadence + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ANNUAL = + T.let( + :annual, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Package::Cadence::TaggedSymbol + ) + SEMI_ANNUAL = + T.let( + :semi_annual, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Package::Cadence::TaggedSymbol + ) + MONTHLY = + T.let( + :monthly, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Package::Cadence::TaggedSymbol + ) + QUARTERLY = + T.let( + :quarterly, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Package::Cadence::TaggedSymbol + ) + ONE_TIME = + T.let( + :one_time, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Package::Cadence::TaggedSymbol + ) + CUSTOM = + T.let( + :custom, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Package::Cadence::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Package::Cadence::TaggedSymbol + ] + ) + end + def self.values + end + end + + class PackageConfig < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Package::PackageConfig, + Orb::Internal::AnyHash + ) + end + + # A currency amount to rate usage by + sig { returns(String) } + attr_accessor :package_amount + + # An integer amount to represent package size. For example, 1000 here would divide + # usage by 1000 before multiplying by package_amount in rating + sig { returns(Integer) } + attr_accessor :package_size + + sig do + params(package_amount: String, package_size: Integer).returns( + T.attached_class + ) + end + def self.new( + # A currency amount to rate usage by + package_amount:, + # An integer amount to represent package size. For example, 1000 here would divide + # usage by 1000 before multiplying by package_amount in rating + package_size: + ) + end + + sig do + override.returns( + { package_amount: String, package_size: Integer } + ) + end + def to_hash + end + end + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Package::BillingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Package::BillingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Package::BillingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Package::BillingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Package::BillingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Package::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Package::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Package::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Package::DimensionalPriceConfiguration, + Orb::Internal::AnyHash + ) + end + + # The list of dimension values matching (in order) the dimensions of the price + # group + sig { returns(T::Array[String]) } + attr_accessor :dimension_values + + # The id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :dimensional_price_group_id + + # The external id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :external_dimensional_price_group_id + + # For dimensional price: specifies a price group and dimension values + sig do + params( + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The list of dimension values matching (in order) the dimensions of the price + # group + dimension_values:, + # The id of the dimensional price group to include this price in + dimensional_price_group_id: nil, + # The external id of the dimensional price group to include this price in + external_dimensional_price_group_id: nil + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + } + ) + end + def to_hash + end + end + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Package::InvoicingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Package::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Package::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Package::InvoicingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Package::InvoicingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Package::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Package::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Package::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + class Matrix < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Matrix, + Orb::Internal::AnyHash + ) + end + + # The cadence to bill for this price on. + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::Cadence::OrSymbol + ) + end + attr_accessor :cadence + + # The id of the item the price will be associated with. + sig { returns(String) } + attr_accessor :item_id + + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::MatrixConfig + ) + end + attr_reader :matrix_config + + sig do + params( + matrix_config: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::MatrixConfig::OrHash + ).void + end + attr_writer :matrix_config + + sig { returns(Symbol) } + attr_accessor :model_type + + # The name of the price. + sig { returns(String) } + attr_accessor :name + + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + sig { returns(T.nilable(String)) } + attr_accessor :billable_metric_id + + # 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. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :billed_in_advance + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::BillingCycleConfiguration + ) + ) + end + attr_reader :billing_cycle_configuration + + sig do + params( + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::BillingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :billing_cycle_configuration + + # The per unit conversion rate of the price currency to the invoicing currency. + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + sig { returns(T.nilable(String)) } + attr_accessor :currency + + # For dimensional price: specifies a price group and dimension values + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::DimensionalPriceConfiguration + ) + ) + end + attr_reader :dimensional_price_configuration + + sig do + params( + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::DimensionalPriceConfiguration::OrHash + ) + ).void + end + attr_writer :dimensional_price_configuration + + # An alias for the price. + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + # The property used to group this price on an invoice + sig { returns(T.nilable(String)) } + attr_accessor :invoice_grouping_key + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration + ) + ) + end + attr_reader :invoicing_cycle_configuration + + sig do + params( + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :invoicing_cycle_configuration + + # 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`. + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } + attr_accessor :metadata + + sig do + params( + cadence: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::Cadence::OrSymbol, + item_id: String, + matrix_config: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::MatrixConfig::OrHash, + name: String, + billable_metric_id: T.nilable(String), + billed_in_advance: T.nilable(T::Boolean), + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::BillingCycleConfiguration::OrHash + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::DimensionalPriceConfiguration::OrHash + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration::OrHash + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), + model_type: Symbol + ).returns(T.attached_class) + end + def self.new( + # The cadence to bill for this price on. + cadence:, + # The id of the item the price will be associated with. + item_id:, + matrix_config:, + # The name of the price. + name:, + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + billable_metric_id: nil, + # 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. + billed_in_advance: nil, + # For custom cadence: specifies the duration of the billing period in days or + # months. + billing_cycle_configuration: nil, + # The per unit conversion rate of the price currency to the invoicing currency. + conversion_rate: nil, + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + currency: nil, + # For dimensional price: specifies a price group and dimension values + dimensional_price_configuration: nil, + # An alias for the price. + external_price_id: nil, + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + fixed_price_quantity: nil, + # The property used to group this price on an invoice + invoice_grouping_key: nil, + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + invoicing_cycle_configuration: nil, + # 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`. + metadata: nil, + model_type: :matrix + ) + end + + sig do + override.returns( + { + cadence: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::Cadence::OrSymbol, + item_id: String, + matrix_config: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::MatrixConfig, + model_type: Symbol, + name: String, + billable_metric_id: T.nilable(String), + billed_in_advance: T.nilable(T::Boolean), + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::BillingCycleConfiguration + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::DimensionalPriceConfiguration + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) + } + ) + end + def to_hash + end + + # The cadence to bill for this price on. + module Cadence + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::Cadence + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ANNUAL = + T.let( + :annual, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::Cadence::TaggedSymbol + ) + SEMI_ANNUAL = + T.let( + :semi_annual, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::Cadence::TaggedSymbol + ) + MONTHLY = + T.let( + :monthly, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::Cadence::TaggedSymbol + ) + QUARTERLY = + T.let( + :quarterly, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::Cadence::TaggedSymbol + ) + ONE_TIME = + T.let( + :one_time, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::Cadence::TaggedSymbol + ) + CUSTOM = + T.let( + :custom, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::Cadence::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::Cadence::TaggedSymbol + ] + ) + end + def self.values + end + end + + class MatrixConfig < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::MatrixConfig, + Orb::Internal::AnyHash + ) + end + + # Default per unit rate for any usage not bucketed into a specified matrix_value + sig { returns(String) } + attr_accessor :default_unit_amount + + # One or two event property values to evaluate matrix groups by + sig { returns(T::Array[T.nilable(String)]) } + attr_accessor :dimensions + + # Matrix values for specified matrix grouping keys + sig do + returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::MatrixConfig::MatrixValue + ] + ) + end + attr_accessor :matrix_values + + sig do + params( + default_unit_amount: String, + dimensions: T::Array[T.nilable(String)], + matrix_values: + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::MatrixConfig::MatrixValue::OrHash + ] + ).returns(T.attached_class) + end + def self.new( + # Default per unit rate for any usage not bucketed into a specified matrix_value + default_unit_amount:, + # One or two event property values to evaluate matrix groups by + dimensions:, + # Matrix values for specified matrix grouping keys + matrix_values: + ) + end + + sig do + override.returns( + { + default_unit_amount: String, + dimensions: T::Array[T.nilable(String)], + matrix_values: + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::MatrixConfig::MatrixValue + ] + } + ) + end + def to_hash + end + + class MatrixValue < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::MatrixConfig::MatrixValue, + Orb::Internal::AnyHash + ) + end + + # One or two matrix keys to filter usage to this Matrix value by. For example, + # ["region", "tier"] could be used to filter cloud usage by a cloud region and an + # instance tier. + sig { returns(T::Array[T.nilable(String)]) } + attr_accessor :dimension_values + + # Unit price for the specified dimension_values + sig { returns(String) } + attr_accessor :unit_amount + + sig do + params( + dimension_values: T::Array[T.nilable(String)], + unit_amount: String + ).returns(T.attached_class) + end + def self.new( + # One or two matrix keys to filter usage to this Matrix value by. For example, + # ["region", "tier"] could be used to filter cloud usage by a cloud region and an + # instance tier. + dimension_values:, + # Unit price for the specified dimension_values + unit_amount: + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[T.nilable(String)], + unit_amount: String + } + ) + end + def to_hash + end + end + end + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::BillingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::BillingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::BillingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::BillingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::BillingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::DimensionalPriceConfiguration, + Orb::Internal::AnyHash + ) + end + + # The list of dimension values matching (in order) the dimensions of the price + # group + sig { returns(T::Array[String]) } + attr_accessor :dimension_values + + # The id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :dimensional_price_group_id + + # The external id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :external_dimensional_price_group_id + + # For dimensional price: specifies a price group and dimension values + sig do + params( + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The list of dimension values matching (in order) the dimensions of the price + # group + dimension_values:, + # The id of the dimensional price group to include this price in + dimensional_price_group_id: nil, + # The external id of the dimensional price group to include this price in + external_dimensional_price_group_id: nil + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + } + ) + end + def to_hash + end + end + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + class Tiered < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Tiered, + Orb::Internal::AnyHash + ) + end + + # The cadence to bill for this price on. + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::Cadence::OrSymbol + ) + end + attr_accessor :cadence + + # The id of the item the price will be associated with. + sig { returns(String) } + attr_accessor :item_id + + sig { returns(Symbol) } + attr_accessor :model_type + + # The name of the price. + sig { returns(String) } + attr_accessor :name + + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::TieredConfig + ) + end + attr_reader :tiered_config + + sig do + params( + tiered_config: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::TieredConfig::OrHash + ).void + end + attr_writer :tiered_config + + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + sig { returns(T.nilable(String)) } + attr_accessor :billable_metric_id + + # 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. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :billed_in_advance + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::BillingCycleConfiguration + ) + ) + end + attr_reader :billing_cycle_configuration + + sig do + params( + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::BillingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :billing_cycle_configuration + + # The per unit conversion rate of the price currency to the invoicing currency. + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + sig { returns(T.nilable(String)) } + attr_accessor :currency + + # For dimensional price: specifies a price group and dimension values + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::DimensionalPriceConfiguration + ) + ) + end + attr_reader :dimensional_price_configuration + + sig do + params( + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::DimensionalPriceConfiguration::OrHash + ) + ).void + end + attr_writer :dimensional_price_configuration + + # An alias for the price. + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + # The property used to group this price on an invoice + sig { returns(T.nilable(String)) } + attr_accessor :invoice_grouping_key + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration + ) + ) + end + attr_reader :invoicing_cycle_configuration + + sig do + params( + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :invoicing_cycle_configuration + + # 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`. + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } + attr_accessor :metadata + + sig do + params( + cadence: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::Cadence::OrSymbol, + item_id: String, + name: String, + tiered_config: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::TieredConfig::OrHash, + billable_metric_id: T.nilable(String), + billed_in_advance: T.nilable(T::Boolean), + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::BillingCycleConfiguration::OrHash + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::DimensionalPriceConfiguration::OrHash + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration::OrHash + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), + model_type: Symbol + ).returns(T.attached_class) + end + def self.new( + # The cadence to bill for this price on. + cadence:, + # The id of the item the price will be associated with. + item_id:, + # The name of the price. + name:, + tiered_config:, + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + billable_metric_id: nil, + # 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. + billed_in_advance: nil, + # For custom cadence: specifies the duration of the billing period in days or + # months. + billing_cycle_configuration: nil, + # The per unit conversion rate of the price currency to the invoicing currency. + conversion_rate: nil, + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + currency: nil, + # For dimensional price: specifies a price group and dimension values + dimensional_price_configuration: nil, + # An alias for the price. + external_price_id: nil, + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + fixed_price_quantity: nil, + # The property used to group this price on an invoice + invoice_grouping_key: nil, + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + invoicing_cycle_configuration: nil, + # 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`. + metadata: nil, + model_type: :tiered + ) + end + + sig do + override.returns( + { + cadence: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::Cadence::OrSymbol, + item_id: String, + model_type: Symbol, + name: String, + tiered_config: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::TieredConfig, + billable_metric_id: T.nilable(String), + billed_in_advance: T.nilable(T::Boolean), + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::BillingCycleConfiguration + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::DimensionalPriceConfiguration + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) + } + ) + end + def to_hash + end + + # The cadence to bill for this price on. + module Cadence + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::Cadence + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ANNUAL = + T.let( + :annual, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::Cadence::TaggedSymbol + ) + SEMI_ANNUAL = + T.let( + :semi_annual, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::Cadence::TaggedSymbol + ) + MONTHLY = + T.let( + :monthly, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::Cadence::TaggedSymbol + ) + QUARTERLY = + T.let( + :quarterly, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::Cadence::TaggedSymbol + ) + ONE_TIME = + T.let( + :one_time, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::Cadence::TaggedSymbol + ) + CUSTOM = + T.let( + :custom, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::Cadence::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::Cadence::TaggedSymbol + ] + ) + end + def self.values + end + end + + class TieredConfig < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::TieredConfig, + Orb::Internal::AnyHash + ) + end + + # Tiers for rating based on total usage quantities into the specified tier + sig do + returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::TieredConfig::Tier + ] + ) + end + attr_accessor :tiers + + sig do + params( + tiers: + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::TieredConfig::Tier::OrHash + ] + ).returns(T.attached_class) + end + def self.new( + # Tiers for rating based on total usage quantities into the specified tier + tiers: + ) + end + + sig do + override.returns( + { + tiers: + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::TieredConfig::Tier + ] + } + ) + end + def to_hash + end + + class Tier < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::TieredConfig::Tier, + Orb::Internal::AnyHash + ) + end + + # Exclusive tier starting value + sig { returns(Float) } + attr_accessor :first_unit + + # Amount per unit + sig { returns(String) } + attr_accessor :unit_amount + + # Inclusive tier ending value. If null, this is treated as the last tier + sig { returns(T.nilable(Float)) } + attr_accessor :last_unit + + sig do + params( + first_unit: Float, + unit_amount: String, + last_unit: T.nilable(Float) + ).returns(T.attached_class) + end + def self.new( + # Exclusive tier starting value + first_unit:, + # Amount per unit + unit_amount:, + # Inclusive tier ending value. If null, this is treated as the last tier + last_unit: nil + ) + end + + sig do + override.returns( + { + first_unit: Float, + unit_amount: String, + last_unit: T.nilable(Float) + } + ) + end + def to_hash + end + end + end + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::BillingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::BillingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::BillingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::BillingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::BillingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::DimensionalPriceConfiguration, + Orb::Internal::AnyHash + ) + end + + # The list of dimension values matching (in order) the dimensions of the price + # group + sig { returns(T::Array[String]) } + attr_accessor :dimension_values + + # The id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :dimensional_price_group_id + + # The external id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :external_dimensional_price_group_id + + # For dimensional price: specifies a price group and dimension values + sig do + params( + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The list of dimension values matching (in order) the dimensions of the price + # group + dimension_values:, + # The id of the dimensional price group to include this price in + dimensional_price_group_id: nil, + # The external id of the dimensional price group to include this price in + external_dimensional_price_group_id: nil + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + } + ) + end + def to_hash + end + end + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + class TieredBps < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps, + Orb::Internal::AnyHash + ) + end + + # The cadence to bill for this price on. + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::Cadence::OrSymbol + ) + end + attr_accessor :cadence + + # The id of the item the price will be associated with. + sig { returns(String) } + attr_accessor :item_id + + sig { returns(Symbol) } + attr_accessor :model_type + + # The name of the price. + sig { returns(String) } + attr_accessor :name + + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::TieredBpsConfig + ) + end + attr_reader :tiered_bps_config + + sig do + params( + tiered_bps_config: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::TieredBpsConfig::OrHash + ).void + end + attr_writer :tiered_bps_config + + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + sig { returns(T.nilable(String)) } + attr_accessor :billable_metric_id + + # 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. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :billed_in_advance + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::BillingCycleConfiguration + ) + ) + end + attr_reader :billing_cycle_configuration + + sig do + params( + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::BillingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :billing_cycle_configuration + + # The per unit conversion rate of the price currency to the invoicing currency. + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + sig { returns(T.nilable(String)) } + attr_accessor :currency + + # For dimensional price: specifies a price group and dimension values + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::DimensionalPriceConfiguration + ) + ) + end + attr_reader :dimensional_price_configuration + + sig do + params( + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::DimensionalPriceConfiguration::OrHash + ) + ).void + end + attr_writer :dimensional_price_configuration + + # An alias for the price. + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + # The property used to group this price on an invoice + sig { returns(T.nilable(String)) } + attr_accessor :invoice_grouping_key + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration + ) + ) + end + attr_reader :invoicing_cycle_configuration + + sig do + params( + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :invoicing_cycle_configuration + + # 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`. + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } + attr_accessor :metadata + + sig do + params( + cadence: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::Cadence::OrSymbol, + item_id: String, + name: String, + tiered_bps_config: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::TieredBpsConfig::OrHash, + billable_metric_id: T.nilable(String), + billed_in_advance: T.nilable(T::Boolean), + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::BillingCycleConfiguration::OrHash + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::DimensionalPriceConfiguration::OrHash + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration::OrHash + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), + model_type: Symbol + ).returns(T.attached_class) + end + def self.new( + # The cadence to bill for this price on. + cadence:, + # The id of the item the price will be associated with. + item_id:, + # The name of the price. + name:, + tiered_bps_config:, + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + billable_metric_id: nil, + # 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. + billed_in_advance: nil, + # For custom cadence: specifies the duration of the billing period in days or + # months. + billing_cycle_configuration: nil, + # The per unit conversion rate of the price currency to the invoicing currency. + conversion_rate: nil, + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + currency: nil, + # For dimensional price: specifies a price group and dimension values + dimensional_price_configuration: nil, + # An alias for the price. + external_price_id: nil, + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + fixed_price_quantity: nil, + # The property used to group this price on an invoice + invoice_grouping_key: nil, + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + invoicing_cycle_configuration: nil, + # 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`. + metadata: nil, + model_type: :tiered_bps + ) + end + + sig do + override.returns( + { + cadence: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::Cadence::OrSymbol, + item_id: String, + model_type: Symbol, + name: String, + tiered_bps_config: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::TieredBpsConfig, + billable_metric_id: T.nilable(String), + billed_in_advance: T.nilable(T::Boolean), + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::BillingCycleConfiguration + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::DimensionalPriceConfiguration + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) + } + ) + end + def to_hash + end + + # The cadence to bill for this price on. + module Cadence + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::Cadence + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ANNUAL = + T.let( + :annual, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::Cadence::TaggedSymbol + ) + SEMI_ANNUAL = + T.let( + :semi_annual, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::Cadence::TaggedSymbol + ) + MONTHLY = + T.let( + :monthly, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::Cadence::TaggedSymbol + ) + QUARTERLY = + T.let( + :quarterly, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::Cadence::TaggedSymbol + ) + ONE_TIME = + T.let( + :one_time, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::Cadence::TaggedSymbol + ) + CUSTOM = + T.let( + :custom, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::Cadence::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::Cadence::TaggedSymbol + ] + ) + end + def self.values + end + end + + class TieredBpsConfig < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::TieredBpsConfig, + Orb::Internal::AnyHash + ) + end + + # Tiers for a Graduated BPS pricing model, where usage is bucketed into specified + # tiers + sig do + returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::TieredBpsConfig::Tier + ] + ) + end + attr_accessor :tiers + + sig do + params( + tiers: + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::TieredBpsConfig::Tier::OrHash + ] + ).returns(T.attached_class) + end + def self.new( + # Tiers for a Graduated BPS pricing model, where usage is bucketed into specified + # tiers + tiers: + ) + end + + sig do + override.returns( + { + tiers: + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::TieredBpsConfig::Tier + ] + } + ) + end + def to_hash + end + + class Tier < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::TieredBpsConfig::Tier, + Orb::Internal::AnyHash + ) + end + + # Per-event basis point rate + sig { returns(Float) } + attr_accessor :bps + + # Exclusive tier starting value + sig { returns(String) } + attr_accessor :minimum_amount + + # Inclusive tier ending value + sig { returns(T.nilable(String)) } + attr_accessor :maximum_amount + + # Per unit maximum to charge + sig { returns(T.nilable(String)) } + attr_accessor :per_unit_maximum + + sig do + params( + bps: Float, + minimum_amount: String, + maximum_amount: T.nilable(String), + per_unit_maximum: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # Per-event basis point rate + bps:, + # Exclusive tier starting value + minimum_amount:, + # Inclusive tier ending value + maximum_amount: nil, + # Per unit maximum to charge + per_unit_maximum: nil + ) + end + + sig do + override.returns( + { + bps: Float, + minimum_amount: String, + maximum_amount: T.nilable(String), + per_unit_maximum: T.nilable(String) + } + ) + end + def to_hash + end + end + end + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::BillingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::BillingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::BillingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::BillingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::BillingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::DimensionalPriceConfiguration, + Orb::Internal::AnyHash + ) + end + + # The list of dimension values matching (in order) the dimensions of the price + # group + sig { returns(T::Array[String]) } + attr_accessor :dimension_values + + # The id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :dimensional_price_group_id + + # The external id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :external_dimensional_price_group_id + + # For dimensional price: specifies a price group and dimension values + sig do + params( + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The list of dimension values matching (in order) the dimensions of the price + # group + dimension_values:, + # The id of the dimensional price group to include this price in + dimensional_price_group_id: nil, + # The external id of the dimensional price group to include this price in + external_dimensional_price_group_id: nil + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + } + ) + end + def to_hash + end + end + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + class Bps < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bps, + Orb::Internal::AnyHash + ) + end + + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bps::BpsConfig + ) + end + attr_reader :bps_config + + sig do + params( + bps_config: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bps::BpsConfig::OrHash + ).void + end + attr_writer :bps_config + + # The cadence to bill for this price on. + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bps::Cadence::OrSymbol + ) + end + attr_accessor :cadence + + # The id of the item the price will be associated with. + sig { returns(String) } + attr_accessor :item_id + + sig { returns(Symbol) } + attr_accessor :model_type + + # The name of the price. + sig { returns(String) } + attr_accessor :name + + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + sig { returns(T.nilable(String)) } + attr_accessor :billable_metric_id + + # 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. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :billed_in_advance + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bps::BillingCycleConfiguration + ) + ) + end + attr_reader :billing_cycle_configuration + + sig do + params( + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bps::BillingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :billing_cycle_configuration + + # The per unit conversion rate of the price currency to the invoicing currency. + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + sig { returns(T.nilable(String)) } + attr_accessor :currency + + # For dimensional price: specifies a price group and dimension values + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bps::DimensionalPriceConfiguration + ) + ) + end + attr_reader :dimensional_price_configuration + + sig do + params( + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bps::DimensionalPriceConfiguration::OrHash + ) + ).void + end + attr_writer :dimensional_price_configuration + + # An alias for the price. + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + # The property used to group this price on an invoice + sig { returns(T.nilable(String)) } + attr_accessor :invoice_grouping_key + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bps::InvoicingCycleConfiguration + ) + ) + end + attr_reader :invoicing_cycle_configuration + + sig do + params( + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bps::InvoicingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :invoicing_cycle_configuration + + # 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`. + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } + attr_accessor :metadata + + sig do + params( + bps_config: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bps::BpsConfig::OrHash, + cadence: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bps::Cadence::OrSymbol, + item_id: String, + name: String, + billable_metric_id: T.nilable(String), + billed_in_advance: T.nilable(T::Boolean), + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bps::BillingCycleConfiguration::OrHash + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bps::DimensionalPriceConfiguration::OrHash + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bps::InvoicingCycleConfiguration::OrHash + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), + model_type: Symbol + ).returns(T.attached_class) + end + def self.new( + bps_config:, + # The cadence to bill for this price on. + cadence:, + # The id of the item the price will be associated with. + item_id:, + # The name of the price. + name:, + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + billable_metric_id: nil, + # 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. + billed_in_advance: nil, + # For custom cadence: specifies the duration of the billing period in days or + # months. + billing_cycle_configuration: nil, + # The per unit conversion rate of the price currency to the invoicing currency. + conversion_rate: nil, + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + currency: nil, + # For dimensional price: specifies a price group and dimension values + dimensional_price_configuration: nil, + # An alias for the price. + external_price_id: nil, + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + fixed_price_quantity: nil, + # The property used to group this price on an invoice + invoice_grouping_key: nil, + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + invoicing_cycle_configuration: nil, + # 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`. + metadata: nil, + model_type: :bps + ) + end + + sig do + override.returns( + { + bps_config: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bps::BpsConfig, + cadence: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bps::Cadence::OrSymbol, + 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::BetaCreatePlanVersionParams::AddPrice::Price::Bps::BillingCycleConfiguration + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bps::DimensionalPriceConfiguration + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bps::InvoicingCycleConfiguration + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) + } + ) + end + def to_hash + end + + class BpsConfig < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bps::BpsConfig, + Orb::Internal::AnyHash + ) + end + + # Basis point take rate per event + sig { returns(Float) } + attr_accessor :bps + + # Optional currency amount maximum to cap spend per event + sig { returns(T.nilable(String)) } + attr_accessor :per_unit_maximum + + sig do + params(bps: Float, per_unit_maximum: T.nilable(String)).returns( + T.attached_class + ) + end + def self.new( + # Basis point take rate per event + bps:, + # Optional currency amount maximum to cap spend per event + per_unit_maximum: nil + ) + end + + sig do + override.returns( + { bps: Float, per_unit_maximum: T.nilable(String) } + ) + end + def to_hash + end + end + + # The cadence to bill for this price on. + module Cadence + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bps::Cadence + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ANNUAL = + T.let( + :annual, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bps::Cadence::TaggedSymbol + ) + SEMI_ANNUAL = + T.let( + :semi_annual, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bps::Cadence::TaggedSymbol + ) + MONTHLY = + T.let( + :monthly, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bps::Cadence::TaggedSymbol + ) + QUARTERLY = + T.let( + :quarterly, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bps::Cadence::TaggedSymbol + ) + ONE_TIME = + T.let( + :one_time, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bps::Cadence::TaggedSymbol + ) + CUSTOM = + T.let( + :custom, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bps::Cadence::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bps::Cadence::TaggedSymbol + ] + ) + end + def self.values + end + end + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bps::BillingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bps::BillingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bps::BillingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bps::BillingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bps::BillingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bps::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bps::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bps::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bps::DimensionalPriceConfiguration, + Orb::Internal::AnyHash + ) + end + + # The list of dimension values matching (in order) the dimensions of the price + # group + sig { returns(T::Array[String]) } + attr_accessor :dimension_values + + # The id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :dimensional_price_group_id + + # The external id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :external_dimensional_price_group_id + + # For dimensional price: specifies a price group and dimension values + sig do + params( + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The list of dimension values matching (in order) the dimensions of the price + # group + dimension_values:, + # The id of the dimensional price group to include this price in + dimensional_price_group_id: nil, + # The external id of the dimensional price group to include this price in + external_dimensional_price_group_id: nil + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + } + ) + end + def to_hash + end + end + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bps::InvoicingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bps::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bps::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bps::InvoicingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bps::InvoicingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + class BulkBps < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps, + Orb::Internal::AnyHash + ) + end + + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::BulkBpsConfig + ) + end + attr_reader :bulk_bps_config + + sig do + params( + bulk_bps_config: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::BulkBpsConfig::OrHash + ).void + end + attr_writer :bulk_bps_config + + # The cadence to bill for this price on. + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::Cadence::OrSymbol + ) + end + attr_accessor :cadence + + # The id of the item the price will be associated with. + sig { returns(String) } + attr_accessor :item_id + + sig { returns(Symbol) } + attr_accessor :model_type + + # The name of the price. + sig { returns(String) } + attr_accessor :name + + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + sig { returns(T.nilable(String)) } + attr_accessor :billable_metric_id + + # 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. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :billed_in_advance + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::BillingCycleConfiguration + ) + ) + end + attr_reader :billing_cycle_configuration + + sig do + params( + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::BillingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :billing_cycle_configuration + + # The per unit conversion rate of the price currency to the invoicing currency. + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + sig { returns(T.nilable(String)) } + attr_accessor :currency + + # For dimensional price: specifies a price group and dimension values + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::DimensionalPriceConfiguration + ) + ) + end + attr_reader :dimensional_price_configuration + + sig do + params( + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::DimensionalPriceConfiguration::OrHash + ) + ).void + end + attr_writer :dimensional_price_configuration + + # An alias for the price. + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + # The property used to group this price on an invoice + sig { returns(T.nilable(String)) } + attr_accessor :invoice_grouping_key + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration + ) + ) + end + attr_reader :invoicing_cycle_configuration + + sig do + params( + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :invoicing_cycle_configuration + + # 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`. + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } + attr_accessor :metadata + + sig do + params( + bulk_bps_config: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::BulkBpsConfig::OrHash, + cadence: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::Cadence::OrSymbol, + item_id: String, + name: String, + billable_metric_id: T.nilable(String), + billed_in_advance: T.nilable(T::Boolean), + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::BillingCycleConfiguration::OrHash + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::DimensionalPriceConfiguration::OrHash + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration::OrHash + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), + model_type: Symbol + ).returns(T.attached_class) + end + def self.new( + bulk_bps_config:, + # The cadence to bill for this price on. + cadence:, + # The id of the item the price will be associated with. + item_id:, + # The name of the price. + name:, + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + billable_metric_id: nil, + # 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. + billed_in_advance: nil, + # For custom cadence: specifies the duration of the billing period in days or + # months. + billing_cycle_configuration: nil, + # The per unit conversion rate of the price currency to the invoicing currency. + conversion_rate: nil, + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + currency: nil, + # For dimensional price: specifies a price group and dimension values + dimensional_price_configuration: nil, + # An alias for the price. + external_price_id: nil, + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + fixed_price_quantity: nil, + # The property used to group this price on an invoice + invoice_grouping_key: nil, + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + invoicing_cycle_configuration: nil, + # 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`. + metadata: nil, + model_type: :bulk_bps + ) + end + + sig do + override.returns( + { + bulk_bps_config: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::BulkBpsConfig, + cadence: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::Cadence::OrSymbol, + 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::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::BillingCycleConfiguration + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::DimensionalPriceConfiguration + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) + } + ) + end + def to_hash + end + + class BulkBpsConfig < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::BulkBpsConfig, + Orb::Internal::AnyHash + ) + end + + # Tiers for a bulk BPS pricing model where all usage is aggregated to a single + # tier based on total volume + sig do + returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::BulkBpsConfig::Tier + ] + ) + end + attr_accessor :tiers + + sig do + params( + tiers: + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::BulkBpsConfig::Tier::OrHash + ] + ).returns(T.attached_class) + end + def self.new( + # Tiers for a bulk BPS pricing model where all usage is aggregated to a single + # tier based on total volume + tiers: + ) + end + + sig do + override.returns( + { + tiers: + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::BulkBpsConfig::Tier + ] + } + ) + end + def to_hash + end + + class Tier < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::BulkBpsConfig::Tier, + Orb::Internal::AnyHash + ) + end + + # Basis points to rate on + sig { returns(Float) } + attr_accessor :bps + + # Upper bound for tier + sig { returns(T.nilable(String)) } + attr_accessor :maximum_amount + + # The maximum amount to charge for any one event + sig { returns(T.nilable(String)) } + attr_accessor :per_unit_maximum + + sig do + params( + bps: Float, + maximum_amount: T.nilable(String), + per_unit_maximum: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # Basis points to rate on + bps:, + # Upper bound for tier + maximum_amount: nil, + # The maximum amount to charge for any one event + per_unit_maximum: nil + ) + end + + sig do + override.returns( + { + bps: Float, + maximum_amount: T.nilable(String), + per_unit_maximum: T.nilable(String) + } + ) + end + def to_hash + end + end + end + + # The cadence to bill for this price on. + module Cadence + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::Cadence + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ANNUAL = + T.let( + :annual, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::Cadence::TaggedSymbol + ) + SEMI_ANNUAL = + T.let( + :semi_annual, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::Cadence::TaggedSymbol + ) + MONTHLY = + T.let( + :monthly, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::Cadence::TaggedSymbol + ) + QUARTERLY = + T.let( + :quarterly, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::Cadence::TaggedSymbol + ) + ONE_TIME = + T.let( + :one_time, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::Cadence::TaggedSymbol + ) + CUSTOM = + T.let( + :custom, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::Cadence::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::Cadence::TaggedSymbol + ] + ) + end + def self.values + end + end + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::BillingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::BillingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::BillingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::BillingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::BillingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::DimensionalPriceConfiguration, + Orb::Internal::AnyHash + ) + end + + # The list of dimension values matching (in order) the dimensions of the price + # group + sig { returns(T::Array[String]) } + attr_accessor :dimension_values + + # The id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :dimensional_price_group_id + + # The external id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :external_dimensional_price_group_id + + # For dimensional price: specifies a price group and dimension values + sig do + params( + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The list of dimension values matching (in order) the dimensions of the price + # group + dimension_values:, + # The id of the dimensional price group to include this price in + dimensional_price_group_id: nil, + # The external id of the dimensional price group to include this price in + external_dimensional_price_group_id: nil + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + } + ) + end + def to_hash + end + end + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + class Bulk < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bulk, + Orb::Internal::AnyHash + ) + end + + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::BulkConfig + ) + end + attr_reader :bulk_config + + sig do + params( + bulk_config: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::BulkConfig::OrHash + ).void + end + attr_writer :bulk_config + + # The cadence to bill for this price on. + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::Cadence::OrSymbol + ) + end + attr_accessor :cadence + + # The id of the item the price will be associated with. + sig { returns(String) } + attr_accessor :item_id + + sig { returns(Symbol) } + attr_accessor :model_type + + # The name of the price. + sig { returns(String) } + attr_accessor :name + + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + sig { returns(T.nilable(String)) } + attr_accessor :billable_metric_id + + # 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. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :billed_in_advance + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::BillingCycleConfiguration + ) + ) + end + attr_reader :billing_cycle_configuration + + sig do + params( + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::BillingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :billing_cycle_configuration + + # The per unit conversion rate of the price currency to the invoicing currency. + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + sig { returns(T.nilable(String)) } + attr_accessor :currency + + # For dimensional price: specifies a price group and dimension values + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::DimensionalPriceConfiguration + ) + ) + end + attr_reader :dimensional_price_configuration + + sig do + params( + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::DimensionalPriceConfiguration::OrHash + ) + ).void + end + attr_writer :dimensional_price_configuration + + # An alias for the price. + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + # The property used to group this price on an invoice + sig { returns(T.nilable(String)) } + attr_accessor :invoice_grouping_key + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration + ) + ) + end + attr_reader :invoicing_cycle_configuration + + sig do + params( + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :invoicing_cycle_configuration + + # 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`. + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } + attr_accessor :metadata + + sig do + params( + bulk_config: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::BulkConfig::OrHash, + cadence: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::Cadence::OrSymbol, + item_id: String, + name: String, + billable_metric_id: T.nilable(String), + billed_in_advance: T.nilable(T::Boolean), + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::BillingCycleConfiguration::OrHash + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::DimensionalPriceConfiguration::OrHash + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration::OrHash + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), + model_type: Symbol + ).returns(T.attached_class) + end + def self.new( + bulk_config:, + # The cadence to bill for this price on. + cadence:, + # The id of the item the price will be associated with. + item_id:, + # The name of the price. + name:, + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + billable_metric_id: nil, + # 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. + billed_in_advance: nil, + # For custom cadence: specifies the duration of the billing period in days or + # months. + billing_cycle_configuration: nil, + # The per unit conversion rate of the price currency to the invoicing currency. + conversion_rate: nil, + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + currency: nil, + # For dimensional price: specifies a price group and dimension values + dimensional_price_configuration: nil, + # An alias for the price. + external_price_id: nil, + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + fixed_price_quantity: nil, + # The property used to group this price on an invoice + invoice_grouping_key: nil, + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + invoicing_cycle_configuration: nil, + # 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`. + metadata: nil, + model_type: :bulk + ) + end + + sig do + override.returns( + { + bulk_config: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::BulkConfig, + cadence: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::Cadence::OrSymbol, + 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::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::BillingCycleConfiguration + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::DimensionalPriceConfiguration + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) + } + ) + end + def to_hash + end + + class BulkConfig < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::BulkConfig, + Orb::Internal::AnyHash + ) + end + + # Bulk tiers for rating based on total usage volume + sig do + returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::BulkConfig::Tier + ] + ) + end + attr_accessor :tiers + + sig do + params( + tiers: + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::BulkConfig::Tier::OrHash + ] + ).returns(T.attached_class) + end + def self.new( + # Bulk tiers for rating based on total usage volume + tiers: + ) + end + + sig do + override.returns( + { + tiers: + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::BulkConfig::Tier + ] + } + ) + end + def to_hash + end + + class Tier < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::BulkConfig::Tier, + Orb::Internal::AnyHash + ) + end + + # Amount per unit + sig { returns(String) } + attr_accessor :unit_amount + + # Upper bound for this tier + sig { returns(T.nilable(Float)) } + attr_accessor :maximum_units + + sig do + params( + unit_amount: String, + maximum_units: T.nilable(Float) + ).returns(T.attached_class) + end + def self.new( + # Amount per unit + unit_amount:, + # Upper bound for this tier + maximum_units: nil + ) + end + + sig do + override.returns( + { unit_amount: String, maximum_units: T.nilable(Float) } + ) + end + def to_hash + end + end + end + + # The cadence to bill for this price on. + module Cadence + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::Cadence + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ANNUAL = + T.let( + :annual, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::Cadence::TaggedSymbol + ) + SEMI_ANNUAL = + T.let( + :semi_annual, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::Cadence::TaggedSymbol + ) + MONTHLY = + T.let( + :monthly, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::Cadence::TaggedSymbol + ) + QUARTERLY = + T.let( + :quarterly, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::Cadence::TaggedSymbol + ) + ONE_TIME = + T.let( + :one_time, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::Cadence::TaggedSymbol + ) + CUSTOM = + T.let( + :custom, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::Cadence::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::Cadence::TaggedSymbol + ] + ) + end + def self.values + end + end + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::BillingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::BillingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::BillingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::BillingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::BillingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::DimensionalPriceConfiguration, + Orb::Internal::AnyHash + ) + end + + # The list of dimension values matching (in order) the dimensions of the price + # group + sig { returns(T::Array[String]) } + attr_accessor :dimension_values + + # The id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :dimensional_price_group_id + + # The external id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :external_dimensional_price_group_id + + # For dimensional price: specifies a price group and dimension values + sig do + params( + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The list of dimension values matching (in order) the dimensions of the price + # group + dimension_values:, + # The id of the dimensional price group to include this price in + dimensional_price_group_id: nil, + # The external id of the dimensional price group to include this price in + external_dimensional_price_group_id: nil + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + } + ) + end + def to_hash + end + end + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + class ThresholdTotalAmount < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount, + Orb::Internal::AnyHash + ) + end + + # The cadence to bill for this price on. + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::Cadence::OrSymbol + ) + end + attr_accessor :cadence + + # The id of the item the price will be associated with. + sig { returns(String) } + attr_accessor :item_id + + sig { returns(Symbol) } + attr_accessor :model_type + + # The name of the price. + sig { returns(String) } + attr_accessor :name + + sig { returns(T::Hash[Symbol, T.anything]) } + attr_accessor :threshold_total_amount_config + + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + sig { returns(T.nilable(String)) } + attr_accessor :billable_metric_id + + # 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. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :billed_in_advance + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration + ) + ) + end + attr_reader :billing_cycle_configuration + + sig do + params( + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :billing_cycle_configuration + + # The per unit conversion rate of the price currency to the invoicing currency. + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + sig { returns(T.nilable(String)) } + attr_accessor :currency + + # For dimensional price: specifies a price group and dimension values + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration + ) + ) + end + attr_reader :dimensional_price_configuration + + sig do + params( + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration::OrHash + ) + ).void + end + attr_writer :dimensional_price_configuration + + # An alias for the price. + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + # The property used to group this price on an invoice + sig { returns(T.nilable(String)) } + attr_accessor :invoice_grouping_key + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration + ) + ) + end + attr_reader :invoicing_cycle_configuration + + sig do + params( + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :invoicing_cycle_configuration + + # 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`. + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } + attr_accessor :metadata + + sig do + params( + cadence: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::Cadence::OrSymbol, + item_id: String, + name: String, + threshold_total_amount_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::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::OrHash + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration::OrHash + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::OrHash + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), + model_type: Symbol + ).returns(T.attached_class) + end + def self.new( + # The cadence to bill for this price on. + cadence:, + # The id of the item the price will be associated with. + item_id:, + # The name of the price. + name:, + threshold_total_amount_config:, + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + billable_metric_id: nil, + # 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. + billed_in_advance: nil, + # For custom cadence: specifies the duration of the billing period in days or + # months. + billing_cycle_configuration: nil, + # The per unit conversion rate of the price currency to the invoicing currency. + conversion_rate: nil, + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + currency: nil, + # For dimensional price: specifies a price group and dimension values + dimensional_price_configuration: nil, + # An alias for the price. + external_price_id: nil, + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + fixed_price_quantity: nil, + # The property used to group this price on an invoice + invoice_grouping_key: nil, + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + invoicing_cycle_configuration: nil, + # 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`. + metadata: nil, + model_type: :threshold_total_amount + ) + end + + sig do + override.returns( + { + cadence: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::Cadence::OrSymbol, + item_id: String, + model_type: Symbol, + name: String, + threshold_total_amount_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::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) + } + ) + end + def to_hash + end + + # The cadence to bill for this price on. + module Cadence + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::Cadence + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ANNUAL = + T.let( + :annual, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::Cadence::TaggedSymbol + ) + SEMI_ANNUAL = + T.let( + :semi_annual, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::Cadence::TaggedSymbol + ) + MONTHLY = + T.let( + :monthly, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::Cadence::TaggedSymbol + ) + QUARTERLY = + T.let( + :quarterly, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::Cadence::TaggedSymbol + ) + ONE_TIME = + T.let( + :one_time, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::Cadence::TaggedSymbol + ) + CUSTOM = + T.let( + :custom, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::Cadence::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::Cadence::TaggedSymbol + ] + ) + end + def self.values + end + end + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration, + Orb::Internal::AnyHash + ) + end + + # The list of dimension values matching (in order) the dimensions of the price + # group + sig { returns(T::Array[String]) } + attr_accessor :dimension_values + + # The id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :dimensional_price_group_id + + # The external id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :external_dimensional_price_group_id + + # For dimensional price: specifies a price group and dimension values + sig do + params( + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The list of dimension values matching (in order) the dimensions of the price + # group + dimension_values:, + # The id of the dimensional price group to include this price in + dimensional_price_group_id: nil, + # The external id of the dimensional price group to include this price in + external_dimensional_price_group_id: nil + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + } + ) + end + def to_hash + end + end + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + class TieredPackage < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage, + Orb::Internal::AnyHash + ) + end + + # The cadence to bill for this price on. + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::Cadence::OrSymbol + ) + end + attr_accessor :cadence + + # The id of the item the price will be associated with. + sig { returns(String) } + attr_accessor :item_id + + sig { returns(Symbol) } + attr_accessor :model_type + + # The name of the price. + sig { returns(String) } + attr_accessor :name + + sig { returns(T::Hash[Symbol, T.anything]) } + attr_accessor :tiered_package_config + + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + sig { returns(T.nilable(String)) } + attr_accessor :billable_metric_id + + # 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. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :billed_in_advance + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration + ) + ) + end + attr_reader :billing_cycle_configuration + + sig do + params( + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :billing_cycle_configuration + + # The per unit conversion rate of the price currency to the invoicing currency. + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + sig { returns(T.nilable(String)) } + attr_accessor :currency + + # For dimensional price: specifies a price group and dimension values + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::DimensionalPriceConfiguration + ) + ) + end + attr_reader :dimensional_price_configuration + + sig do + params( + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::DimensionalPriceConfiguration::OrHash + ) + ).void + end + attr_writer :dimensional_price_configuration + + # An alias for the price. + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + # The property used to group this price on an invoice + sig { returns(T.nilable(String)) } + attr_accessor :invoice_grouping_key + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration + ) + ) + end + attr_reader :invoicing_cycle_configuration + + sig do + params( + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :invoicing_cycle_configuration + + # 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`. + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } + attr_accessor :metadata + + sig do + params( + cadence: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::Cadence::OrSymbol, + item_id: String, + name: String, + tiered_package_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::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration::OrHash + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::DimensionalPriceConfiguration::OrHash + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration::OrHash + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), + model_type: Symbol + ).returns(T.attached_class) + end + def self.new( + # The cadence to bill for this price on. + cadence:, + # The id of the item the price will be associated with. + item_id:, + # The name of the price. + name:, + tiered_package_config:, + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + billable_metric_id: nil, + # 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. + billed_in_advance: nil, + # For custom cadence: specifies the duration of the billing period in days or + # months. + billing_cycle_configuration: nil, + # The per unit conversion rate of the price currency to the invoicing currency. + conversion_rate: nil, + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + currency: nil, + # For dimensional price: specifies a price group and dimension values + dimensional_price_configuration: nil, + # An alias for the price. + external_price_id: nil, + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + fixed_price_quantity: nil, + # The property used to group this price on an invoice + invoice_grouping_key: nil, + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + invoicing_cycle_configuration: nil, + # 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`. + metadata: nil, + model_type: :tiered_package + ) + end + + sig do + override.returns( + { + cadence: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::Cadence::OrSymbol, + item_id: String, + model_type: Symbol, + name: String, + tiered_package_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::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::DimensionalPriceConfiguration + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) + } + ) + end + def to_hash + end + + # The cadence to bill for this price on. + module Cadence + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::Cadence + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ANNUAL = + T.let( + :annual, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::Cadence::TaggedSymbol + ) + SEMI_ANNUAL = + T.let( + :semi_annual, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::Cadence::TaggedSymbol + ) + MONTHLY = + T.let( + :monthly, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::Cadence::TaggedSymbol + ) + QUARTERLY = + T.let( + :quarterly, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::Cadence::TaggedSymbol + ) + ONE_TIME = + T.let( + :one_time, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::Cadence::TaggedSymbol + ) + CUSTOM = + T.let( + :custom, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::Cadence::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::Cadence::TaggedSymbol + ] + ) + end + def self.values + end + end + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::DimensionalPriceConfiguration, + Orb::Internal::AnyHash + ) + end + + # The list of dimension values matching (in order) the dimensions of the price + # group + sig { returns(T::Array[String]) } + attr_accessor :dimension_values + + # The id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :dimensional_price_group_id + + # The external id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :external_dimensional_price_group_id + + # For dimensional price: specifies a price group and dimension values + sig do + params( + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The list of dimension values matching (in order) the dimensions of the price + # group + dimension_values:, + # The id of the dimensional price group to include this price in + dimensional_price_group_id: nil, + # The external id of the dimensional price group to include this price in + external_dimensional_price_group_id: nil + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + } + ) + end + def to_hash + end + end + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + class TieredWithMinimum < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum, + Orb::Internal::AnyHash + ) + end + + # The cadence to bill for this price on. + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::Cadence::OrSymbol + ) + end + attr_accessor :cadence + + # The id of the item the price will be associated with. + sig { returns(String) } + attr_accessor :item_id + + sig { returns(Symbol) } + attr_accessor :model_type + + # The name of the price. + sig { returns(String) } + attr_accessor :name + + sig { returns(T::Hash[Symbol, T.anything]) } + attr_accessor :tiered_with_minimum_config + + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + sig { returns(T.nilable(String)) } + attr_accessor :billable_metric_id + + # 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. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :billed_in_advance + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration + ) + ) + end + attr_reader :billing_cycle_configuration + + sig do + params( + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :billing_cycle_configuration + + # The per unit conversion rate of the price currency to the invoicing currency. + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + sig { returns(T.nilable(String)) } + attr_accessor :currency + + # For dimensional price: specifies a price group and dimension values + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::DimensionalPriceConfiguration + ) + ) + end + attr_reader :dimensional_price_configuration + + sig do + params( + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::DimensionalPriceConfiguration::OrHash + ) + ).void + end + attr_writer :dimensional_price_configuration + + # An alias for the price. + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + # The property used to group this price on an invoice + sig { returns(T.nilable(String)) } + attr_accessor :invoice_grouping_key + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration + ) + ) + end + attr_reader :invoicing_cycle_configuration + + sig do + params( + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :invoicing_cycle_configuration + + # 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`. + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } + attr_accessor :metadata + + sig do + params( + cadence: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::Cadence::OrSymbol, + item_id: String, + name: String, + tiered_with_minimum_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::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration::OrHash + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::DimensionalPriceConfiguration::OrHash + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::OrHash + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), + model_type: Symbol + ).returns(T.attached_class) + end + def self.new( + # The cadence to bill for this price on. + cadence:, + # The id of the item the price will be associated with. + item_id:, + # The name of the price. + name:, + tiered_with_minimum_config:, + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + billable_metric_id: nil, + # 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. + billed_in_advance: nil, + # For custom cadence: specifies the duration of the billing period in days or + # months. + billing_cycle_configuration: nil, + # The per unit conversion rate of the price currency to the invoicing currency. + conversion_rate: nil, + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + currency: nil, + # For dimensional price: specifies a price group and dimension values + dimensional_price_configuration: nil, + # An alias for the price. + external_price_id: nil, + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + fixed_price_quantity: nil, + # The property used to group this price on an invoice + invoice_grouping_key: nil, + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + invoicing_cycle_configuration: nil, + # 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`. + metadata: nil, + model_type: :tiered_with_minimum + ) + end + + sig do + override.returns( + { + cadence: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::Cadence::OrSymbol, + item_id: String, + model_type: Symbol, + name: String, + tiered_with_minimum_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::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::DimensionalPriceConfiguration + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) + } + ) + end + def to_hash + end + + # The cadence to bill for this price on. + module Cadence + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::Cadence + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ANNUAL = + T.let( + :annual, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::Cadence::TaggedSymbol + ) + SEMI_ANNUAL = + T.let( + :semi_annual, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::Cadence::TaggedSymbol + ) + MONTHLY = + T.let( + :monthly, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::Cadence::TaggedSymbol + ) + QUARTERLY = + T.let( + :quarterly, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::Cadence::TaggedSymbol + ) + ONE_TIME = + T.let( + :one_time, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::Cadence::TaggedSymbol + ) + CUSTOM = + T.let( + :custom, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::Cadence::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::Cadence::TaggedSymbol + ] + ) + end + def self.values + end + end + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::DimensionalPriceConfiguration, + Orb::Internal::AnyHash + ) + end + + # The list of dimension values matching (in order) the dimensions of the price + # group + sig { returns(T::Array[String]) } + attr_accessor :dimension_values + + # The id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :dimensional_price_group_id + + # The external id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :external_dimensional_price_group_id + + # For dimensional price: specifies a price group and dimension values + sig do + params( + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The list of dimension values matching (in order) the dimensions of the price + # group + dimension_values:, + # The id of the dimensional price group to include this price in + dimensional_price_group_id: nil, + # The external id of the dimensional price group to include this price in + external_dimensional_price_group_id: nil + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + } + ) + end + def to_hash + end + end + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + class UnitWithPercent < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent, + Orb::Internal::AnyHash + ) + end + + # The cadence to bill for this price on. + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::Cadence::OrSymbol + ) + end + attr_accessor :cadence + + # The id of the item the price will be associated with. + sig { returns(String) } + attr_accessor :item_id + + sig { returns(Symbol) } + attr_accessor :model_type + + # The name of the price. + sig { returns(String) } + attr_accessor :name + + sig { returns(T::Hash[Symbol, T.anything]) } + attr_accessor :unit_with_percent_config + + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + sig { returns(T.nilable(String)) } + attr_accessor :billable_metric_id + + # 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. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :billed_in_advance + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration + ) + ) + end + attr_reader :billing_cycle_configuration + + sig do + params( + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :billing_cycle_configuration + + # The per unit conversion rate of the price currency to the invoicing currency. + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + sig { returns(T.nilable(String)) } + attr_accessor :currency + + # For dimensional price: specifies a price group and dimension values + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::DimensionalPriceConfiguration + ) + ) + end + attr_reader :dimensional_price_configuration + + sig do + params( + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::DimensionalPriceConfiguration::OrHash + ) + ).void + end + attr_writer :dimensional_price_configuration + + # An alias for the price. + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + # The property used to group this price on an invoice + sig { returns(T.nilable(String)) } + attr_accessor :invoice_grouping_key + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration + ) + ) + end + attr_reader :invoicing_cycle_configuration + + sig do + params( + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :invoicing_cycle_configuration + + # 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`. + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } + attr_accessor :metadata + + sig do + params( + cadence: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::Cadence::OrSymbol, + item_id: String, + name: String, + unit_with_percent_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::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration::OrHash + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::DimensionalPriceConfiguration::OrHash + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration::OrHash + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), + model_type: Symbol + ).returns(T.attached_class) + end + def self.new( + # The cadence to bill for this price on. + cadence:, + # The id of the item the price will be associated with. + item_id:, + # The name of the price. + name:, + unit_with_percent_config:, + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + billable_metric_id: nil, + # 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. + billed_in_advance: nil, + # For custom cadence: specifies the duration of the billing period in days or + # months. + billing_cycle_configuration: nil, + # The per unit conversion rate of the price currency to the invoicing currency. + conversion_rate: nil, + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + currency: nil, + # For dimensional price: specifies a price group and dimension values + dimensional_price_configuration: nil, + # An alias for the price. + external_price_id: nil, + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + fixed_price_quantity: nil, + # The property used to group this price on an invoice + invoice_grouping_key: nil, + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + invoicing_cycle_configuration: nil, + # 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`. + metadata: nil, + model_type: :unit_with_percent + ) + end + + sig do + override.returns( + { + cadence: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::Cadence::OrSymbol, + item_id: String, + model_type: Symbol, + name: String, + unit_with_percent_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::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::DimensionalPriceConfiguration + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) + } + ) + end + def to_hash + end + + # The cadence to bill for this price on. + module Cadence + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::Cadence + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ANNUAL = + T.let( + :annual, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::Cadence::TaggedSymbol + ) + SEMI_ANNUAL = + T.let( + :semi_annual, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::Cadence::TaggedSymbol + ) + MONTHLY = + T.let( + :monthly, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::Cadence::TaggedSymbol + ) + QUARTERLY = + T.let( + :quarterly, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::Cadence::TaggedSymbol + ) + ONE_TIME = + T.let( + :one_time, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::Cadence::TaggedSymbol + ) + CUSTOM = + T.let( + :custom, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::Cadence::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::Cadence::TaggedSymbol + ] + ) + end + def self.values + end + end + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::DimensionalPriceConfiguration, + Orb::Internal::AnyHash + ) + end + + # The list of dimension values matching (in order) the dimensions of the price + # group + sig { returns(T::Array[String]) } + attr_accessor :dimension_values + + # The id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :dimensional_price_group_id + + # The external id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :external_dimensional_price_group_id + + # For dimensional price: specifies a price group and dimension values + sig do + params( + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The list of dimension values matching (in order) the dimensions of the price + # group + dimension_values:, + # The id of the dimensional price group to include this price in + dimensional_price_group_id: nil, + # The external id of the dimensional price group to include this price in + external_dimensional_price_group_id: nil + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + } + ) + end + def to_hash + end + end + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + class PackageWithAllocation < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation, + Orb::Internal::AnyHash + ) + end + + # The cadence to bill for this price on. + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::Cadence::OrSymbol + ) + end + attr_accessor :cadence + + # The id of the item the price will be associated with. + sig { returns(String) } + attr_accessor :item_id + + sig { returns(Symbol) } + attr_accessor :model_type + + # The name of the price. + sig { returns(String) } + attr_accessor :name + + sig { returns(T::Hash[Symbol, T.anything]) } + attr_accessor :package_with_allocation_config + + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + sig { returns(T.nilable(String)) } + attr_accessor :billable_metric_id + + # 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. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :billed_in_advance + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration + ) + ) + end + attr_reader :billing_cycle_configuration + + sig do + params( + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :billing_cycle_configuration + + # The per unit conversion rate of the price currency to the invoicing currency. + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + sig { returns(T.nilable(String)) } + attr_accessor :currency + + # For dimensional price: specifies a price group and dimension values + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::DimensionalPriceConfiguration + ) + ) + end + attr_reader :dimensional_price_configuration + + sig do + params( + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::DimensionalPriceConfiguration::OrHash + ) + ).void + end + attr_writer :dimensional_price_configuration + + # An alias for the price. + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + # The property used to group this price on an invoice + sig { returns(T.nilable(String)) } + attr_accessor :invoice_grouping_key + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration + ) + ) + end + attr_reader :invoicing_cycle_configuration + + sig do + params( + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :invoicing_cycle_configuration + + # 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`. + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } + attr_accessor :metadata + + sig do + params( + cadence: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::Cadence::OrSymbol, + item_id: String, + name: String, + package_with_allocation_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::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration::OrHash + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::DimensionalPriceConfiguration::OrHash + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::OrHash + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), + model_type: Symbol + ).returns(T.attached_class) + end + def self.new( + # The cadence to bill for this price on. + cadence:, + # The id of the item the price will be associated with. + item_id:, + # The name of the price. + name:, + package_with_allocation_config:, + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + billable_metric_id: nil, + # 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. + billed_in_advance: nil, + # For custom cadence: specifies the duration of the billing period in days or + # months. + billing_cycle_configuration: nil, + # The per unit conversion rate of the price currency to the invoicing currency. + conversion_rate: nil, + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + currency: nil, + # For dimensional price: specifies a price group and dimension values + dimensional_price_configuration: nil, + # An alias for the price. + external_price_id: nil, + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + fixed_price_quantity: nil, + # The property used to group this price on an invoice + invoice_grouping_key: nil, + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + invoicing_cycle_configuration: nil, + # 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`. + metadata: nil, + model_type: :package_with_allocation + ) + end + + sig do + override.returns( + { + cadence: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::Cadence::OrSymbol, + item_id: String, + model_type: Symbol, + name: String, + package_with_allocation_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::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::DimensionalPriceConfiguration + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) + } + ) + end + def to_hash + end + + # The cadence to bill for this price on. + module Cadence + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::Cadence + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ANNUAL = + T.let( + :annual, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::Cadence::TaggedSymbol + ) + SEMI_ANNUAL = + T.let( + :semi_annual, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::Cadence::TaggedSymbol + ) + MONTHLY = + T.let( + :monthly, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::Cadence::TaggedSymbol + ) + QUARTERLY = + T.let( + :quarterly, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::Cadence::TaggedSymbol + ) + ONE_TIME = + T.let( + :one_time, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::Cadence::TaggedSymbol + ) + CUSTOM = + T.let( + :custom, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::Cadence::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::Cadence::TaggedSymbol + ] + ) + end + def self.values + end + end + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::DimensionalPriceConfiguration, + Orb::Internal::AnyHash + ) + end + + # The list of dimension values matching (in order) the dimensions of the price + # group + sig { returns(T::Array[String]) } + attr_accessor :dimension_values + + # The id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :dimensional_price_group_id + + # The external id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :external_dimensional_price_group_id + + # For dimensional price: specifies a price group and dimension values + sig do + params( + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The list of dimension values matching (in order) the dimensions of the price + # group + dimension_values:, + # The id of the dimensional price group to include this price in + dimensional_price_group_id: nil, + # The external id of the dimensional price group to include this price in + external_dimensional_price_group_id: nil + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + } + ) + end + def to_hash + end + end + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + class TieredWithProration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration, + Orb::Internal::AnyHash + ) + end + + # The cadence to bill for this price on. + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::Cadence::OrSymbol + ) + end + attr_accessor :cadence + + # The id of the item the price will be associated with. + sig { returns(String) } + attr_accessor :item_id + + sig { returns(Symbol) } + attr_accessor :model_type + + # The name of the price. + sig { returns(String) } + attr_accessor :name + + sig { returns(T::Hash[Symbol, T.anything]) } + attr_accessor :tiered_with_proration_config + + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + sig { returns(T.nilable(String)) } + attr_accessor :billable_metric_id + + # 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. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :billed_in_advance + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration + ) + ) + end + attr_reader :billing_cycle_configuration + + sig do + params( + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :billing_cycle_configuration + + # The per unit conversion rate of the price currency to the invoicing currency. + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + sig { returns(T.nilable(String)) } + attr_accessor :currency + + # For dimensional price: specifies a price group and dimension values + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::DimensionalPriceConfiguration + ) + ) + end + attr_reader :dimensional_price_configuration + + sig do + params( + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::DimensionalPriceConfiguration::OrHash + ) + ).void + end + attr_writer :dimensional_price_configuration + + # An alias for the price. + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + # The property used to group this price on an invoice + sig { returns(T.nilable(String)) } + attr_accessor :invoice_grouping_key + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration + ) + ) + end + attr_reader :invoicing_cycle_configuration + + sig do + params( + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :invoicing_cycle_configuration + + # 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`. + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } + attr_accessor :metadata + + sig do + params( + cadence: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::Cadence::OrSymbol, + item_id: String, + name: String, + tiered_with_proration_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::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration::OrHash + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::DimensionalPriceConfiguration::OrHash + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration::OrHash + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), + model_type: Symbol + ).returns(T.attached_class) + end + def self.new( + # The cadence to bill for this price on. + cadence:, + # The id of the item the price will be associated with. + item_id:, + # The name of the price. + name:, + tiered_with_proration_config:, + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + billable_metric_id: nil, + # 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. + billed_in_advance: nil, + # For custom cadence: specifies the duration of the billing period in days or + # months. + billing_cycle_configuration: nil, + # The per unit conversion rate of the price currency to the invoicing currency. + conversion_rate: nil, + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + currency: nil, + # For dimensional price: specifies a price group and dimension values + dimensional_price_configuration: nil, + # An alias for the price. + external_price_id: nil, + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + fixed_price_quantity: nil, + # The property used to group this price on an invoice + invoice_grouping_key: nil, + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + invoicing_cycle_configuration: nil, + # 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`. + metadata: nil, + model_type: :tiered_with_proration + ) + end + + sig do + override.returns( + { + cadence: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::Cadence::OrSymbol, + item_id: String, + model_type: Symbol, + name: String, + tiered_with_proration_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::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::DimensionalPriceConfiguration + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) + } + ) + end + def to_hash + end + + # The cadence to bill for this price on. + module Cadence + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::Cadence + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ANNUAL = + T.let( + :annual, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::Cadence::TaggedSymbol + ) + SEMI_ANNUAL = + T.let( + :semi_annual, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::Cadence::TaggedSymbol + ) + MONTHLY = + T.let( + :monthly, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::Cadence::TaggedSymbol + ) + QUARTERLY = + T.let( + :quarterly, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::Cadence::TaggedSymbol + ) + ONE_TIME = + T.let( + :one_time, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::Cadence::TaggedSymbol + ) + CUSTOM = + T.let( + :custom, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::Cadence::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::Cadence::TaggedSymbol + ] + ) + end + def self.values + end + end + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::DimensionalPriceConfiguration, + Orb::Internal::AnyHash + ) + end + + # The list of dimension values matching (in order) the dimensions of the price + # group + sig { returns(T::Array[String]) } + attr_accessor :dimension_values + + # The id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :dimensional_price_group_id + + # The external id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :external_dimensional_price_group_id + + # For dimensional price: specifies a price group and dimension values + sig do + params( + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The list of dimension values matching (in order) the dimensions of the price + # group + dimension_values:, + # The id of the dimensional price group to include this price in + dimensional_price_group_id: nil, + # The external id of the dimensional price group to include this price in + external_dimensional_price_group_id: nil + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + } + ) + end + def to_hash + end + end + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + class UnitWithProration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration, + Orb::Internal::AnyHash + ) + end + + # The cadence to bill for this price on. + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::Cadence::OrSymbol + ) + end + attr_accessor :cadence + + # The id of the item the price will be associated with. + sig { returns(String) } + attr_accessor :item_id + + sig { returns(Symbol) } + attr_accessor :model_type + + # The name of the price. + sig { returns(String) } + attr_accessor :name + + sig { returns(T::Hash[Symbol, T.anything]) } + attr_accessor :unit_with_proration_config + + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + sig { returns(T.nilable(String)) } + attr_accessor :billable_metric_id + + # 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. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :billed_in_advance + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration + ) + ) + end + attr_reader :billing_cycle_configuration + + sig do + params( + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :billing_cycle_configuration + + # The per unit conversion rate of the price currency to the invoicing currency. + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + sig { returns(T.nilable(String)) } + attr_accessor :currency + + # For dimensional price: specifies a price group and dimension values + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::DimensionalPriceConfiguration + ) + ) + end + attr_reader :dimensional_price_configuration + + sig do + params( + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::DimensionalPriceConfiguration::OrHash + ) + ).void + end + attr_writer :dimensional_price_configuration + + # An alias for the price. + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + # The property used to group this price on an invoice + sig { returns(T.nilable(String)) } + attr_accessor :invoice_grouping_key + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration + ) + ) + end + attr_reader :invoicing_cycle_configuration + + sig do + params( + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :invoicing_cycle_configuration + + # 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`. + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } + attr_accessor :metadata + + sig do + params( + cadence: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::Cadence::OrSymbol, + item_id: String, + name: String, + unit_with_proration_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::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration::OrHash + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::DimensionalPriceConfiguration::OrHash + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration::OrHash + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), + model_type: Symbol + ).returns(T.attached_class) + end + def self.new( + # The cadence to bill for this price on. + cadence:, + # The id of the item the price will be associated with. + item_id:, + # The name of the price. + name:, + unit_with_proration_config:, + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + billable_metric_id: nil, + # 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. + billed_in_advance: nil, + # For custom cadence: specifies the duration of the billing period in days or + # months. + billing_cycle_configuration: nil, + # The per unit conversion rate of the price currency to the invoicing currency. + conversion_rate: nil, + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + currency: nil, + # For dimensional price: specifies a price group and dimension values + dimensional_price_configuration: nil, + # An alias for the price. + external_price_id: nil, + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + fixed_price_quantity: nil, + # The property used to group this price on an invoice + invoice_grouping_key: nil, + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + invoicing_cycle_configuration: nil, + # 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`. + metadata: nil, + model_type: :unit_with_proration + ) + end + + sig do + override.returns( + { + cadence: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::Cadence::OrSymbol, + item_id: String, + model_type: Symbol, + name: String, + unit_with_proration_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::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::DimensionalPriceConfiguration + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) + } + ) + end + def to_hash + end + + # The cadence to bill for this price on. + module Cadence + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::Cadence + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ANNUAL = + T.let( + :annual, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::Cadence::TaggedSymbol + ) + SEMI_ANNUAL = + T.let( + :semi_annual, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::Cadence::TaggedSymbol + ) + MONTHLY = + T.let( + :monthly, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::Cadence::TaggedSymbol + ) + QUARTERLY = + T.let( + :quarterly, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::Cadence::TaggedSymbol + ) + ONE_TIME = + T.let( + :one_time, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::Cadence::TaggedSymbol + ) + CUSTOM = + T.let( + :custom, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::Cadence::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::Cadence::TaggedSymbol + ] + ) + end + def self.values + end + end + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::DimensionalPriceConfiguration, + Orb::Internal::AnyHash + ) + end + + # The list of dimension values matching (in order) the dimensions of the price + # group + sig { returns(T::Array[String]) } + attr_accessor :dimension_values + + # The id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :dimensional_price_group_id + + # The external id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :external_dimensional_price_group_id + + # For dimensional price: specifies a price group and dimension values + sig do + params( + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The list of dimension values matching (in order) the dimensions of the price + # group + dimension_values:, + # The id of the dimensional price group to include this price in + dimensional_price_group_id: nil, + # The external id of the dimensional price group to include this price in + external_dimensional_price_group_id: nil + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + } + ) + end + def to_hash + end + end + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + class GroupedAllocation < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation, + Orb::Internal::AnyHash + ) + end + + # The cadence to bill for this price on. + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::Cadence::OrSymbol + ) + end + attr_accessor :cadence + + sig { returns(T::Hash[Symbol, T.anything]) } + attr_accessor :grouped_allocation_config + + # The id of the item the price will be associated with. + sig { returns(String) } + attr_accessor :item_id + + sig { returns(Symbol) } + attr_accessor :model_type + + # The name of the price. + sig { returns(String) } + attr_accessor :name + + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + sig { returns(T.nilable(String)) } + attr_accessor :billable_metric_id + + # 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. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :billed_in_advance + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration + ) + ) + end + attr_reader :billing_cycle_configuration + + sig do + params( + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :billing_cycle_configuration + + # The per unit conversion rate of the price currency to the invoicing currency. + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + sig { returns(T.nilable(String)) } + attr_accessor :currency + + # For dimensional price: specifies a price group and dimension values + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::DimensionalPriceConfiguration + ) + ) + end + attr_reader :dimensional_price_configuration + + sig do + params( + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::DimensionalPriceConfiguration::OrHash + ) + ).void + end + attr_writer :dimensional_price_configuration + + # An alias for the price. + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + # The property used to group this price on an invoice + sig { returns(T.nilable(String)) } + attr_accessor :invoice_grouping_key + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration + ) + ) + end + attr_reader :invoicing_cycle_configuration + + sig do + params( + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :invoicing_cycle_configuration + + # 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`. + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } + attr_accessor :metadata + + sig do + params( + cadence: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::Cadence::OrSymbol, + grouped_allocation_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::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration::OrHash + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::DimensionalPriceConfiguration::OrHash + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration::OrHash + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), + model_type: Symbol + ).returns(T.attached_class) + end + def self.new( + # The cadence to bill for this price on. + cadence:, + grouped_allocation_config:, + # The id of the item the price will be associated with. + item_id:, + # The name of the price. + name:, + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + billable_metric_id: nil, + # 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. + billed_in_advance: nil, + # For custom cadence: specifies the duration of the billing period in days or + # months. + billing_cycle_configuration: nil, + # The per unit conversion rate of the price currency to the invoicing currency. + conversion_rate: nil, + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + currency: nil, + # For dimensional price: specifies a price group and dimension values + dimensional_price_configuration: nil, + # An alias for the price. + external_price_id: nil, + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + fixed_price_quantity: nil, + # The property used to group this price on an invoice + invoice_grouping_key: nil, + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + invoicing_cycle_configuration: nil, + # 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`. + metadata: nil, + model_type: :grouped_allocation + ) + end + + sig do + override.returns( + { + cadence: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::Cadence::OrSymbol, + grouped_allocation_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::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::DimensionalPriceConfiguration + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) + } + ) + end + def to_hash + end + + # The cadence to bill for this price on. + module Cadence + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::Cadence + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ANNUAL = + T.let( + :annual, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::Cadence::TaggedSymbol + ) + SEMI_ANNUAL = + T.let( + :semi_annual, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::Cadence::TaggedSymbol + ) + MONTHLY = + T.let( + :monthly, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::Cadence::TaggedSymbol + ) + QUARTERLY = + T.let( + :quarterly, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::Cadence::TaggedSymbol + ) + ONE_TIME = + T.let( + :one_time, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::Cadence::TaggedSymbol + ) + CUSTOM = + T.let( + :custom, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::Cadence::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::Cadence::TaggedSymbol + ] + ) + end + def self.values + end + end + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::DimensionalPriceConfiguration, + Orb::Internal::AnyHash + ) + end + + # The list of dimension values matching (in order) the dimensions of the price + # group + sig { returns(T::Array[String]) } + attr_accessor :dimension_values + + # The id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :dimensional_price_group_id + + # The external id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :external_dimensional_price_group_id + + # For dimensional price: specifies a price group and dimension values + sig do + params( + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The list of dimension values matching (in order) the dimensions of the price + # group + dimension_values:, + # The id of the dimensional price group to include this price in + dimensional_price_group_id: nil, + # The external id of the dimensional price group to include this price in + external_dimensional_price_group_id: nil + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + } + ) + end + def to_hash + end + end + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + class GroupedWithProratedMinimum < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum, + Orb::Internal::AnyHash + ) + end + + # The cadence to bill for this price on. + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::Cadence::OrSymbol + ) + end + attr_accessor :cadence + + sig { returns(T::Hash[Symbol, T.anything]) } + attr_accessor :grouped_with_prorated_minimum_config + + # The id of the item the price will be associated with. + sig { returns(String) } + attr_accessor :item_id + + sig { returns(Symbol) } + attr_accessor :model_type + + # The name of the price. + sig { returns(String) } + attr_accessor :name + + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + sig { returns(T.nilable(String)) } + attr_accessor :billable_metric_id + + # 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. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :billed_in_advance + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration + ) + ) + end + attr_reader :billing_cycle_configuration + + sig do + params( + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :billing_cycle_configuration + + # The per unit conversion rate of the price currency to the invoicing currency. + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + sig { returns(T.nilable(String)) } + attr_accessor :currency + + # For dimensional price: specifies a price group and dimension values + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration + ) + ) + end + attr_reader :dimensional_price_configuration + + sig do + params( + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration::OrHash + ) + ).void + end + attr_writer :dimensional_price_configuration + + # An alias for the price. + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + # The property used to group this price on an invoice + sig { returns(T.nilable(String)) } + attr_accessor :invoice_grouping_key + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration + ) + ) + end + attr_reader :invoicing_cycle_configuration + + sig do + params( + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :invoicing_cycle_configuration + + # 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`. + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } + attr_accessor :metadata + + sig do + params( + cadence: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::Cadence::OrSymbol, + grouped_with_prorated_minimum_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::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::OrHash + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration::OrHash + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::OrHash + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), + model_type: Symbol + ).returns(T.attached_class) + end + def self.new( + # The cadence to bill for this price on. + cadence:, + grouped_with_prorated_minimum_config:, + # The id of the item the price will be associated with. + item_id:, + # The name of the price. + name:, + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + billable_metric_id: nil, + # 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. + billed_in_advance: nil, + # For custom cadence: specifies the duration of the billing period in days or + # months. + billing_cycle_configuration: nil, + # The per unit conversion rate of the price currency to the invoicing currency. + conversion_rate: nil, + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + currency: nil, + # For dimensional price: specifies a price group and dimension values + dimensional_price_configuration: nil, + # An alias for the price. + external_price_id: nil, + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + fixed_price_quantity: nil, + # The property used to group this price on an invoice + invoice_grouping_key: nil, + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + invoicing_cycle_configuration: nil, + # 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`. + metadata: nil, + model_type: :grouped_with_prorated_minimum + ) + end + + sig do + override.returns( + { + cadence: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::Cadence::OrSymbol, + grouped_with_prorated_minimum_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::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) + } + ) + end + def to_hash + end + + # The cadence to bill for this price on. + module Cadence + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::Cadence + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ANNUAL = + T.let( + :annual, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::Cadence::TaggedSymbol + ) + SEMI_ANNUAL = + T.let( + :semi_annual, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::Cadence::TaggedSymbol + ) + MONTHLY = + T.let( + :monthly, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::Cadence::TaggedSymbol + ) + QUARTERLY = + T.let( + :quarterly, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::Cadence::TaggedSymbol + ) + ONE_TIME = + T.let( + :one_time, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::Cadence::TaggedSymbol + ) + CUSTOM = + T.let( + :custom, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::Cadence::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::Cadence::TaggedSymbol + ] + ) + end + def self.values + end + end + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration, + Orb::Internal::AnyHash + ) + end + + # The list of dimension values matching (in order) the dimensions of the price + # group + sig { returns(T::Array[String]) } + attr_accessor :dimension_values + + # The id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :dimensional_price_group_id + + # The external id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :external_dimensional_price_group_id + + # For dimensional price: specifies a price group and dimension values + sig do + params( + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The list of dimension values matching (in order) the dimensions of the price + # group + dimension_values:, + # The id of the dimensional price group to include this price in + dimensional_price_group_id: nil, + # The external id of the dimensional price group to include this price in + external_dimensional_price_group_id: nil + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + } + ) + end + def to_hash + end + end + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + class GroupedWithMeteredMinimum < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum, + Orb::Internal::AnyHash + ) + end + + # The cadence to bill for this price on. + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::Cadence::OrSymbol + ) + end + attr_accessor :cadence + + sig { returns(T::Hash[Symbol, T.anything]) } + attr_accessor :grouped_with_metered_minimum_config + + # The id of the item the price will be associated with. + sig { returns(String) } + attr_accessor :item_id + + sig { returns(Symbol) } + attr_accessor :model_type + + # The name of the price. + sig { returns(String) } + attr_accessor :name + + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + sig { returns(T.nilable(String)) } + attr_accessor :billable_metric_id + + # 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. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :billed_in_advance + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration + ) + ) + end + attr_reader :billing_cycle_configuration + + sig do + params( + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :billing_cycle_configuration + + # The per unit conversion rate of the price currency to the invoicing currency. + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + sig { returns(T.nilable(String)) } + attr_accessor :currency + + # For dimensional price: specifies a price group and dimension values + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration + ) + ) + end + attr_reader :dimensional_price_configuration + + sig do + params( + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration::OrHash + ) + ).void + end + attr_writer :dimensional_price_configuration + + # An alias for the price. + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + # The property used to group this price on an invoice + sig { returns(T.nilable(String)) } + attr_accessor :invoice_grouping_key + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration + ) + ) + end + attr_reader :invoicing_cycle_configuration + + sig do + params( + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :invoicing_cycle_configuration + + # 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`. + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } + attr_accessor :metadata + + sig do + params( + cadence: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::Cadence::OrSymbol, + grouped_with_metered_minimum_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::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::OrHash + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration::OrHash + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::OrHash + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), + model_type: Symbol + ).returns(T.attached_class) + end + def self.new( + # The cadence to bill for this price on. + cadence:, + grouped_with_metered_minimum_config:, + # The id of the item the price will be associated with. + item_id:, + # The name of the price. + name:, + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + billable_metric_id: nil, + # 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. + billed_in_advance: nil, + # For custom cadence: specifies the duration of the billing period in days or + # months. + billing_cycle_configuration: nil, + # The per unit conversion rate of the price currency to the invoicing currency. + conversion_rate: nil, + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + currency: nil, + # For dimensional price: specifies a price group and dimension values + dimensional_price_configuration: nil, + # An alias for the price. + external_price_id: nil, + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + fixed_price_quantity: nil, + # The property used to group this price on an invoice + invoice_grouping_key: nil, + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + invoicing_cycle_configuration: nil, + # 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`. + metadata: nil, + model_type: :grouped_with_metered_minimum + ) + end + + sig do + override.returns( + { + cadence: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::Cadence::OrSymbol, + grouped_with_metered_minimum_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::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) + } + ) + end + def to_hash + end + + # The cadence to bill for this price on. + module Cadence + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::Cadence + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ANNUAL = + T.let( + :annual, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::Cadence::TaggedSymbol + ) + SEMI_ANNUAL = + T.let( + :semi_annual, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::Cadence::TaggedSymbol + ) + MONTHLY = + T.let( + :monthly, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::Cadence::TaggedSymbol + ) + QUARTERLY = + T.let( + :quarterly, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::Cadence::TaggedSymbol + ) + ONE_TIME = + T.let( + :one_time, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::Cadence::TaggedSymbol + ) + CUSTOM = + T.let( + :custom, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::Cadence::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::Cadence::TaggedSymbol + ] + ) + end + def self.values + end + end + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration, + Orb::Internal::AnyHash + ) + end + + # The list of dimension values matching (in order) the dimensions of the price + # group + sig { returns(T::Array[String]) } + attr_accessor :dimension_values + + # The id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :dimensional_price_group_id + + # The external id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :external_dimensional_price_group_id + + # For dimensional price: specifies a price group and dimension values + sig do + params( + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The list of dimension values matching (in order) the dimensions of the price + # group + dimension_values:, + # The id of the dimensional price group to include this price in + dimensional_price_group_id: nil, + # The external id of the dimensional price group to include this price in + external_dimensional_price_group_id: nil + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + } + ) + end + def to_hash + end + end + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + class MatrixWithDisplayName < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName, + Orb::Internal::AnyHash + ) + end + + # The cadence to bill for this price on. + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::Cadence::OrSymbol + ) + end + attr_accessor :cadence + + # The id of the item the price will be associated with. + sig { returns(String) } + attr_accessor :item_id + + sig { returns(T::Hash[Symbol, T.anything]) } + attr_accessor :matrix_with_display_name_config + + sig { returns(Symbol) } + attr_accessor :model_type + + # The name of the price. + sig { returns(String) } + attr_accessor :name + + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + sig { returns(T.nilable(String)) } + attr_accessor :billable_metric_id + + # 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. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :billed_in_advance + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration + ) + ) + end + attr_reader :billing_cycle_configuration + + sig do + params( + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :billing_cycle_configuration + + # The per unit conversion rate of the price currency to the invoicing currency. + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + sig { returns(T.nilable(String)) } + attr_accessor :currency + + # For dimensional price: specifies a price group and dimension values + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration + ) + ) + end + attr_reader :dimensional_price_configuration + + sig do + params( + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration::OrHash + ) + ).void + end + attr_writer :dimensional_price_configuration + + # An alias for the price. + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + # The property used to group this price on an invoice + sig { returns(T.nilable(String)) } + attr_accessor :invoice_grouping_key + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration + ) + ) + end + attr_reader :invoicing_cycle_configuration + + sig do + params( + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :invoicing_cycle_configuration + + # 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`. + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } + attr_accessor :metadata + + sig do + params( + cadence: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::Cadence::OrSymbol, + item_id: String, + matrix_with_display_name_config: T::Hash[Symbol, T.anything], + name: String, + billable_metric_id: T.nilable(String), + billed_in_advance: T.nilable(T::Boolean), + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::OrHash + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration::OrHash + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::OrHash + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), + model_type: Symbol + ).returns(T.attached_class) + end + def self.new( + # The cadence to bill for this price on. + cadence:, + # The id of the item the price will be associated with. + item_id:, + matrix_with_display_name_config:, + # The name of the price. + name:, + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + billable_metric_id: nil, + # 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. + billed_in_advance: nil, + # For custom cadence: specifies the duration of the billing period in days or + # months. + billing_cycle_configuration: nil, + # The per unit conversion rate of the price currency to the invoicing currency. + conversion_rate: nil, + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + currency: nil, + # For dimensional price: specifies a price group and dimension values + dimensional_price_configuration: nil, + # An alias for the price. + external_price_id: nil, + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + fixed_price_quantity: nil, + # The property used to group this price on an invoice + invoice_grouping_key: nil, + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + invoicing_cycle_configuration: nil, + # 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`. + metadata: nil, + model_type: :matrix_with_display_name + ) + end + + sig do + override.returns( + { + cadence: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::Cadence::OrSymbol, + item_id: String, + matrix_with_display_name_config: T::Hash[Symbol, T.anything], + model_type: Symbol, + name: String, + billable_metric_id: T.nilable(String), + billed_in_advance: T.nilable(T::Boolean), + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) + } + ) + end + def to_hash + end + + # The cadence to bill for this price on. + module Cadence + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::Cadence + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ANNUAL = + T.let( + :annual, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::Cadence::TaggedSymbol + ) + SEMI_ANNUAL = + T.let( + :semi_annual, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::Cadence::TaggedSymbol + ) + MONTHLY = + T.let( + :monthly, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::Cadence::TaggedSymbol + ) + QUARTERLY = + T.let( + :quarterly, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::Cadence::TaggedSymbol + ) + ONE_TIME = + T.let( + :one_time, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::Cadence::TaggedSymbol + ) + CUSTOM = + T.let( + :custom, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::Cadence::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::Cadence::TaggedSymbol + ] + ) + end + def self.values + end + end + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration, + Orb::Internal::AnyHash + ) + end + + # The list of dimension values matching (in order) the dimensions of the price + # group + sig { returns(T::Array[String]) } + attr_accessor :dimension_values + + # The id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :dimensional_price_group_id + + # The external id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :external_dimensional_price_group_id + + # For dimensional price: specifies a price group and dimension values + sig do + params( + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The list of dimension values matching (in order) the dimensions of the price + # group + dimension_values:, + # The id of the dimensional price group to include this price in + dimensional_price_group_id: nil, + # The external id of the dimensional price group to include this price in + external_dimensional_price_group_id: nil + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + } + ) + end + def to_hash + end + end + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + class BulkWithProration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration, + Orb::Internal::AnyHash + ) + end + + sig { returns(T::Hash[Symbol, T.anything]) } + attr_accessor :bulk_with_proration_config + + # The cadence to bill for this price on. + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::Cadence::OrSymbol + ) + end + attr_accessor :cadence + + # The id of the item the price will be associated with. + sig { returns(String) } + attr_accessor :item_id + + sig { returns(Symbol) } + attr_accessor :model_type + + # The name of the price. + sig { returns(String) } + attr_accessor :name + + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + sig { returns(T.nilable(String)) } + attr_accessor :billable_metric_id + + # 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. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :billed_in_advance + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration + ) + ) + end + attr_reader :billing_cycle_configuration + + sig do + params( + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :billing_cycle_configuration + + # The per unit conversion rate of the price currency to the invoicing currency. + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + sig { returns(T.nilable(String)) } + attr_accessor :currency + + # For dimensional price: specifies a price group and dimension values + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::DimensionalPriceConfiguration + ) + ) + end + attr_reader :dimensional_price_configuration + + sig do + params( + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::DimensionalPriceConfiguration::OrHash + ) + ).void + end + attr_writer :dimensional_price_configuration + + # An alias for the price. + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + # The property used to group this price on an invoice + sig { returns(T.nilable(String)) } + attr_accessor :invoice_grouping_key + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration + ) + ) + end + attr_reader :invoicing_cycle_configuration + + sig do + params( + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :invoicing_cycle_configuration + + # 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`. + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } + attr_accessor :metadata + + sig do + params( + bulk_with_proration_config: T::Hash[Symbol, T.anything], + cadence: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::Cadence::OrSymbol, + item_id: String, + name: String, + billable_metric_id: T.nilable(String), + billed_in_advance: T.nilable(T::Boolean), + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration::OrHash + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::DimensionalPriceConfiguration::OrHash + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration::OrHash + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), + model_type: Symbol + ).returns(T.attached_class) + end + def self.new( + bulk_with_proration_config:, + # The cadence to bill for this price on. + cadence:, + # The id of the item the price will be associated with. + item_id:, + # The name of the price. + name:, + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + billable_metric_id: nil, + # 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. + billed_in_advance: nil, + # For custom cadence: specifies the duration of the billing period in days or + # months. + billing_cycle_configuration: nil, + # The per unit conversion rate of the price currency to the invoicing currency. + conversion_rate: nil, + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + currency: nil, + # For dimensional price: specifies a price group and dimension values + dimensional_price_configuration: nil, + # An alias for the price. + external_price_id: nil, + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + fixed_price_quantity: nil, + # The property used to group this price on an invoice + invoice_grouping_key: nil, + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + invoicing_cycle_configuration: nil, + # 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`. + metadata: nil, + model_type: :bulk_with_proration + ) + end + + sig do + override.returns( + { + bulk_with_proration_config: T::Hash[Symbol, T.anything], + cadence: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::Cadence::OrSymbol, + 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::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::DimensionalPriceConfiguration + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) + } + ) + end + def to_hash + end + + # The cadence to bill for this price on. + module Cadence + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::Cadence + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ANNUAL = + T.let( + :annual, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::Cadence::TaggedSymbol + ) + SEMI_ANNUAL = + T.let( + :semi_annual, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::Cadence::TaggedSymbol + ) + MONTHLY = + T.let( + :monthly, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::Cadence::TaggedSymbol + ) + QUARTERLY = + T.let( + :quarterly, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::Cadence::TaggedSymbol + ) + ONE_TIME = + T.let( + :one_time, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::Cadence::TaggedSymbol + ) + CUSTOM = + T.let( + :custom, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::Cadence::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::Cadence::TaggedSymbol + ] + ) + end + def self.values + end + end + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::DimensionalPriceConfiguration, + Orb::Internal::AnyHash + ) + end + + # The list of dimension values matching (in order) the dimensions of the price + # group + sig { returns(T::Array[String]) } + attr_accessor :dimension_values + + # The id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :dimensional_price_group_id + + # The external id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :external_dimensional_price_group_id + + # For dimensional price: specifies a price group and dimension values + sig do + params( + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The list of dimension values matching (in order) the dimensions of the price + # group + dimension_values:, + # The id of the dimensional price group to include this price in + dimensional_price_group_id: nil, + # The external id of the dimensional price group to include this price in + external_dimensional_price_group_id: nil + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + } + ) + end + def to_hash + end + end + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + class GroupedTieredPackage < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage, + Orb::Internal::AnyHash + ) + end + + # The cadence to bill for this price on. + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::Cadence::OrSymbol + ) + end + attr_accessor :cadence + + sig { returns(T::Hash[Symbol, T.anything]) } + attr_accessor :grouped_tiered_package_config + + # The id of the item the price will be associated with. + sig { returns(String) } + attr_accessor :item_id + + sig { returns(Symbol) } + attr_accessor :model_type + + # The name of the price. + sig { returns(String) } + attr_accessor :name + + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + sig { returns(T.nilable(String)) } + attr_accessor :billable_metric_id + + # 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. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :billed_in_advance + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration + ) + ) + end + attr_reader :billing_cycle_configuration + + sig do + params( + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :billing_cycle_configuration + + # The per unit conversion rate of the price currency to the invoicing currency. + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + sig { returns(T.nilable(String)) } + attr_accessor :currency + + # For dimensional price: specifies a price group and dimension values + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration + ) + ) + end + attr_reader :dimensional_price_configuration + + sig do + params( + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration::OrHash + ) + ).void + end + attr_writer :dimensional_price_configuration + + # An alias for the price. + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + # The property used to group this price on an invoice + sig { returns(T.nilable(String)) } + attr_accessor :invoice_grouping_key + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration + ) + ) + end + attr_reader :invoicing_cycle_configuration + + sig do + params( + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :invoicing_cycle_configuration + + # 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`. + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } + attr_accessor :metadata + + sig do + params( + cadence: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::Cadence::OrSymbol, + grouped_tiered_package_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::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration::OrHash + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration::OrHash + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::OrHash + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), + model_type: Symbol + ).returns(T.attached_class) + end + def self.new( + # The cadence to bill for this price on. + cadence:, + grouped_tiered_package_config:, + # The id of the item the price will be associated with. + item_id:, + # The name of the price. + name:, + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + billable_metric_id: nil, + # 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. + billed_in_advance: nil, + # For custom cadence: specifies the duration of the billing period in days or + # months. + billing_cycle_configuration: nil, + # The per unit conversion rate of the price currency to the invoicing currency. + conversion_rate: nil, + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + currency: nil, + # For dimensional price: specifies a price group and dimension values + dimensional_price_configuration: nil, + # An alias for the price. + external_price_id: nil, + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + fixed_price_quantity: nil, + # The property used to group this price on an invoice + invoice_grouping_key: nil, + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + invoicing_cycle_configuration: nil, + # 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`. + metadata: nil, + model_type: :grouped_tiered_package + ) + end + + sig do + override.returns( + { + cadence: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::Cadence::OrSymbol, + grouped_tiered_package_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::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) + } + ) + end + def to_hash + end + + # The cadence to bill for this price on. + module Cadence + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::Cadence + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ANNUAL = + T.let( + :annual, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::Cadence::TaggedSymbol + ) + SEMI_ANNUAL = + T.let( + :semi_annual, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::Cadence::TaggedSymbol + ) + MONTHLY = + T.let( + :monthly, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::Cadence::TaggedSymbol + ) + QUARTERLY = + T.let( + :quarterly, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::Cadence::TaggedSymbol + ) + ONE_TIME = + T.let( + :one_time, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::Cadence::TaggedSymbol + ) + CUSTOM = + T.let( + :custom, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::Cadence::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::Cadence::TaggedSymbol + ] + ) + end + def self.values + end + end + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration, + Orb::Internal::AnyHash + ) + end + + # The list of dimension values matching (in order) the dimensions of the price + # group + sig { returns(T::Array[String]) } + attr_accessor :dimension_values + + # The id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :dimensional_price_group_id + + # The external id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :external_dimensional_price_group_id + + # For dimensional price: specifies a price group and dimension values + sig do + params( + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The list of dimension values matching (in order) the dimensions of the price + # group + dimension_values:, + # The id of the dimensional price group to include this price in + dimensional_price_group_id: nil, + # The external id of the dimensional price group to include this price in + external_dimensional_price_group_id: nil + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + } + ) + end + def to_hash + end + end + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + class MaxGroupTieredPackage < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage, + Orb::Internal::AnyHash + ) + end + + # The cadence to bill for this price on. + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::Cadence::OrSymbol + ) + end + attr_accessor :cadence + + # The id of the item the price will be associated with. + sig { returns(String) } + attr_accessor :item_id + + sig { returns(T::Hash[Symbol, T.anything]) } + attr_accessor :max_group_tiered_package_config + + sig { returns(Symbol) } + attr_accessor :model_type + + # The name of the price. + sig { returns(String) } + attr_accessor :name + + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + sig { returns(T.nilable(String)) } + attr_accessor :billable_metric_id + + # 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. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :billed_in_advance + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration + ) + ) + end + attr_reader :billing_cycle_configuration + + sig do + params( + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :billing_cycle_configuration + + # The per unit conversion rate of the price currency to the invoicing currency. + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + sig { returns(T.nilable(String)) } + attr_accessor :currency + + # For dimensional price: specifies a price group and dimension values + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration + ) + ) + end + attr_reader :dimensional_price_configuration + + sig do + params( + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration::OrHash + ) + ).void + end + attr_writer :dimensional_price_configuration + + # An alias for the price. + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + # The property used to group this price on an invoice + sig { returns(T.nilable(String)) } + attr_accessor :invoice_grouping_key + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration + ) + ) + end + attr_reader :invoicing_cycle_configuration + + sig do + params( + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :invoicing_cycle_configuration + + # 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`. + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } + attr_accessor :metadata + + sig do + params( + cadence: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::Cadence::OrSymbol, + item_id: String, + max_group_tiered_package_config: T::Hash[Symbol, T.anything], + name: String, + billable_metric_id: T.nilable(String), + billed_in_advance: T.nilable(T::Boolean), + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::OrHash + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration::OrHash + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::OrHash + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), + model_type: Symbol + ).returns(T.attached_class) + end + def self.new( + # The cadence to bill for this price on. + cadence:, + # The id of the item the price will be associated with. + item_id:, + max_group_tiered_package_config:, + # The name of the price. + name:, + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + billable_metric_id: nil, + # 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. + billed_in_advance: nil, + # For custom cadence: specifies the duration of the billing period in days or + # months. + billing_cycle_configuration: nil, + # The per unit conversion rate of the price currency to the invoicing currency. + conversion_rate: nil, + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + currency: nil, + # For dimensional price: specifies a price group and dimension values + dimensional_price_configuration: nil, + # An alias for the price. + external_price_id: nil, + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + fixed_price_quantity: nil, + # The property used to group this price on an invoice + invoice_grouping_key: nil, + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + invoicing_cycle_configuration: nil, + # 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`. + metadata: nil, + model_type: :max_group_tiered_package + ) + end + + sig do + override.returns( + { + cadence: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::Cadence::OrSymbol, + item_id: String, + max_group_tiered_package_config: T::Hash[Symbol, T.anything], + model_type: Symbol, + name: String, + billable_metric_id: T.nilable(String), + billed_in_advance: T.nilable(T::Boolean), + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) + } + ) + end + def to_hash + end + + # The cadence to bill for this price on. + module Cadence + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::Cadence + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ANNUAL = + T.let( + :annual, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::Cadence::TaggedSymbol + ) + SEMI_ANNUAL = + T.let( + :semi_annual, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::Cadence::TaggedSymbol + ) + MONTHLY = + T.let( + :monthly, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::Cadence::TaggedSymbol + ) + QUARTERLY = + T.let( + :quarterly, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::Cadence::TaggedSymbol + ) + ONE_TIME = + T.let( + :one_time, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::Cadence::TaggedSymbol + ) + CUSTOM = + T.let( + :custom, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::Cadence::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::Cadence::TaggedSymbol + ] + ) + end + def self.values + end + end + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration, + Orb::Internal::AnyHash + ) + end + + # The list of dimension values matching (in order) the dimensions of the price + # group + sig { returns(T::Array[String]) } + attr_accessor :dimension_values + + # The id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :dimensional_price_group_id + + # The external id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :external_dimensional_price_group_id + + # For dimensional price: specifies a price group and dimension values + sig do + params( + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The list of dimension values matching (in order) the dimensions of the price + # group + dimension_values:, + # The id of the dimensional price group to include this price in + dimensional_price_group_id: nil, + # The external id of the dimensional price group to include this price in + external_dimensional_price_group_id: nil + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + } + ) + end + def to_hash + end + end + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + class ScalableMatrixWithUnitPricing < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing, + Orb::Internal::AnyHash + ) + end + + # The cadence to bill for this price on. + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::Cadence::OrSymbol + ) + end + attr_accessor :cadence + + # The id of the item the price will be associated with. + sig { returns(String) } + attr_accessor :item_id + + sig { returns(Symbol) } + attr_accessor :model_type + + # The name of the price. + sig { returns(String) } + attr_accessor :name + + sig { returns(T::Hash[Symbol, T.anything]) } + attr_accessor :scalable_matrix_with_unit_pricing_config + + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + sig { returns(T.nilable(String)) } + attr_accessor :billable_metric_id + + # 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. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :billed_in_advance + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration + ) + ) + end + attr_reader :billing_cycle_configuration + + sig do + params( + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :billing_cycle_configuration + + # The per unit conversion rate of the price currency to the invoicing currency. + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + sig { returns(T.nilable(String)) } + attr_accessor :currency + + # For dimensional price: specifies a price group and dimension values + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration + ) + ) + end + attr_reader :dimensional_price_configuration + + sig do + params( + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration::OrHash + ) + ).void + end + attr_writer :dimensional_price_configuration + + # An alias for the price. + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + # The property used to group this price on an invoice + sig { returns(T.nilable(String)) } + attr_accessor :invoice_grouping_key + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration + ) + ) + end + attr_reader :invoicing_cycle_configuration + + sig do + params( + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :invoicing_cycle_configuration + + # 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`. + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } + attr_accessor :metadata + + sig do + params( + cadence: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::Cadence::OrSymbol, + item_id: String, + name: String, + scalable_matrix_with_unit_pricing_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::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::OrHash + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration::OrHash + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::OrHash + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), + model_type: Symbol + ).returns(T.attached_class) + end + def self.new( + # The cadence to bill for this price on. + cadence:, + # The id of the item the price will be associated with. + item_id:, + # The name of the price. + name:, + scalable_matrix_with_unit_pricing_config:, + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + billable_metric_id: nil, + # 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. + billed_in_advance: nil, + # For custom cadence: specifies the duration of the billing period in days or + # months. + billing_cycle_configuration: nil, + # The per unit conversion rate of the price currency to the invoicing currency. + conversion_rate: nil, + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + currency: nil, + # For dimensional price: specifies a price group and dimension values + dimensional_price_configuration: nil, + # An alias for the price. + external_price_id: nil, + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + fixed_price_quantity: nil, + # The property used to group this price on an invoice + invoice_grouping_key: nil, + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + invoicing_cycle_configuration: nil, + # 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`. + metadata: nil, + model_type: :scalable_matrix_with_unit_pricing + ) + end + + sig do + override.returns( + { + cadence: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::Cadence::OrSymbol, + item_id: String, + model_type: Symbol, + name: String, + scalable_matrix_with_unit_pricing_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::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) + } + ) + end + def to_hash + end + + # The cadence to bill for this price on. + module Cadence + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::Cadence + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ANNUAL = + T.let( + :annual, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::Cadence::TaggedSymbol + ) + SEMI_ANNUAL = + T.let( + :semi_annual, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::Cadence::TaggedSymbol + ) + MONTHLY = + T.let( + :monthly, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::Cadence::TaggedSymbol + ) + QUARTERLY = + T.let( + :quarterly, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::Cadence::TaggedSymbol + ) + ONE_TIME = + T.let( + :one_time, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::Cadence::TaggedSymbol + ) + CUSTOM = + T.let( + :custom, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::Cadence::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::Cadence::TaggedSymbol + ] + ) + end + def self.values + end + end + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration, + Orb::Internal::AnyHash + ) + end + + # The list of dimension values matching (in order) the dimensions of the price + # group + sig { returns(T::Array[String]) } + attr_accessor :dimension_values + + # The id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :dimensional_price_group_id + + # The external id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :external_dimensional_price_group_id + + # For dimensional price: specifies a price group and dimension values + sig do + params( + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The list of dimension values matching (in order) the dimensions of the price + # group + dimension_values:, + # The id of the dimensional price group to include this price in + dimensional_price_group_id: nil, + # The external id of the dimensional price group to include this price in + external_dimensional_price_group_id: nil + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + } + ) + end + def to_hash + end + end + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + class ScalableMatrixWithTieredPricing < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing, + Orb::Internal::AnyHash + ) + end + + # The cadence to bill for this price on. + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::Cadence::OrSymbol + ) + end + attr_accessor :cadence + + # The id of the item the price will be associated with. + sig { returns(String) } + attr_accessor :item_id + + sig { returns(Symbol) } + attr_accessor :model_type + + # The name of the price. + sig { returns(String) } + attr_accessor :name + + sig { returns(T::Hash[Symbol, T.anything]) } + attr_accessor :scalable_matrix_with_tiered_pricing_config + + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + sig { returns(T.nilable(String)) } + attr_accessor :billable_metric_id + + # 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. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :billed_in_advance + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration + ) + ) + end + attr_reader :billing_cycle_configuration + + sig do + params( + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :billing_cycle_configuration + + # The per unit conversion rate of the price currency to the invoicing currency. + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + sig { returns(T.nilable(String)) } + attr_accessor :currency + + # For dimensional price: specifies a price group and dimension values + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration + ) + ) + end + attr_reader :dimensional_price_configuration + + sig do + params( + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration::OrHash + ) + ).void + end + attr_writer :dimensional_price_configuration + + # An alias for the price. + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + # The property used to group this price on an invoice + sig { returns(T.nilable(String)) } + attr_accessor :invoice_grouping_key + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration + ) + ) + end + attr_reader :invoicing_cycle_configuration + + sig do + params( + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :invoicing_cycle_configuration + + # 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`. + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } + attr_accessor :metadata + + sig do + params( + cadence: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::Cadence::OrSymbol, + item_id: String, + name: String, + scalable_matrix_with_tiered_pricing_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::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::OrHash + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration::OrHash + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::OrHash + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), + model_type: Symbol + ).returns(T.attached_class) + end + def self.new( + # The cadence to bill for this price on. + cadence:, + # The id of the item the price will be associated with. + item_id:, + # The name of the price. + name:, + scalable_matrix_with_tiered_pricing_config:, + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + billable_metric_id: nil, + # 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. + billed_in_advance: nil, + # For custom cadence: specifies the duration of the billing period in days or + # months. + billing_cycle_configuration: nil, + # The per unit conversion rate of the price currency to the invoicing currency. + conversion_rate: nil, + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + currency: nil, + # For dimensional price: specifies a price group and dimension values + dimensional_price_configuration: nil, + # An alias for the price. + external_price_id: nil, + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + fixed_price_quantity: nil, + # The property used to group this price on an invoice + invoice_grouping_key: nil, + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + invoicing_cycle_configuration: nil, + # 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`. + metadata: nil, + model_type: :scalable_matrix_with_tiered_pricing + ) + end + + sig do + override.returns( + { + cadence: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::Cadence::OrSymbol, + item_id: String, + model_type: Symbol, + name: String, + scalable_matrix_with_tiered_pricing_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::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) + } + ) + end + def to_hash + end + + # The cadence to bill for this price on. + module Cadence + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::Cadence + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ANNUAL = + T.let( + :annual, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::Cadence::TaggedSymbol + ) + SEMI_ANNUAL = + T.let( + :semi_annual, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::Cadence::TaggedSymbol + ) + MONTHLY = + T.let( + :monthly, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::Cadence::TaggedSymbol + ) + QUARTERLY = + T.let( + :quarterly, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::Cadence::TaggedSymbol + ) + ONE_TIME = + T.let( + :one_time, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::Cadence::TaggedSymbol + ) + CUSTOM = + T.let( + :custom, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::Cadence::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::Cadence::TaggedSymbol + ] + ) + end + def self.values + end + end + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration, + Orb::Internal::AnyHash + ) + end + + # The list of dimension values matching (in order) the dimensions of the price + # group + sig { returns(T::Array[String]) } + attr_accessor :dimension_values + + # The id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :dimensional_price_group_id + + # The external id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :external_dimensional_price_group_id + + # For dimensional price: specifies a price group and dimension values + sig do + params( + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The list of dimension values matching (in order) the dimensions of the price + # group + dimension_values:, + # The id of the dimensional price group to include this price in + dimensional_price_group_id: nil, + # The external id of the dimensional price group to include this price in + external_dimensional_price_group_id: nil + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + } + ) + end + def to_hash + end + end + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + class CumulativeGroupedBulk < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk, + Orb::Internal::AnyHash + ) + end + + # The cadence to bill for this price on. + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::Cadence::OrSymbol + ) + end + attr_accessor :cadence + + sig { returns(T::Hash[Symbol, T.anything]) } + attr_accessor :cumulative_grouped_bulk_config + + # The id of the item the price will be associated with. + sig { returns(String) } + attr_accessor :item_id + + sig { returns(Symbol) } + attr_accessor :model_type + + # The name of the price. + sig { returns(String) } + attr_accessor :name + + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + sig { returns(T.nilable(String)) } + attr_accessor :billable_metric_id + + # 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. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :billed_in_advance + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration + ) + ) + end + attr_reader :billing_cycle_configuration + + sig do + params( + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :billing_cycle_configuration + + # The per unit conversion rate of the price currency to the invoicing currency. + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + sig { returns(T.nilable(String)) } + attr_accessor :currency + + # For dimensional price: specifies a price group and dimension values + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration + ) + ) + end + attr_reader :dimensional_price_configuration + + sig do + params( + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration::OrHash + ) + ).void + end + attr_writer :dimensional_price_configuration + + # An alias for the price. + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + # The property used to group this price on an invoice + sig { returns(T.nilable(String)) } + attr_accessor :invoice_grouping_key + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration + ) + ) + end + attr_reader :invoicing_cycle_configuration + + sig do + params( + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :invoicing_cycle_configuration + + # 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`. + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } + attr_accessor :metadata + + sig do + params( + cadence: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::Cadence::OrSymbol, + 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::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::OrHash + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration::OrHash + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::OrHash + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), + model_type: Symbol + ).returns(T.attached_class) + end + def self.new( + # The cadence to bill for this price on. + cadence:, + cumulative_grouped_bulk_config:, + # The id of the item the price will be associated with. + item_id:, + # The name of the price. + name:, + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + billable_metric_id: nil, + # 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. + billed_in_advance: nil, + # For custom cadence: specifies the duration of the billing period in days or + # months. + billing_cycle_configuration: nil, + # The per unit conversion rate of the price currency to the invoicing currency. + conversion_rate: nil, + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + currency: nil, + # For dimensional price: specifies a price group and dimension values + dimensional_price_configuration: nil, + # An alias for the price. + external_price_id: nil, + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + fixed_price_quantity: nil, + # The property used to group this price on an invoice + invoice_grouping_key: nil, + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + invoicing_cycle_configuration: nil, + # 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`. + metadata: nil, + model_type: :cumulative_grouped_bulk + ) + end + + sig do + override.returns( + { + cadence: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::Cadence::OrSymbol, + 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::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) + } + ) + end + def to_hash + end + + # The cadence to bill for this price on. + module Cadence + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::Cadence + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ANNUAL = + T.let( + :annual, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::Cadence::TaggedSymbol + ) + SEMI_ANNUAL = + T.let( + :semi_annual, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::Cadence::TaggedSymbol + ) + MONTHLY = + T.let( + :monthly, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::Cadence::TaggedSymbol + ) + QUARTERLY = + T.let( + :quarterly, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::Cadence::TaggedSymbol + ) + ONE_TIME = + T.let( + :one_time, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::Cadence::TaggedSymbol + ) + CUSTOM = + T.let( + :custom, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::Cadence::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::Cadence::TaggedSymbol + ] + ) + end + def self.values + end + end + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration, + Orb::Internal::AnyHash + ) + end + + # The list of dimension values matching (in order) the dimensions of the price + # group + sig { returns(T::Array[String]) } + attr_accessor :dimension_values + + # The id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :dimensional_price_group_id + + # The external id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :external_dimensional_price_group_id + + # For dimensional price: specifies a price group and dimension values + sig do + params( + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The list of dimension values matching (in order) the dimensions of the price + # group + dimension_values:, + # The id of the dimensional price group to include this price in + dimensional_price_group_id: nil, + # The external id of the dimensional price group to include this price in + external_dimensional_price_group_id: nil + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + } + ) + end + def to_hash + end + end + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + class TieredPackageWithMinimum < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum, + Orb::Internal::AnyHash + ) + end + + # The cadence to bill for this price on. + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::Cadence::OrSymbol + ) + end + attr_accessor :cadence + + # The id of the item the price will be associated with. + sig { returns(String) } + attr_accessor :item_id + + sig { returns(Symbol) } + attr_accessor :model_type + + # The name of the price. + sig { returns(String) } + attr_accessor :name + + sig { returns(T::Hash[Symbol, T.anything]) } + attr_accessor :tiered_package_with_minimum_config + + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + sig { returns(T.nilable(String)) } + attr_accessor :billable_metric_id + + # 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. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :billed_in_advance + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration + ) + ) + end + attr_reader :billing_cycle_configuration + + sig do + params( + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :billing_cycle_configuration + + # The per unit conversion rate of the price currency to the invoicing currency. + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + sig { returns(T.nilable(String)) } + attr_accessor :currency + + # For dimensional price: specifies a price group and dimension values + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration + ) + ) + end + attr_reader :dimensional_price_configuration + + sig do + params( + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration::OrHash + ) + ).void + end + attr_writer :dimensional_price_configuration + + # An alias for the price. + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + # The property used to group this price on an invoice + sig { returns(T.nilable(String)) } + attr_accessor :invoice_grouping_key + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration + ) + ) + end + attr_reader :invoicing_cycle_configuration + + sig do + params( + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :invoicing_cycle_configuration + + # 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`. + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } + attr_accessor :metadata + + sig do + params( + cadence: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::Cadence::OrSymbol, + item_id: String, + name: String, + tiered_package_with_minimum_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::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::OrHash + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration::OrHash + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::OrHash + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), + model_type: Symbol + ).returns(T.attached_class) + end + def self.new( + # The cadence to bill for this price on. + cadence:, + # The id of the item the price will be associated with. + item_id:, + # The name of the price. + name:, + tiered_package_with_minimum_config:, + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + billable_metric_id: nil, + # 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. + billed_in_advance: nil, + # For custom cadence: specifies the duration of the billing period in days or + # months. + billing_cycle_configuration: nil, + # The per unit conversion rate of the price currency to the invoicing currency. + conversion_rate: nil, + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + currency: nil, + # For dimensional price: specifies a price group and dimension values + dimensional_price_configuration: nil, + # An alias for the price. + external_price_id: nil, + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + fixed_price_quantity: nil, + # The property used to group this price on an invoice + invoice_grouping_key: nil, + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + invoicing_cycle_configuration: nil, + # 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`. + metadata: nil, + model_type: :tiered_package_with_minimum + ) + end + + sig do + override.returns( + { + cadence: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::Cadence::OrSymbol, + item_id: String, + model_type: Symbol, + name: String, + tiered_package_with_minimum_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::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) + } + ) + end + def to_hash + end + + # The cadence to bill for this price on. + module Cadence + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::Cadence + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ANNUAL = + T.let( + :annual, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::Cadence::TaggedSymbol + ) + SEMI_ANNUAL = + T.let( + :semi_annual, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::Cadence::TaggedSymbol + ) + MONTHLY = + T.let( + :monthly, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::Cadence::TaggedSymbol + ) + QUARTERLY = + T.let( + :quarterly, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::Cadence::TaggedSymbol + ) + ONE_TIME = + T.let( + :one_time, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::Cadence::TaggedSymbol + ) + CUSTOM = + T.let( + :custom, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::Cadence::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::Cadence::TaggedSymbol + ] + ) + end + def self.values + end + end + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration, + Orb::Internal::AnyHash + ) + end + + # The list of dimension values matching (in order) the dimensions of the price + # group + sig { returns(T::Array[String]) } + attr_accessor :dimension_values + + # The id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :dimensional_price_group_id + + # The external id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :external_dimensional_price_group_id + + # For dimensional price: specifies a price group and dimension values + sig do + params( + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The list of dimension values matching (in order) the dimensions of the price + # group + dimension_values:, + # The id of the dimensional price group to include this price in + dimensional_price_group_id: nil, + # The external id of the dimensional price group to include this price in + external_dimensional_price_group_id: nil + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + } + ) + end + def to_hash + end + end + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + class MatrixWithAllocation < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation, + Orb::Internal::AnyHash + ) + end + + # The cadence to bill for this price on. + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::Cadence::OrSymbol + ) + end + attr_accessor :cadence + + # The id of the item the price will be associated with. + sig { returns(String) } + attr_accessor :item_id + + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig + ) + end + attr_reader :matrix_with_allocation_config + + sig do + params( + matrix_with_allocation_config: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::OrHash + ).void + end + attr_writer :matrix_with_allocation_config + + sig { returns(Symbol) } + attr_accessor :model_type + + # The name of the price. + sig { returns(String) } + attr_accessor :name + + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + sig { returns(T.nilable(String)) } + attr_accessor :billable_metric_id + + # 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. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :billed_in_advance + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration + ) + ) + end + attr_reader :billing_cycle_configuration + + sig do + params( + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :billing_cycle_configuration + + # The per unit conversion rate of the price currency to the invoicing currency. + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + sig { returns(T.nilable(String)) } + attr_accessor :currency + + # For dimensional price: specifies a price group and dimension values + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration + ) + ) + end + attr_reader :dimensional_price_configuration + + sig do + params( + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration::OrHash + ) + ).void + end + attr_writer :dimensional_price_configuration + + # An alias for the price. + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + # The property used to group this price on an invoice + sig { returns(T.nilable(String)) } + attr_accessor :invoice_grouping_key + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration + ) + ) + end + attr_reader :invoicing_cycle_configuration + + sig do + params( + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :invoicing_cycle_configuration + + # 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`. + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } + attr_accessor :metadata + + sig do + params( + cadence: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::Cadence::OrSymbol, + item_id: String, + matrix_with_allocation_config: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::OrHash, + name: String, + billable_metric_id: T.nilable(String), + billed_in_advance: T.nilable(T::Boolean), + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration::OrHash + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration::OrHash + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::OrHash + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), + model_type: Symbol + ).returns(T.attached_class) + end + def self.new( + # The cadence to bill for this price on. + cadence:, + # The id of the item the price will be associated with. + item_id:, + matrix_with_allocation_config:, + # The name of the price. + name:, + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + billable_metric_id: nil, + # 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. + billed_in_advance: nil, + # For custom cadence: specifies the duration of the billing period in days or + # months. + billing_cycle_configuration: nil, + # The per unit conversion rate of the price currency to the invoicing currency. + conversion_rate: nil, + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + currency: nil, + # For dimensional price: specifies a price group and dimension values + dimensional_price_configuration: nil, + # An alias for the price. + external_price_id: nil, + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + fixed_price_quantity: nil, + # The property used to group this price on an invoice + invoice_grouping_key: nil, + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + invoicing_cycle_configuration: nil, + # 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`. + metadata: nil, + model_type: :matrix_with_allocation + ) + end + + sig do + override.returns( + { + cadence: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::Cadence::OrSymbol, + item_id: String, + matrix_with_allocation_config: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig, + model_type: Symbol, + name: String, + billable_metric_id: T.nilable(String), + billed_in_advance: T.nilable(T::Boolean), + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) + } + ) + end + def to_hash + end + + # The cadence to bill for this price on. + module Cadence + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::Cadence + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ANNUAL = + T.let( + :annual, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::Cadence::TaggedSymbol + ) + SEMI_ANNUAL = + T.let( + :semi_annual, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::Cadence::TaggedSymbol + ) + MONTHLY = + T.let( + :monthly, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::Cadence::TaggedSymbol + ) + QUARTERLY = + T.let( + :quarterly, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::Cadence::TaggedSymbol + ) + ONE_TIME = + T.let( + :one_time, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::Cadence::TaggedSymbol + ) + CUSTOM = + T.let( + :custom, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::Cadence::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::Cadence::TaggedSymbol + ] + ) + end + def self.values + end + end + + class MatrixWithAllocationConfig < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig, + Orb::Internal::AnyHash + ) + end + + # Allocation to be used to calculate the price + sig { returns(Float) } + attr_accessor :allocation + + # Default per unit rate for any usage not bucketed into a specified matrix_value + sig { returns(String) } + attr_accessor :default_unit_amount + + # One or two event property values to evaluate matrix groups by + sig { returns(T::Array[T.nilable(String)]) } + attr_accessor :dimensions + + # Matrix values for specified matrix grouping keys + sig do + returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue + ] + ) + end + attr_accessor :matrix_values + + sig do + params( + allocation: Float, + default_unit_amount: String, + dimensions: T::Array[T.nilable(String)], + matrix_values: + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue::OrHash + ] + ).returns(T.attached_class) + end + def self.new( + # Allocation to be used to calculate the price + allocation:, + # Default per unit rate for any usage not bucketed into a specified matrix_value + default_unit_amount:, + # One or two event property values to evaluate matrix groups by + dimensions:, + # Matrix values for specified matrix grouping keys + matrix_values: + ) + end + + sig do + override.returns( + { + allocation: Float, + default_unit_amount: String, + dimensions: T::Array[T.nilable(String)], + matrix_values: + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue + ] + } + ) + end + def to_hash + end + + class MatrixValue < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue, + Orb::Internal::AnyHash + ) + end + + # One or two matrix keys to filter usage to this Matrix value by. For example, + # ["region", "tier"] could be used to filter cloud usage by a cloud region and an + # instance tier. + sig { returns(T::Array[T.nilable(String)]) } + attr_accessor :dimension_values + + # Unit price for the specified dimension_values + sig { returns(String) } + attr_accessor :unit_amount + + sig do + params( + dimension_values: T::Array[T.nilable(String)], + unit_amount: String + ).returns(T.attached_class) + end + def self.new( + # One or two matrix keys to filter usage to this Matrix value by. For example, + # ["region", "tier"] could be used to filter cloud usage by a cloud region and an + # instance tier. + dimension_values:, + # Unit price for the specified dimension_values + unit_amount: + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[T.nilable(String)], + unit_amount: String + } + ) + end + def to_hash + end + end + end + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration, + Orb::Internal::AnyHash + ) + end + + # The list of dimension values matching (in order) the dimensions of the price + # group + sig { returns(T::Array[String]) } + attr_accessor :dimension_values + + # The id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :dimensional_price_group_id + + # The external id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :external_dimensional_price_group_id + + # For dimensional price: specifies a price group and dimension values + sig do + params( + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The list of dimension values matching (in order) the dimensions of the price + # group + dimension_values:, + # The id of the dimensional price group to include this price in + dimensional_price_group_id: nil, + # The external id of the dimensional price group to include this price in + external_dimensional_price_group_id: nil + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + } + ) + end + def to_hash + end + end + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + class GroupedTiered < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered, + Orb::Internal::AnyHash + ) + end + + # The cadence to bill for this price on. + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::Cadence::OrSymbol + ) + end + attr_accessor :cadence + + sig { returns(T::Hash[Symbol, T.anything]) } + attr_accessor :grouped_tiered_config + + # The id of the item the price will be associated with. + sig { returns(String) } + attr_accessor :item_id + + sig { returns(Symbol) } + attr_accessor :model_type + + # The name of the price. + sig { returns(String) } + attr_accessor :name + + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + sig { returns(T.nilable(String)) } + attr_accessor :billable_metric_id + + # 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. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :billed_in_advance + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration + ) + ) + end + attr_reader :billing_cycle_configuration + + sig do + params( + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :billing_cycle_configuration + + # The per unit conversion rate of the price currency to the invoicing currency. + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + sig { returns(T.nilable(String)) } + attr_accessor :currency + + # For dimensional price: specifies a price group and dimension values + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::DimensionalPriceConfiguration + ) + ) + end + attr_reader :dimensional_price_configuration + + sig do + params( + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::DimensionalPriceConfiguration::OrHash + ) + ).void + end + attr_writer :dimensional_price_configuration + + # An alias for the price. + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + # The property used to group this price on an invoice + sig { returns(T.nilable(String)) } + attr_accessor :invoice_grouping_key + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration + ) + ) + end + attr_reader :invoicing_cycle_configuration + + sig do + params( + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :invoicing_cycle_configuration + + # 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`. + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } + attr_accessor :metadata + + sig do + params( + cadence: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::Cadence::OrSymbol, + grouped_tiered_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::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration::OrHash + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::DimensionalPriceConfiguration::OrHash + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration::OrHash + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), + model_type: Symbol + ).returns(T.attached_class) + end + def self.new( + # The cadence to bill for this price on. + cadence:, + grouped_tiered_config:, + # The id of the item the price will be associated with. + item_id:, + # The name of the price. + name:, + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + billable_metric_id: nil, + # 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. + billed_in_advance: nil, + # For custom cadence: specifies the duration of the billing period in days or + # months. + billing_cycle_configuration: nil, + # The per unit conversion rate of the price currency to the invoicing currency. + conversion_rate: nil, + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + currency: nil, + # For dimensional price: specifies a price group and dimension values + dimensional_price_configuration: nil, + # An alias for the price. + external_price_id: nil, + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + fixed_price_quantity: nil, + # The property used to group this price on an invoice + invoice_grouping_key: nil, + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + invoicing_cycle_configuration: nil, + # 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`. + metadata: nil, + model_type: :grouped_tiered + ) + end + + sig do + override.returns( + { + cadence: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::Cadence::OrSymbol, + grouped_tiered_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::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::DimensionalPriceConfiguration + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) + } + ) + end + def to_hash + end + + # The cadence to bill for this price on. + module Cadence + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::Cadence + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ANNUAL = + T.let( + :annual, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::Cadence::TaggedSymbol + ) + SEMI_ANNUAL = + T.let( + :semi_annual, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::Cadence::TaggedSymbol + ) + MONTHLY = + T.let( + :monthly, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::Cadence::TaggedSymbol + ) + QUARTERLY = + T.let( + :quarterly, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::Cadence::TaggedSymbol + ) + ONE_TIME = + T.let( + :one_time, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::Cadence::TaggedSymbol + ) + CUSTOM = + T.let( + :custom, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::Cadence::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::Cadence::TaggedSymbol + ] + ) + end + def self.values + end + end + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::DimensionalPriceConfiguration, + Orb::Internal::AnyHash + ) + end + + # The list of dimension values matching (in order) the dimensions of the price + # group + sig { returns(T::Array[String]) } + attr_accessor :dimension_values + + # The id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :dimensional_price_group_id + + # The external id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :external_dimensional_price_group_id + + # For dimensional price: specifies a price group and dimension values + sig do + params( + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The list of dimension values matching (in order) the dimensions of the price + # group + dimension_values:, + # The id of the dimensional price group to include this price in + dimensional_price_group_id: nil, + # The external id of the dimensional price group to include this price in + external_dimensional_price_group_id: nil + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + } + ) + end + def to_hash + end + end + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Variants + ] + ) + end + def self.variants + end + end + end + + class RemoveAdjustment < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::RemoveAdjustment, + Orb::Internal::AnyHash + ) + end + + # The id of the adjustment to remove from on the plan. + sig { returns(String) } + attr_accessor :adjustment_id + + # The phase to remove this adjustment from. + sig { returns(T.nilable(Integer)) } + attr_accessor :plan_phase_order + + sig do + params( + adjustment_id: String, + plan_phase_order: T.nilable(Integer) + ).returns(T.attached_class) + end + def self.new( + # The id of the adjustment to remove from on the plan. + adjustment_id:, + # The phase to remove this adjustment from. + plan_phase_order: nil + ) + end + + sig do + override.returns( + { adjustment_id: String, plan_phase_order: T.nilable(Integer) } + ) + end + def to_hash + end + end + + class RemovePrice < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::RemovePrice, + Orb::Internal::AnyHash + ) + end + + # The id of the price to remove from the plan. + sig { returns(String) } + attr_accessor :price_id + + # The phase to remove this price from. + sig { returns(T.nilable(Integer)) } + attr_accessor :plan_phase_order + + sig do + params( + price_id: String, + plan_phase_order: T.nilable(Integer) + ).returns(T.attached_class) + end + def self.new( + # The id of the price to remove from the plan. + price_id:, + # The phase to remove this price from. + plan_phase_order: nil + ) + end + + sig do + override.returns( + { price_id: String, plan_phase_order: T.nilable(Integer) } + ) + end + def to_hash + end + end + + class ReplaceAdjustment < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplaceAdjustment, + Orb::Internal::AnyHash + ) + end + + # The definition of a new adjustment to create and add to the plan. + sig do + returns( + T.any( + Orb::BetaCreatePlanVersionParams::ReplaceAdjustment::Adjustment::PercentageDiscount, + Orb::BetaCreatePlanVersionParams::ReplaceAdjustment::Adjustment::UsageDiscount, + Orb::BetaCreatePlanVersionParams::ReplaceAdjustment::Adjustment::AmountDiscount, + Orb::BetaCreatePlanVersionParams::ReplaceAdjustment::Adjustment::Minimum, + Orb::BetaCreatePlanVersionParams::ReplaceAdjustment::Adjustment::Maximum + ) + ) + end + attr_accessor :adjustment + + # The id of the adjustment on the plan to replace in the plan. + sig { returns(String) } + attr_accessor :replaces_adjustment_id + + # The phase to replace this adjustment from. + sig { returns(T.nilable(Integer)) } + attr_accessor :plan_phase_order + + sig do + params( + adjustment: + T.any( + Orb::BetaCreatePlanVersionParams::ReplaceAdjustment::Adjustment::PercentageDiscount::OrHash, + Orb::BetaCreatePlanVersionParams::ReplaceAdjustment::Adjustment::UsageDiscount::OrHash, + Orb::BetaCreatePlanVersionParams::ReplaceAdjustment::Adjustment::AmountDiscount::OrHash, + Orb::BetaCreatePlanVersionParams::ReplaceAdjustment::Adjustment::Minimum::OrHash, + Orb::BetaCreatePlanVersionParams::ReplaceAdjustment::Adjustment::Maximum::OrHash + ), + replaces_adjustment_id: String, + plan_phase_order: T.nilable(Integer) + ).returns(T.attached_class) + end + def self.new( + # The definition of a new adjustment to create and add to the plan. + adjustment:, + # The id of the adjustment on the plan to replace in the plan. + replaces_adjustment_id:, + # The phase to replace this adjustment from. + plan_phase_order: nil + ) + end + + sig do + override.returns( + { + adjustment: + T.any( + Orb::BetaCreatePlanVersionParams::ReplaceAdjustment::Adjustment::PercentageDiscount, + Orb::BetaCreatePlanVersionParams::ReplaceAdjustment::Adjustment::UsageDiscount, + Orb::BetaCreatePlanVersionParams::ReplaceAdjustment::Adjustment::AmountDiscount, + Orb::BetaCreatePlanVersionParams::ReplaceAdjustment::Adjustment::Minimum, + Orb::BetaCreatePlanVersionParams::ReplaceAdjustment::Adjustment::Maximum + ), + replaces_adjustment_id: String, + plan_phase_order: T.nilable(Integer) + } + ) + end + def to_hash + end + + # The definition of a new adjustment to create and add to the plan. + module Adjustment + extend Orb::Internal::Type::Union + + Variants = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplaceAdjustment::Adjustment::PercentageDiscount, + Orb::BetaCreatePlanVersionParams::ReplaceAdjustment::Adjustment::UsageDiscount, + Orb::BetaCreatePlanVersionParams::ReplaceAdjustment::Adjustment::AmountDiscount, + Orb::BetaCreatePlanVersionParams::ReplaceAdjustment::Adjustment::Minimum, + Orb::BetaCreatePlanVersionParams::ReplaceAdjustment::Adjustment::Maximum + ) + end + + class PercentageDiscount < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplaceAdjustment::Adjustment::PercentageDiscount, + Orb::Internal::AnyHash + ) + end + + sig { returns(Symbol) } + attr_accessor :adjustment_type + + sig { returns(Float) } + attr_accessor :percentage_discount + + # The set of price IDs to which this adjustment applies. + sig { returns(T.nilable(T::Array[String])) } + attr_accessor :applies_to_price_ids + + # When false, this adjustment will be applied to a single price. Otherwise, it + # will be applied at the invoice level, possibly to multiple prices. + sig { returns(T.nilable(T::Boolean)) } + attr_reader :is_invoice_level + + sig { params(is_invoice_level: T::Boolean).void } + attr_writer :is_invoice_level + + sig do + params( + percentage_discount: Float, + applies_to_price_ids: T.nilable(T::Array[String]), + is_invoice_level: T::Boolean, + adjustment_type: Symbol + ).returns(T.attached_class) + end + def self.new( + percentage_discount:, + # The set of price IDs to which this adjustment applies. + applies_to_price_ids: nil, + # When false, this adjustment will be applied to a single price. Otherwise, it + # will be applied at the invoice level, possibly to multiple prices. + is_invoice_level: nil, + adjustment_type: :percentage_discount + ) + end + + sig do + override.returns( + { + adjustment_type: Symbol, + percentage_discount: Float, + applies_to_price_ids: T.nilable(T::Array[String]), + is_invoice_level: T::Boolean + } + ) + end + def to_hash + end + end + + class UsageDiscount < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplaceAdjustment::Adjustment::UsageDiscount, + Orb::Internal::AnyHash + ) + end + + sig { returns(Symbol) } + attr_accessor :adjustment_type + + sig { returns(Float) } + attr_accessor :usage_discount + + # The set of price IDs to which this adjustment applies. + sig { returns(T.nilable(T::Array[String])) } + attr_accessor :applies_to_price_ids + + # When false, this adjustment will be applied to a single price. Otherwise, it + # will be applied at the invoice level, possibly to multiple prices. + sig { returns(T.nilable(T::Boolean)) } + attr_reader :is_invoice_level + + sig { params(is_invoice_level: T::Boolean).void } + attr_writer :is_invoice_level + + sig do + params( + usage_discount: Float, + applies_to_price_ids: T.nilable(T::Array[String]), + is_invoice_level: T::Boolean, + adjustment_type: Symbol + ).returns(T.attached_class) + end + def self.new( + usage_discount:, + # The set of price IDs to which this adjustment applies. + applies_to_price_ids: nil, + # When false, this adjustment will be applied to a single price. Otherwise, it + # will be applied at the invoice level, possibly to multiple prices. + is_invoice_level: nil, + adjustment_type: :usage_discount + ) + end + + sig do + override.returns( + { + adjustment_type: Symbol, + usage_discount: Float, + applies_to_price_ids: T.nilable(T::Array[String]), + is_invoice_level: T::Boolean + } + ) + end + def to_hash + end + end + + class AmountDiscount < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplaceAdjustment::Adjustment::AmountDiscount, + Orb::Internal::AnyHash + ) + end + + sig { returns(Symbol) } + attr_accessor :adjustment_type + + sig { returns(String) } + attr_accessor :amount_discount + + # The set of price IDs to which this adjustment applies. + sig { returns(T.nilable(T::Array[String])) } + attr_accessor :applies_to_price_ids + + # When false, this adjustment will be applied to a single price. Otherwise, it + # will be applied at the invoice level, possibly to multiple prices. + sig { returns(T.nilable(T::Boolean)) } + attr_reader :is_invoice_level + + sig { params(is_invoice_level: T::Boolean).void } + attr_writer :is_invoice_level + + sig do + params( + amount_discount: String, + applies_to_price_ids: T.nilable(T::Array[String]), + is_invoice_level: T::Boolean, + adjustment_type: Symbol + ).returns(T.attached_class) + end + def self.new( + amount_discount:, + # The set of price IDs to which this adjustment applies. + applies_to_price_ids: nil, + # When false, this adjustment will be applied to a single price. Otherwise, it + # will be applied at the invoice level, possibly to multiple prices. + is_invoice_level: nil, + adjustment_type: :amount_discount + ) + end + + sig do + override.returns( + { + adjustment_type: Symbol, + amount_discount: String, + applies_to_price_ids: T.nilable(T::Array[String]), + is_invoice_level: T::Boolean + } + ) + end + def to_hash + end + end + + class Minimum < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplaceAdjustment::Adjustment::Minimum, + Orb::Internal::AnyHash + ) + end + + sig { returns(Symbol) } + attr_accessor :adjustment_type + + # The item ID that revenue from this minimum will be attributed to. + sig { returns(String) } + attr_accessor :item_id + + sig { returns(String) } + attr_accessor :minimum_amount + + # The set of price IDs to which this adjustment applies. + sig { returns(T.nilable(T::Array[String])) } + attr_accessor :applies_to_price_ids + + # When false, this adjustment will be applied to a single price. Otherwise, it + # will be applied at the invoice level, possibly to multiple prices. + sig { returns(T.nilable(T::Boolean)) } + attr_reader :is_invoice_level + + sig { params(is_invoice_level: T::Boolean).void } + attr_writer :is_invoice_level + + sig do + params( + item_id: String, + minimum_amount: String, + applies_to_price_ids: T.nilable(T::Array[String]), + is_invoice_level: T::Boolean, + adjustment_type: Symbol + ).returns(T.attached_class) + end + def self.new( + # The item ID that revenue from this minimum will be attributed to. + item_id:, + minimum_amount:, + # The set of price IDs to which this adjustment applies. + applies_to_price_ids: nil, + # When false, this adjustment will be applied to a single price. Otherwise, it + # will be applied at the invoice level, possibly to multiple prices. + is_invoice_level: nil, + adjustment_type: :minimum + ) + end + + sig do + override.returns( + { + adjustment_type: Symbol, + item_id: String, + minimum_amount: String, + applies_to_price_ids: T.nilable(T::Array[String]), + is_invoice_level: T::Boolean + } + ) + end + def to_hash + end + end + + class Maximum < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplaceAdjustment::Adjustment::Maximum, + Orb::Internal::AnyHash + ) + end + + sig { returns(Symbol) } + attr_accessor :adjustment_type + + sig { returns(String) } + attr_accessor :maximum_amount + + # The set of price IDs to which this adjustment applies. + sig { returns(T.nilable(T::Array[String])) } + attr_accessor :applies_to_price_ids + + # When false, this adjustment will be applied to a single price. Otherwise, it + # will be applied at the invoice level, possibly to multiple prices. + sig { returns(T.nilable(T::Boolean)) } + attr_reader :is_invoice_level + + sig { params(is_invoice_level: T::Boolean).void } + attr_writer :is_invoice_level + + sig do + params( + maximum_amount: String, + applies_to_price_ids: T.nilable(T::Array[String]), + is_invoice_level: T::Boolean, + adjustment_type: Symbol + ).returns(T.attached_class) + end + def self.new( + maximum_amount:, + # The set of price IDs to which this adjustment applies. + applies_to_price_ids: nil, + # When false, this adjustment will be applied to a single price. Otherwise, it + # will be applied at the invoice level, possibly to multiple prices. + is_invoice_level: nil, + adjustment_type: :maximum + ) + end + + sig do + override.returns( + { + adjustment_type: Symbol, + maximum_amount: String, + applies_to_price_ids: T.nilable(T::Array[String]), + is_invoice_level: T::Boolean + } + ) + end + def to_hash + end + end + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplaceAdjustment::Adjustment::Variants + ] + ) + end + def self.variants + end + end + end + + class ReplacePrice < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice, + Orb::Internal::AnyHash + ) + end + + # The id of the price on the plan to replace in the plan. + sig { returns(String) } + attr_accessor :replaces_price_id + + # The allocation price to add to the plan. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::AllocationPrice + ) + ) + end + attr_reader :allocation_price + + sig do + params( + allocation_price: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::AllocationPrice::OrHash + ) + ).void + end + attr_writer :allocation_price + + # The phase to replace this price from. + sig { returns(T.nilable(Integer)) } + attr_accessor :plan_phase_order + + # The price to add to the plan + sig do + returns( + T.nilable( + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Package, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered + ) + ) + ) + end + attr_accessor :price + + sig do + params( + replaces_price_id: String, + allocation_price: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::AllocationPrice::OrHash + ), + plan_phase_order: T.nilable(Integer), + price: + T.nilable( + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::OrHash, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::OrHash, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::OrHash, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::OrHash, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::OrHash, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::OrHash, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::OrHash, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::OrHash, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::OrHash, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::OrHash, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::OrHash, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::OrHash, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::OrHash, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::OrHash, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::OrHash, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::OrHash, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::OrHash, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::OrHash, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::OrHash, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::OrHash, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::OrHash, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::OrHash, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::OrHash, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::OrHash, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::OrHash, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::OrHash, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::OrHash, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::OrHash + ) + ) + ).returns(T.attached_class) + end + def self.new( + # The id of the price on the plan to replace in the plan. + replaces_price_id:, + # The allocation price to add to the plan. + allocation_price: nil, + # The phase to replace this price from. + plan_phase_order: nil, + # The price to add to the plan + price: nil + ) + end + + sig do + override.returns( + { + replaces_price_id: String, + allocation_price: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::AllocationPrice + ), + plan_phase_order: T.nilable(Integer), + price: + T.nilable( + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Package, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered + ) + ) + } + ) + end + def to_hash + end + + class AllocationPrice < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::AllocationPrice, + Orb::Internal::AnyHash + ) + end + + # An amount of the currency to allocate to the customer at the specified cadence. + sig { returns(String) } + attr_accessor :amount + + # The cadence at which to allocate the amount to the customer. + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::AllocationPrice::Cadence::OrSymbol + ) + end + attr_accessor :cadence + + # An ISO 4217 currency string or a custom pricing unit identifier in which to bill + # this price. + sig { returns(String) } + attr_accessor :currency + + # Whether the allocated amount should expire at the end of the cadence or roll + # over to the next period. + sig { returns(T::Boolean) } + attr_accessor :expires_at_end_of_cadence + + # The allocation price to add to the plan. + sig do + params( + amount: String, + cadence: + Orb::BetaCreatePlanVersionParams::ReplacePrice::AllocationPrice::Cadence::OrSymbol, + currency: String, + expires_at_end_of_cadence: T::Boolean + ).returns(T.attached_class) + end + def self.new( + # An amount of the currency to allocate to the customer at the specified cadence. + amount:, + # The cadence at which to allocate the amount to the customer. + cadence:, + # An ISO 4217 currency string or a custom pricing unit identifier in which to bill + # this price. + currency:, + # Whether the allocated amount should expire at the end of the cadence or roll + # over to the next period. + expires_at_end_of_cadence: + ) + end + + sig do + override.returns( + { + amount: String, + cadence: + Orb::BetaCreatePlanVersionParams::ReplacePrice::AllocationPrice::Cadence::OrSymbol, + currency: String, + expires_at_end_of_cadence: T::Boolean + } + ) + end + def to_hash + end + + # The cadence at which to allocate the amount to the customer. + module Cadence + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::ReplacePrice::AllocationPrice::Cadence + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ONE_TIME = + T.let( + :one_time, + Orb::BetaCreatePlanVersionParams::ReplacePrice::AllocationPrice::Cadence::TaggedSymbol + ) + MONTHLY = + T.let( + :monthly, + Orb::BetaCreatePlanVersionParams::ReplacePrice::AllocationPrice::Cadence::TaggedSymbol + ) + QUARTERLY = + T.let( + :quarterly, + Orb::BetaCreatePlanVersionParams::ReplacePrice::AllocationPrice::Cadence::TaggedSymbol + ) + SEMI_ANNUAL = + T.let( + :semi_annual, + Orb::BetaCreatePlanVersionParams::ReplacePrice::AllocationPrice::Cadence::TaggedSymbol + ) + ANNUAL = + T.let( + :annual, + Orb::BetaCreatePlanVersionParams::ReplacePrice::AllocationPrice::Cadence::TaggedSymbol + ) + CUSTOM = + T.let( + :custom, + Orb::BetaCreatePlanVersionParams::ReplacePrice::AllocationPrice::Cadence::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::AllocationPrice::Cadence::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + # The price to add to the plan + module Price + extend Orb::Internal::Type::Union + + Variants = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Package, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered + ) + end + + class Unit < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit, + Orb::Internal::AnyHash + ) + end + + # The cadence to bill for this price on. + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::Cadence::OrSymbol + ) + end + attr_accessor :cadence + + # The id of the item the price will be associated with. + sig { returns(String) } + attr_accessor :item_id + + sig { returns(Symbol) } + attr_accessor :model_type + + # The name of the price. + sig { returns(String) } + attr_accessor :name + + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::UnitConfig + ) + end + attr_reader :unit_config + + sig do + params( + unit_config: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::UnitConfig::OrHash + ).void + end + attr_writer :unit_config + + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + sig { returns(T.nilable(String)) } + attr_accessor :billable_metric_id + + # 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. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :billed_in_advance + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::BillingCycleConfiguration + ) + ) + end + attr_reader :billing_cycle_configuration + + sig do + params( + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::BillingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :billing_cycle_configuration + + # The per unit conversion rate of the price currency to the invoicing currency. + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + sig { returns(T.nilable(String)) } + attr_accessor :currency + + # For dimensional price: specifies a price group and dimension values + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::DimensionalPriceConfiguration + ) + ) + end + attr_reader :dimensional_price_configuration + + sig do + params( + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::DimensionalPriceConfiguration::OrHash + ) + ).void + end + attr_writer :dimensional_price_configuration + + # An alias for the price. + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + # The property used to group this price on an invoice + sig { returns(T.nilable(String)) } + attr_accessor :invoice_grouping_key + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration + ) + ) + end + attr_reader :invoicing_cycle_configuration + + sig do + params( + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :invoicing_cycle_configuration + + # 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`. + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } + attr_accessor :metadata + + sig do + params( + cadence: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::Cadence::OrSymbol, + item_id: String, + name: String, + unit_config: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::UnitConfig::OrHash, + billable_metric_id: T.nilable(String), + billed_in_advance: T.nilable(T::Boolean), + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::BillingCycleConfiguration::OrHash + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::DimensionalPriceConfiguration::OrHash + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration::OrHash + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), + model_type: Symbol + ).returns(T.attached_class) + end + def self.new( + # The cadence to bill for this price on. + cadence:, + # The id of the item the price will be associated with. + item_id:, + # The name of the price. + name:, + unit_config:, + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + billable_metric_id: nil, + # 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. + billed_in_advance: nil, + # For custom cadence: specifies the duration of the billing period in days or + # months. + billing_cycle_configuration: nil, + # The per unit conversion rate of the price currency to the invoicing currency. + conversion_rate: nil, + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + currency: nil, + # For dimensional price: specifies a price group and dimension values + dimensional_price_configuration: nil, + # An alias for the price. + external_price_id: nil, + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + fixed_price_quantity: nil, + # The property used to group this price on an invoice + invoice_grouping_key: nil, + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + invoicing_cycle_configuration: nil, + # 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`. + metadata: nil, + model_type: :unit + ) + end + + sig do + override.returns( + { + cadence: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::Cadence::OrSymbol, + item_id: String, + model_type: Symbol, + name: String, + unit_config: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::UnitConfig, + billable_metric_id: T.nilable(String), + billed_in_advance: T.nilable(T::Boolean), + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::BillingCycleConfiguration + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::DimensionalPriceConfiguration + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) + } + ) + end + def to_hash + end + + # The cadence to bill for this price on. + module Cadence + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::Cadence + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ANNUAL = + T.let( + :annual, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::Cadence::TaggedSymbol + ) + SEMI_ANNUAL = + T.let( + :semi_annual, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::Cadence::TaggedSymbol + ) + MONTHLY = + T.let( + :monthly, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::Cadence::TaggedSymbol + ) + QUARTERLY = + T.let( + :quarterly, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::Cadence::TaggedSymbol + ) + ONE_TIME = + T.let( + :one_time, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::Cadence::TaggedSymbol + ) + CUSTOM = + T.let( + :custom, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::Cadence::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::Cadence::TaggedSymbol + ] + ) + end + def self.values + end + end + + class UnitConfig < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::UnitConfig, + Orb::Internal::AnyHash + ) + end + + # Rate per unit of usage + sig { returns(String) } + attr_accessor :unit_amount + + sig { params(unit_amount: String).returns(T.attached_class) } + def self.new( + # Rate per unit of usage + unit_amount: + ) + end + + sig { override.returns({ unit_amount: String }) } + def to_hash + end + end + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::BillingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::BillingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::BillingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::BillingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::BillingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::DimensionalPriceConfiguration, + Orb::Internal::AnyHash + ) + end + + # The list of dimension values matching (in order) the dimensions of the price + # group + sig { returns(T::Array[String]) } + attr_accessor :dimension_values + + # The id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :dimensional_price_group_id + + # The external id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :external_dimensional_price_group_id + + # For dimensional price: specifies a price group and dimension values + sig do + params( + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The list of dimension values matching (in order) the dimensions of the price + # group + dimension_values:, + # The id of the dimensional price group to include this price in + dimensional_price_group_id: nil, + # The external id of the dimensional price group to include this price in + external_dimensional_price_group_id: nil + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + } + ) + end + def to_hash + end + end + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + class Package < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Package, + Orb::Internal::AnyHash + ) + end + + # The cadence to bill for this price on. + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::Cadence::OrSymbol + ) + end + attr_accessor :cadence + + # The id of the item the price will be associated with. + sig { returns(String) } + attr_accessor :item_id + + sig { returns(Symbol) } + attr_accessor :model_type + + # The name of the price. + sig { returns(String) } + attr_accessor :name + + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::PackageConfig + ) + end + attr_reader :package_config + + sig do + params( + package_config: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::PackageConfig::OrHash + ).void + end + attr_writer :package_config + + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + sig { returns(T.nilable(String)) } + attr_accessor :billable_metric_id + + # 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. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :billed_in_advance + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::BillingCycleConfiguration + ) + ) + end + attr_reader :billing_cycle_configuration + + sig do + params( + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::BillingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :billing_cycle_configuration + + # The per unit conversion rate of the price currency to the invoicing currency. + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + sig { returns(T.nilable(String)) } + attr_accessor :currency + + # For dimensional price: specifies a price group and dimension values + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::DimensionalPriceConfiguration + ) + ) + end + attr_reader :dimensional_price_configuration + + sig do + params( + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::DimensionalPriceConfiguration::OrHash + ) + ).void + end + attr_writer :dimensional_price_configuration + + # An alias for the price. + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + # The property used to group this price on an invoice + sig { returns(T.nilable(String)) } + attr_accessor :invoice_grouping_key + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration + ) + ) + end + attr_reader :invoicing_cycle_configuration + + sig do + params( + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :invoicing_cycle_configuration + + # 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`. + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } + attr_accessor :metadata + + sig do + params( + cadence: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::Cadence::OrSymbol, + item_id: String, + name: String, + package_config: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::PackageConfig::OrHash, + billable_metric_id: T.nilable(String), + billed_in_advance: T.nilable(T::Boolean), + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::BillingCycleConfiguration::OrHash + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::DimensionalPriceConfiguration::OrHash + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration::OrHash + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), + model_type: Symbol + ).returns(T.attached_class) + end + def self.new( + # The cadence to bill for this price on. + cadence:, + # The id of the item the price will be associated with. + item_id:, + # The name of the price. + name:, + package_config:, + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + billable_metric_id: nil, + # 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. + billed_in_advance: nil, + # For custom cadence: specifies the duration of the billing period in days or + # months. + billing_cycle_configuration: nil, + # The per unit conversion rate of the price currency to the invoicing currency. + conversion_rate: nil, + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + currency: nil, + # For dimensional price: specifies a price group and dimension values + dimensional_price_configuration: nil, + # An alias for the price. + external_price_id: nil, + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + fixed_price_quantity: nil, + # The property used to group this price on an invoice + invoice_grouping_key: nil, + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + invoicing_cycle_configuration: nil, + # 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`. + metadata: nil, + model_type: :package + ) + end + + sig do + override.returns( + { + cadence: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::Cadence::OrSymbol, + item_id: String, + model_type: Symbol, + name: String, + package_config: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::PackageConfig, + billable_metric_id: T.nilable(String), + billed_in_advance: T.nilable(T::Boolean), + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::BillingCycleConfiguration + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::DimensionalPriceConfiguration + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) + } + ) + end + def to_hash + end + + # The cadence to bill for this price on. + module Cadence + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::Cadence + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ANNUAL = + T.let( + :annual, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::Cadence::TaggedSymbol + ) + SEMI_ANNUAL = + T.let( + :semi_annual, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::Cadence::TaggedSymbol + ) + MONTHLY = + T.let( + :monthly, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::Cadence::TaggedSymbol + ) + QUARTERLY = + T.let( + :quarterly, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::Cadence::TaggedSymbol + ) + ONE_TIME = + T.let( + :one_time, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::Cadence::TaggedSymbol + ) + CUSTOM = + T.let( + :custom, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::Cadence::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::Cadence::TaggedSymbol + ] + ) + end + def self.values + end + end + + class PackageConfig < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::PackageConfig, + Orb::Internal::AnyHash + ) + end + + # A currency amount to rate usage by + sig { returns(String) } + attr_accessor :package_amount + + # An integer amount to represent package size. For example, 1000 here would divide + # usage by 1000 before multiplying by package_amount in rating + sig { returns(Integer) } + attr_accessor :package_size + + sig do + params(package_amount: String, package_size: Integer).returns( + T.attached_class + ) + end + def self.new( + # A currency amount to rate usage by + package_amount:, + # An integer amount to represent package size. For example, 1000 here would divide + # usage by 1000 before multiplying by package_amount in rating + package_size: + ) + end + + sig do + override.returns( + { package_amount: String, package_size: Integer } + ) + end + def to_hash + end + end + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::BillingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::BillingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::BillingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::BillingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::BillingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::DimensionalPriceConfiguration, + Orb::Internal::AnyHash + ) + end + + # The list of dimension values matching (in order) the dimensions of the price + # group + sig { returns(T::Array[String]) } + attr_accessor :dimension_values + + # The id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :dimensional_price_group_id + + # The external id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :external_dimensional_price_group_id + + # For dimensional price: specifies a price group and dimension values + sig do + params( + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The list of dimension values matching (in order) the dimensions of the price + # group + dimension_values:, + # The id of the dimensional price group to include this price in + dimensional_price_group_id: nil, + # The external id of the dimensional price group to include this price in + external_dimensional_price_group_id: nil + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + } + ) + end + def to_hash + end + end + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + class Matrix < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix, + Orb::Internal::AnyHash + ) + end + + # The cadence to bill for this price on. + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::Cadence::OrSymbol + ) + end + attr_accessor :cadence + + # The id of the item the price will be associated with. + sig { returns(String) } + attr_accessor :item_id + + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::MatrixConfig + ) + end + attr_reader :matrix_config + + sig do + params( + matrix_config: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::MatrixConfig::OrHash + ).void + end + attr_writer :matrix_config + + sig { returns(Symbol) } + attr_accessor :model_type + + # The name of the price. + sig { returns(String) } + attr_accessor :name + + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + sig { returns(T.nilable(String)) } + attr_accessor :billable_metric_id + + # 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. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :billed_in_advance + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration + ) + ) + end + attr_reader :billing_cycle_configuration + + sig do + params( + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :billing_cycle_configuration + + # The per unit conversion rate of the price currency to the invoicing currency. + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + sig { returns(T.nilable(String)) } + attr_accessor :currency + + # For dimensional price: specifies a price group and dimension values + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::DimensionalPriceConfiguration + ) + ) + end + attr_reader :dimensional_price_configuration + + sig do + params( + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::DimensionalPriceConfiguration::OrHash + ) + ).void + end + attr_writer :dimensional_price_configuration + + # An alias for the price. + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + # The property used to group this price on an invoice + sig { returns(T.nilable(String)) } + attr_accessor :invoice_grouping_key + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration + ) + ) + end + attr_reader :invoicing_cycle_configuration + + sig do + params( + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :invoicing_cycle_configuration + + # 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`. + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } + attr_accessor :metadata + + sig do + params( + cadence: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::Cadence::OrSymbol, + item_id: String, + matrix_config: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::MatrixConfig::OrHash, + name: String, + billable_metric_id: T.nilable(String), + billed_in_advance: T.nilable(T::Boolean), + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration::OrHash + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::DimensionalPriceConfiguration::OrHash + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration::OrHash + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), + model_type: Symbol + ).returns(T.attached_class) + end + def self.new( + # The cadence to bill for this price on. + cadence:, + # The id of the item the price will be associated with. + item_id:, + matrix_config:, + # The name of the price. + name:, + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + billable_metric_id: nil, + # 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. + billed_in_advance: nil, + # For custom cadence: specifies the duration of the billing period in days or + # months. + billing_cycle_configuration: nil, + # The per unit conversion rate of the price currency to the invoicing currency. + conversion_rate: nil, + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + currency: nil, + # For dimensional price: specifies a price group and dimension values + dimensional_price_configuration: nil, + # An alias for the price. + external_price_id: nil, + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + fixed_price_quantity: nil, + # The property used to group this price on an invoice + invoice_grouping_key: nil, + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + invoicing_cycle_configuration: nil, + # 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`. + metadata: nil, + model_type: :matrix + ) + end + + sig do + override.returns( + { + cadence: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::Cadence::OrSymbol, + item_id: String, + matrix_config: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::MatrixConfig, + model_type: Symbol, + name: String, + billable_metric_id: T.nilable(String), + billed_in_advance: T.nilable(T::Boolean), + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::DimensionalPriceConfiguration + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) + } + ) + end + def to_hash + end + + # The cadence to bill for this price on. + module Cadence + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::Cadence + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ANNUAL = + T.let( + :annual, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::Cadence::TaggedSymbol + ) + SEMI_ANNUAL = + T.let( + :semi_annual, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::Cadence::TaggedSymbol + ) + MONTHLY = + T.let( + :monthly, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::Cadence::TaggedSymbol + ) + QUARTERLY = + T.let( + :quarterly, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::Cadence::TaggedSymbol + ) + ONE_TIME = + T.let( + :one_time, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::Cadence::TaggedSymbol + ) + CUSTOM = + T.let( + :custom, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::Cadence::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::Cadence::TaggedSymbol + ] + ) + end + def self.values + end + end + + class MatrixConfig < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::MatrixConfig, + Orb::Internal::AnyHash + ) + end + + # Default per unit rate for any usage not bucketed into a specified matrix_value + sig { returns(String) } + attr_accessor :default_unit_amount + + # One or two event property values to evaluate matrix groups by + sig { returns(T::Array[T.nilable(String)]) } + attr_accessor :dimensions + + # Matrix values for specified matrix grouping keys + sig do + returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::MatrixConfig::MatrixValue + ] + ) + end + attr_accessor :matrix_values + + sig do + params( + default_unit_amount: String, + dimensions: T::Array[T.nilable(String)], + matrix_values: + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::MatrixConfig::MatrixValue::OrHash + ] + ).returns(T.attached_class) + end + def self.new( + # Default per unit rate for any usage not bucketed into a specified matrix_value + default_unit_amount:, + # One or two event property values to evaluate matrix groups by + dimensions:, + # Matrix values for specified matrix grouping keys + matrix_values: + ) + end + + sig do + override.returns( + { + default_unit_amount: String, + dimensions: T::Array[T.nilable(String)], + matrix_values: + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::MatrixConfig::MatrixValue + ] + } + ) + end + def to_hash + end + + class MatrixValue < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::MatrixConfig::MatrixValue, + Orb::Internal::AnyHash + ) + end + + # One or two matrix keys to filter usage to this Matrix value by. For example, + # ["region", "tier"] could be used to filter cloud usage by a cloud region and an + # instance tier. + sig { returns(T::Array[T.nilable(String)]) } + attr_accessor :dimension_values + + # Unit price for the specified dimension_values + sig { returns(String) } + attr_accessor :unit_amount + + sig do + params( + dimension_values: T::Array[T.nilable(String)], + unit_amount: String + ).returns(T.attached_class) + end + def self.new( + # One or two matrix keys to filter usage to this Matrix value by. For example, + # ["region", "tier"] could be used to filter cloud usage by a cloud region and an + # instance tier. + dimension_values:, + # Unit price for the specified dimension_values + unit_amount: + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[T.nilable(String)], + unit_amount: String + } + ) + end + def to_hash + end + end + end + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::DimensionalPriceConfiguration, + Orb::Internal::AnyHash + ) + end + + # The list of dimension values matching (in order) the dimensions of the price + # group + sig { returns(T::Array[String]) } + attr_accessor :dimension_values + + # The id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :dimensional_price_group_id + + # The external id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :external_dimensional_price_group_id + + # For dimensional price: specifies a price group and dimension values + sig do + params( + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The list of dimension values matching (in order) the dimensions of the price + # group + dimension_values:, + # The id of the dimensional price group to include this price in + dimensional_price_group_id: nil, + # The external id of the dimensional price group to include this price in + external_dimensional_price_group_id: nil + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + } + ) + end + def to_hash + end + end + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + class Tiered < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered, + Orb::Internal::AnyHash + ) + end + + # The cadence to bill for this price on. + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::Cadence::OrSymbol + ) + end + attr_accessor :cadence + + # The id of the item the price will be associated with. + sig { returns(String) } + attr_accessor :item_id + + sig { returns(Symbol) } + attr_accessor :model_type + + # The name of the price. + sig { returns(String) } + attr_accessor :name + + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::TieredConfig + ) + end + attr_reader :tiered_config + + sig do + params( + tiered_config: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::TieredConfig::OrHash + ).void + end + attr_writer :tiered_config + + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + sig { returns(T.nilable(String)) } + attr_accessor :billable_metric_id + + # 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. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :billed_in_advance + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration + ) + ) + end + attr_reader :billing_cycle_configuration + + sig do + params( + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :billing_cycle_configuration + + # The per unit conversion rate of the price currency to the invoicing currency. + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + sig { returns(T.nilable(String)) } + attr_accessor :currency + + # For dimensional price: specifies a price group and dimension values + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::DimensionalPriceConfiguration + ) + ) + end + attr_reader :dimensional_price_configuration + + sig do + params( + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::DimensionalPriceConfiguration::OrHash + ) + ).void + end + attr_writer :dimensional_price_configuration + + # An alias for the price. + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + # The property used to group this price on an invoice + sig { returns(T.nilable(String)) } + attr_accessor :invoice_grouping_key + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration + ) + ) + end + attr_reader :invoicing_cycle_configuration + + sig do + params( + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :invoicing_cycle_configuration + + # 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`. + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } + attr_accessor :metadata + + sig do + params( + cadence: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::Cadence::OrSymbol, + item_id: String, + name: String, + tiered_config: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::TieredConfig::OrHash, + billable_metric_id: T.nilable(String), + billed_in_advance: T.nilable(T::Boolean), + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration::OrHash + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::DimensionalPriceConfiguration::OrHash + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration::OrHash + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), + model_type: Symbol + ).returns(T.attached_class) + end + def self.new( + # The cadence to bill for this price on. + cadence:, + # The id of the item the price will be associated with. + item_id:, + # The name of the price. + name:, + tiered_config:, + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + billable_metric_id: nil, + # 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. + billed_in_advance: nil, + # For custom cadence: specifies the duration of the billing period in days or + # months. + billing_cycle_configuration: nil, + # The per unit conversion rate of the price currency to the invoicing currency. + conversion_rate: nil, + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + currency: nil, + # For dimensional price: specifies a price group and dimension values + dimensional_price_configuration: nil, + # An alias for the price. + external_price_id: nil, + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + fixed_price_quantity: nil, + # The property used to group this price on an invoice + invoice_grouping_key: nil, + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + invoicing_cycle_configuration: nil, + # 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`. + metadata: nil, + model_type: :tiered + ) + end + + sig do + override.returns( + { + cadence: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::Cadence::OrSymbol, + item_id: String, + model_type: Symbol, + name: String, + tiered_config: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::TieredConfig, + billable_metric_id: T.nilable(String), + billed_in_advance: T.nilable(T::Boolean), + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::DimensionalPriceConfiguration + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) + } + ) + end + def to_hash + end + + # The cadence to bill for this price on. + module Cadence + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::Cadence + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ANNUAL = + T.let( + :annual, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::Cadence::TaggedSymbol + ) + SEMI_ANNUAL = + T.let( + :semi_annual, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::Cadence::TaggedSymbol + ) + MONTHLY = + T.let( + :monthly, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::Cadence::TaggedSymbol + ) + QUARTERLY = + T.let( + :quarterly, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::Cadence::TaggedSymbol + ) + ONE_TIME = + T.let( + :one_time, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::Cadence::TaggedSymbol + ) + CUSTOM = + T.let( + :custom, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::Cadence::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::Cadence::TaggedSymbol + ] + ) + end + def self.values + end + end + + class TieredConfig < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::TieredConfig, + Orb::Internal::AnyHash + ) + end + + # Tiers for rating based on total usage quantities into the specified tier + sig do + returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::TieredConfig::Tier + ] + ) + end + attr_accessor :tiers + + sig do + params( + tiers: + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::TieredConfig::Tier::OrHash + ] + ).returns(T.attached_class) + end + def self.new( + # Tiers for rating based on total usage quantities into the specified tier + tiers: + ) + end + + sig do + override.returns( + { + tiers: + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::TieredConfig::Tier + ] + } + ) + end + def to_hash + end + + class Tier < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::TieredConfig::Tier, + Orb::Internal::AnyHash + ) + end + + # Exclusive tier starting value + sig { returns(Float) } + attr_accessor :first_unit + + # Amount per unit + sig { returns(String) } + attr_accessor :unit_amount + + # Inclusive tier ending value. If null, this is treated as the last tier + sig { returns(T.nilable(Float)) } + attr_accessor :last_unit + + sig do + params( + first_unit: Float, + unit_amount: String, + last_unit: T.nilable(Float) + ).returns(T.attached_class) + end + def self.new( + # Exclusive tier starting value + first_unit:, + # Amount per unit + unit_amount:, + # Inclusive tier ending value. If null, this is treated as the last tier + last_unit: nil + ) + end + + sig do + override.returns( + { + first_unit: Float, + unit_amount: String, + last_unit: T.nilable(Float) + } + ) + end + def to_hash + end + end + end + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::DimensionalPriceConfiguration, + Orb::Internal::AnyHash + ) + end + + # The list of dimension values matching (in order) the dimensions of the price + # group + sig { returns(T::Array[String]) } + attr_accessor :dimension_values + + # The id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :dimensional_price_group_id + + # The external id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :external_dimensional_price_group_id + + # For dimensional price: specifies a price group and dimension values + sig do + params( + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The list of dimension values matching (in order) the dimensions of the price + # group + dimension_values:, + # The id of the dimensional price group to include this price in + dimensional_price_group_id: nil, + # The external id of the dimensional price group to include this price in + external_dimensional_price_group_id: nil + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + } + ) + end + def to_hash + end + end + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + class TieredBps < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps, + Orb::Internal::AnyHash + ) + end + + # The cadence to bill for this price on. + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::Cadence::OrSymbol + ) + end + attr_accessor :cadence + + # The id of the item the price will be associated with. + sig { returns(String) } + attr_accessor :item_id + + sig { returns(Symbol) } + attr_accessor :model_type + + # The name of the price. + sig { returns(String) } + attr_accessor :name + + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::TieredBpsConfig + ) + end + attr_reader :tiered_bps_config + + sig do + params( + tiered_bps_config: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::TieredBpsConfig::OrHash + ).void + end + attr_writer :tiered_bps_config + + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + sig { returns(T.nilable(String)) } + attr_accessor :billable_metric_id + + # 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. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :billed_in_advance + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration + ) + ) + end + attr_reader :billing_cycle_configuration + + sig do + params( + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :billing_cycle_configuration + + # The per unit conversion rate of the price currency to the invoicing currency. + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + sig { returns(T.nilable(String)) } + attr_accessor :currency + + # For dimensional price: specifies a price group and dimension values + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::DimensionalPriceConfiguration + ) + ) + end + attr_reader :dimensional_price_configuration + + sig do + params( + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::DimensionalPriceConfiguration::OrHash + ) + ).void + end + attr_writer :dimensional_price_configuration + + # An alias for the price. + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + # The property used to group this price on an invoice + sig { returns(T.nilable(String)) } + attr_accessor :invoice_grouping_key + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration + ) + ) + end + attr_reader :invoicing_cycle_configuration + + sig do + params( + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :invoicing_cycle_configuration + + # 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`. + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } + attr_accessor :metadata + + sig do + params( + cadence: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::Cadence::OrSymbol, + item_id: String, + name: String, + tiered_bps_config: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::TieredBpsConfig::OrHash, + billable_metric_id: T.nilable(String), + billed_in_advance: T.nilable(T::Boolean), + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration::OrHash + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::DimensionalPriceConfiguration::OrHash + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration::OrHash + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), + model_type: Symbol + ).returns(T.attached_class) + end + def self.new( + # The cadence to bill for this price on. + cadence:, + # The id of the item the price will be associated with. + item_id:, + # The name of the price. + name:, + tiered_bps_config:, + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + billable_metric_id: nil, + # 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. + billed_in_advance: nil, + # For custom cadence: specifies the duration of the billing period in days or + # months. + billing_cycle_configuration: nil, + # The per unit conversion rate of the price currency to the invoicing currency. + conversion_rate: nil, + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + currency: nil, + # For dimensional price: specifies a price group and dimension values + dimensional_price_configuration: nil, + # An alias for the price. + external_price_id: nil, + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + fixed_price_quantity: nil, + # The property used to group this price on an invoice + invoice_grouping_key: nil, + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + invoicing_cycle_configuration: nil, + # 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`. + metadata: nil, + model_type: :tiered_bps + ) + end + + sig do + override.returns( + { + cadence: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::Cadence::OrSymbol, + item_id: String, + model_type: Symbol, + name: String, + tiered_bps_config: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::TieredBpsConfig, + billable_metric_id: T.nilable(String), + billed_in_advance: T.nilable(T::Boolean), + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::DimensionalPriceConfiguration + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) + } + ) + end + def to_hash + end + + # The cadence to bill for this price on. + module Cadence + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::Cadence + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ANNUAL = + T.let( + :annual, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::Cadence::TaggedSymbol + ) + SEMI_ANNUAL = + T.let( + :semi_annual, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::Cadence::TaggedSymbol + ) + MONTHLY = + T.let( + :monthly, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::Cadence::TaggedSymbol + ) + QUARTERLY = + T.let( + :quarterly, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::Cadence::TaggedSymbol + ) + ONE_TIME = + T.let( + :one_time, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::Cadence::TaggedSymbol + ) + CUSTOM = + T.let( + :custom, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::Cadence::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::Cadence::TaggedSymbol + ] + ) + end + def self.values + end + end + + class TieredBpsConfig < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::TieredBpsConfig, + Orb::Internal::AnyHash + ) + end + + # Tiers for a Graduated BPS pricing model, where usage is bucketed into specified + # tiers + sig do + returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::TieredBpsConfig::Tier + ] + ) + end + attr_accessor :tiers + + sig do + params( + tiers: + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::TieredBpsConfig::Tier::OrHash + ] + ).returns(T.attached_class) + end + def self.new( + # Tiers for a Graduated BPS pricing model, where usage is bucketed into specified + # tiers + tiers: + ) + end + + sig do + override.returns( + { + tiers: + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::TieredBpsConfig::Tier + ] + } + ) + end + def to_hash + end + + class Tier < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::TieredBpsConfig::Tier, + Orb::Internal::AnyHash + ) + end + + # Per-event basis point rate + sig { returns(Float) } + attr_accessor :bps + + # Exclusive tier starting value + sig { returns(String) } + attr_accessor :minimum_amount + + # Inclusive tier ending value + sig { returns(T.nilable(String)) } + attr_accessor :maximum_amount + + # Per unit maximum to charge + sig { returns(T.nilable(String)) } + attr_accessor :per_unit_maximum + + sig do + params( + bps: Float, + minimum_amount: String, + maximum_amount: T.nilable(String), + per_unit_maximum: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # Per-event basis point rate + bps:, + # Exclusive tier starting value + minimum_amount:, + # Inclusive tier ending value + maximum_amount: nil, + # Per unit maximum to charge + per_unit_maximum: nil + ) + end + + sig do + override.returns( + { + bps: Float, + minimum_amount: String, + maximum_amount: T.nilable(String), + per_unit_maximum: T.nilable(String) + } + ) + end + def to_hash + end + end + end + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::DimensionalPriceConfiguration, + Orb::Internal::AnyHash + ) + end + + # The list of dimension values matching (in order) the dimensions of the price + # group + sig { returns(T::Array[String]) } + attr_accessor :dimension_values + + # The id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :dimensional_price_group_id + + # The external id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :external_dimensional_price_group_id + + # For dimensional price: specifies a price group and dimension values + sig do + params( + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The list of dimension values matching (in order) the dimensions of the price + # group + dimension_values:, + # The id of the dimensional price group to include this price in + dimensional_price_group_id: nil, + # The external id of the dimensional price group to include this price in + external_dimensional_price_group_id: nil + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + } + ) + end + def to_hash + end + end + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + class Bps < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps, + Orb::Internal::AnyHash + ) + end + + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::BpsConfig + ) + end + attr_reader :bps_config + + sig do + params( + bps_config: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::BpsConfig::OrHash + ).void + end + attr_writer :bps_config + + # The cadence to bill for this price on. + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::Cadence::OrSymbol + ) + end + attr_accessor :cadence + + # The id of the item the price will be associated with. + sig { returns(String) } + attr_accessor :item_id + + sig { returns(Symbol) } + attr_accessor :model_type + + # The name of the price. + sig { returns(String) } + attr_accessor :name + + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + sig { returns(T.nilable(String)) } + attr_accessor :billable_metric_id + + # 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. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :billed_in_advance + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::BillingCycleConfiguration + ) + ) + end + attr_reader :billing_cycle_configuration + + sig do + params( + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::BillingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :billing_cycle_configuration + + # The per unit conversion rate of the price currency to the invoicing currency. + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + sig { returns(T.nilable(String)) } + attr_accessor :currency + + # For dimensional price: specifies a price group and dimension values + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::DimensionalPriceConfiguration + ) + ) + end + attr_reader :dimensional_price_configuration + + sig do + params( + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::DimensionalPriceConfiguration::OrHash + ) + ).void + end + attr_writer :dimensional_price_configuration + + # An alias for the price. + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + # The property used to group this price on an invoice + sig { returns(T.nilable(String)) } + attr_accessor :invoice_grouping_key + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration + ) + ) + end + attr_reader :invoicing_cycle_configuration + + sig do + params( + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :invoicing_cycle_configuration + + # 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`. + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } + attr_accessor :metadata + + sig do + params( + bps_config: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::BpsConfig::OrHash, + cadence: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::Cadence::OrSymbol, + item_id: String, + name: String, + billable_metric_id: T.nilable(String), + billed_in_advance: T.nilable(T::Boolean), + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::BillingCycleConfiguration::OrHash + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::DimensionalPriceConfiguration::OrHash + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration::OrHash + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), + model_type: Symbol + ).returns(T.attached_class) + end + def self.new( + bps_config:, + # The cadence to bill for this price on. + cadence:, + # The id of the item the price will be associated with. + item_id:, + # The name of the price. + name:, + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + billable_metric_id: nil, + # 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. + billed_in_advance: nil, + # For custom cadence: specifies the duration of the billing period in days or + # months. + billing_cycle_configuration: nil, + # The per unit conversion rate of the price currency to the invoicing currency. + conversion_rate: nil, + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + currency: nil, + # For dimensional price: specifies a price group and dimension values + dimensional_price_configuration: nil, + # An alias for the price. + external_price_id: nil, + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + fixed_price_quantity: nil, + # The property used to group this price on an invoice + invoice_grouping_key: nil, + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + invoicing_cycle_configuration: nil, + # 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`. + metadata: nil, + model_type: :bps + ) + end + + sig do + override.returns( + { + bps_config: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::BpsConfig, + cadence: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::Cadence::OrSymbol, + 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::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::BillingCycleConfiguration + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::DimensionalPriceConfiguration + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) + } + ) + end + def to_hash + end + + class BpsConfig < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::BpsConfig, + Orb::Internal::AnyHash + ) + end + + # Basis point take rate per event + sig { returns(Float) } + attr_accessor :bps + + # Optional currency amount maximum to cap spend per event + sig { returns(T.nilable(String)) } + attr_accessor :per_unit_maximum + + sig do + params(bps: Float, per_unit_maximum: T.nilable(String)).returns( + T.attached_class + ) + end + def self.new( + # Basis point take rate per event + bps:, + # Optional currency amount maximum to cap spend per event + per_unit_maximum: nil + ) + end + + sig do + override.returns( + { bps: Float, per_unit_maximum: T.nilable(String) } + ) + end + def to_hash + end + end + + # The cadence to bill for this price on. + module Cadence + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::Cadence + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ANNUAL = + T.let( + :annual, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::Cadence::TaggedSymbol + ) + SEMI_ANNUAL = + T.let( + :semi_annual, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::Cadence::TaggedSymbol + ) + MONTHLY = + T.let( + :monthly, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::Cadence::TaggedSymbol + ) + QUARTERLY = + T.let( + :quarterly, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::Cadence::TaggedSymbol + ) + ONE_TIME = + T.let( + :one_time, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::Cadence::TaggedSymbol + ) + CUSTOM = + T.let( + :custom, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::Cadence::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::Cadence::TaggedSymbol + ] + ) + end + def self.values + end + end + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::BillingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::BillingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::BillingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::BillingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::BillingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::DimensionalPriceConfiguration, + Orb::Internal::AnyHash + ) + end + + # The list of dimension values matching (in order) the dimensions of the price + # group + sig { returns(T::Array[String]) } + attr_accessor :dimension_values + + # The id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :dimensional_price_group_id + + # The external id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :external_dimensional_price_group_id + + # For dimensional price: specifies a price group and dimension values + sig do + params( + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The list of dimension values matching (in order) the dimensions of the price + # group + dimension_values:, + # The id of the dimensional price group to include this price in + dimensional_price_group_id: nil, + # The external id of the dimensional price group to include this price in + external_dimensional_price_group_id: nil + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + } + ) + end + def to_hash + end + end + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + class BulkBps < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps, + Orb::Internal::AnyHash + ) + end + + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BulkBpsConfig + ) + end + attr_reader :bulk_bps_config + + sig do + params( + bulk_bps_config: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BulkBpsConfig::OrHash + ).void + end + attr_writer :bulk_bps_config + + # The cadence to bill for this price on. + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::Cadence::OrSymbol + ) + end + attr_accessor :cadence + + # The id of the item the price will be associated with. + sig { returns(String) } + attr_accessor :item_id + + sig { returns(Symbol) } + attr_accessor :model_type + + # The name of the price. + sig { returns(String) } + attr_accessor :name + + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + sig { returns(T.nilable(String)) } + attr_accessor :billable_metric_id + + # 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. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :billed_in_advance + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration + ) + ) + end + attr_reader :billing_cycle_configuration + + sig do + params( + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :billing_cycle_configuration + + # The per unit conversion rate of the price currency to the invoicing currency. + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + sig { returns(T.nilable(String)) } + attr_accessor :currency + + # For dimensional price: specifies a price group and dimension values + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::DimensionalPriceConfiguration + ) + ) + end + attr_reader :dimensional_price_configuration + + sig do + params( + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::DimensionalPriceConfiguration::OrHash + ) + ).void + end + attr_writer :dimensional_price_configuration + + # An alias for the price. + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + # The property used to group this price on an invoice + sig { returns(T.nilable(String)) } + attr_accessor :invoice_grouping_key + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration + ) + ) + end + attr_reader :invoicing_cycle_configuration + + sig do + params( + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :invoicing_cycle_configuration + + # 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`. + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } + attr_accessor :metadata + + sig do + params( + bulk_bps_config: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BulkBpsConfig::OrHash, + cadence: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::Cadence::OrSymbol, + item_id: String, + name: String, + billable_metric_id: T.nilable(String), + billed_in_advance: T.nilable(T::Boolean), + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration::OrHash + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::DimensionalPriceConfiguration::OrHash + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration::OrHash + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), + model_type: Symbol + ).returns(T.attached_class) + end + def self.new( + bulk_bps_config:, + # The cadence to bill for this price on. + cadence:, + # The id of the item the price will be associated with. + item_id:, + # The name of the price. + name:, + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + billable_metric_id: nil, + # 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. + billed_in_advance: nil, + # For custom cadence: specifies the duration of the billing period in days or + # months. + billing_cycle_configuration: nil, + # The per unit conversion rate of the price currency to the invoicing currency. + conversion_rate: nil, + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + currency: nil, + # For dimensional price: specifies a price group and dimension values + dimensional_price_configuration: nil, + # An alias for the price. + external_price_id: nil, + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + fixed_price_quantity: nil, + # The property used to group this price on an invoice + invoice_grouping_key: nil, + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + invoicing_cycle_configuration: nil, + # 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`. + metadata: nil, + model_type: :bulk_bps + ) + end + + sig do + override.returns( + { + bulk_bps_config: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BulkBpsConfig, + cadence: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::Cadence::OrSymbol, + 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::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::DimensionalPriceConfiguration + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) + } + ) + end + def to_hash + end + + class BulkBpsConfig < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BulkBpsConfig, + Orb::Internal::AnyHash + ) + end + + # Tiers for a bulk BPS pricing model where all usage is aggregated to a single + # tier based on total volume + sig do + returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BulkBpsConfig::Tier + ] + ) + end + attr_accessor :tiers + + sig do + params( + tiers: + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BulkBpsConfig::Tier::OrHash + ] + ).returns(T.attached_class) + end + def self.new( + # Tiers for a bulk BPS pricing model where all usage is aggregated to a single + # tier based on total volume + tiers: + ) + end + + sig do + override.returns( + { + tiers: + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BulkBpsConfig::Tier + ] + } + ) + end + def to_hash + end + + class Tier < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BulkBpsConfig::Tier, + Orb::Internal::AnyHash + ) + end + + # Basis points to rate on + sig { returns(Float) } + attr_accessor :bps + + # Upper bound for tier + sig { returns(T.nilable(String)) } + attr_accessor :maximum_amount + + # The maximum amount to charge for any one event + sig { returns(T.nilable(String)) } + attr_accessor :per_unit_maximum + + sig do + params( + bps: Float, + maximum_amount: T.nilable(String), + per_unit_maximum: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # Basis points to rate on + bps:, + # Upper bound for tier + maximum_amount: nil, + # The maximum amount to charge for any one event + per_unit_maximum: nil + ) + end + + sig do + override.returns( + { + bps: Float, + maximum_amount: T.nilable(String), + per_unit_maximum: T.nilable(String) + } + ) + end + def to_hash + end + end + end + + # The cadence to bill for this price on. + module Cadence + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::Cadence + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ANNUAL = + T.let( + :annual, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::Cadence::TaggedSymbol + ) + SEMI_ANNUAL = + T.let( + :semi_annual, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::Cadence::TaggedSymbol + ) + MONTHLY = + T.let( + :monthly, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::Cadence::TaggedSymbol + ) + QUARTERLY = + T.let( + :quarterly, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::Cadence::TaggedSymbol + ) + ONE_TIME = + T.let( + :one_time, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::Cadence::TaggedSymbol + ) + CUSTOM = + T.let( + :custom, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::Cadence::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::Cadence::TaggedSymbol + ] + ) + end + def self.values + end + end + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::DimensionalPriceConfiguration, + Orb::Internal::AnyHash + ) + end + + # The list of dimension values matching (in order) the dimensions of the price + # group + sig { returns(T::Array[String]) } + attr_accessor :dimension_values + + # The id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :dimensional_price_group_id + + # The external id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :external_dimensional_price_group_id + + # For dimensional price: specifies a price group and dimension values + sig do + params( + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The list of dimension values matching (in order) the dimensions of the price + # group + dimension_values:, + # The id of the dimensional price group to include this price in + dimensional_price_group_id: nil, + # The external id of the dimensional price group to include this price in + external_dimensional_price_group_id: nil + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + } + ) + end + def to_hash + end + end + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + class Bulk < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk, + Orb::Internal::AnyHash + ) + end + + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::BulkConfig + ) + end + attr_reader :bulk_config + + sig do + params( + bulk_config: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::BulkConfig::OrHash + ).void + end + attr_writer :bulk_config + + # The cadence to bill for this price on. + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::Cadence::OrSymbol + ) + end + attr_accessor :cadence + + # The id of the item the price will be associated with. + sig { returns(String) } + attr_accessor :item_id + + sig { returns(Symbol) } + attr_accessor :model_type + + # The name of the price. + sig { returns(String) } + attr_accessor :name + + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + sig { returns(T.nilable(String)) } + attr_accessor :billable_metric_id + + # 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. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :billed_in_advance + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration + ) + ) + end + attr_reader :billing_cycle_configuration + + sig do + params( + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :billing_cycle_configuration + + # The per unit conversion rate of the price currency to the invoicing currency. + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + sig { returns(T.nilable(String)) } + attr_accessor :currency + + # For dimensional price: specifies a price group and dimension values + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::DimensionalPriceConfiguration + ) + ) + end + attr_reader :dimensional_price_configuration + + sig do + params( + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::DimensionalPriceConfiguration::OrHash + ) + ).void + end + attr_writer :dimensional_price_configuration + + # An alias for the price. + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + # The property used to group this price on an invoice + sig { returns(T.nilable(String)) } + attr_accessor :invoice_grouping_key + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration + ) + ) + end + attr_reader :invoicing_cycle_configuration + + sig do + params( + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :invoicing_cycle_configuration + + # 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`. + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } + attr_accessor :metadata + + sig do + params( + bulk_config: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::BulkConfig::OrHash, + cadence: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::Cadence::OrSymbol, + item_id: String, + name: String, + billable_metric_id: T.nilable(String), + billed_in_advance: T.nilable(T::Boolean), + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration::OrHash + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::DimensionalPriceConfiguration::OrHash + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration::OrHash + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), + model_type: Symbol + ).returns(T.attached_class) + end + def self.new( + bulk_config:, + # The cadence to bill for this price on. + cadence:, + # The id of the item the price will be associated with. + item_id:, + # The name of the price. + name:, + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + billable_metric_id: nil, + # 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. + billed_in_advance: nil, + # For custom cadence: specifies the duration of the billing period in days or + # months. + billing_cycle_configuration: nil, + # The per unit conversion rate of the price currency to the invoicing currency. + conversion_rate: nil, + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + currency: nil, + # For dimensional price: specifies a price group and dimension values + dimensional_price_configuration: nil, + # An alias for the price. + external_price_id: nil, + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + fixed_price_quantity: nil, + # The property used to group this price on an invoice + invoice_grouping_key: nil, + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + invoicing_cycle_configuration: nil, + # 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`. + metadata: nil, + model_type: :bulk + ) + end + + sig do + override.returns( + { + bulk_config: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::BulkConfig, + cadence: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::Cadence::OrSymbol, + 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::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::DimensionalPriceConfiguration + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) + } + ) + end + def to_hash + end + + class BulkConfig < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::BulkConfig, + Orb::Internal::AnyHash + ) + end + + # Bulk tiers for rating based on total usage volume + sig do + returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::BulkConfig::Tier + ] + ) + end + attr_accessor :tiers + + sig do + params( + tiers: + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::BulkConfig::Tier::OrHash + ] + ).returns(T.attached_class) + end + def self.new( + # Bulk tiers for rating based on total usage volume + tiers: + ) + end + + sig do + override.returns( + { + tiers: + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::BulkConfig::Tier + ] + } + ) + end + def to_hash + end + + class Tier < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::BulkConfig::Tier, + Orb::Internal::AnyHash + ) + end + + # Amount per unit + sig { returns(String) } + attr_accessor :unit_amount + + # Upper bound for this tier + sig { returns(T.nilable(Float)) } + attr_accessor :maximum_units + + sig do + params( + unit_amount: String, + maximum_units: T.nilable(Float) + ).returns(T.attached_class) + end + def self.new( + # Amount per unit + unit_amount:, + # Upper bound for this tier + maximum_units: nil + ) + end + + sig do + override.returns( + { unit_amount: String, maximum_units: T.nilable(Float) } + ) + end + def to_hash + end + end + end + + # The cadence to bill for this price on. + module Cadence + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::Cadence + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ANNUAL = + T.let( + :annual, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::Cadence::TaggedSymbol + ) + SEMI_ANNUAL = + T.let( + :semi_annual, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::Cadence::TaggedSymbol + ) + MONTHLY = + T.let( + :monthly, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::Cadence::TaggedSymbol + ) + QUARTERLY = + T.let( + :quarterly, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::Cadence::TaggedSymbol + ) + ONE_TIME = + T.let( + :one_time, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::Cadence::TaggedSymbol + ) + CUSTOM = + T.let( + :custom, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::Cadence::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::Cadence::TaggedSymbol + ] + ) + end + def self.values + end + end + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::DimensionalPriceConfiguration, + Orb::Internal::AnyHash + ) + end + + # The list of dimension values matching (in order) the dimensions of the price + # group + sig { returns(T::Array[String]) } + attr_accessor :dimension_values + + # The id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :dimensional_price_group_id + + # The external id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :external_dimensional_price_group_id + + # For dimensional price: specifies a price group and dimension values + sig do + params( + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The list of dimension values matching (in order) the dimensions of the price + # group + dimension_values:, + # The id of the dimensional price group to include this price in + dimensional_price_group_id: nil, + # The external id of the dimensional price group to include this price in + external_dimensional_price_group_id: nil + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + } + ) + end + def to_hash + end + end + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + class ThresholdTotalAmount < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount, + Orb::Internal::AnyHash + ) + end + + # The cadence to bill for this price on. + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::Cadence::OrSymbol + ) + end + attr_accessor :cadence + + # The id of the item the price will be associated with. + sig { returns(String) } + attr_accessor :item_id + + sig { returns(Symbol) } + attr_accessor :model_type + + # The name of the price. + sig { returns(String) } + attr_accessor :name + + sig { returns(T::Hash[Symbol, T.anything]) } + attr_accessor :threshold_total_amount_config + + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + sig { returns(T.nilable(String)) } + attr_accessor :billable_metric_id + + # 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. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :billed_in_advance + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration + ) + ) + end + attr_reader :billing_cycle_configuration + + sig do + params( + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :billing_cycle_configuration + + # The per unit conversion rate of the price currency to the invoicing currency. + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + sig { returns(T.nilable(String)) } + attr_accessor :currency + + # For dimensional price: specifies a price group and dimension values + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration + ) + ) + end + attr_reader :dimensional_price_configuration + + sig do + params( + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration::OrHash + ) + ).void + end + attr_writer :dimensional_price_configuration + + # An alias for the price. + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + # The property used to group this price on an invoice + sig { returns(T.nilable(String)) } + attr_accessor :invoice_grouping_key + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration + ) + ) + end + attr_reader :invoicing_cycle_configuration + + sig do + params( + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :invoicing_cycle_configuration + + # 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`. + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } + attr_accessor :metadata + + sig do + params( + cadence: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::Cadence::OrSymbol, + item_id: String, + name: String, + threshold_total_amount_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::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::OrHash + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration::OrHash + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::OrHash + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), + model_type: Symbol + ).returns(T.attached_class) + end + def self.new( + # The cadence to bill for this price on. + cadence:, + # The id of the item the price will be associated with. + item_id:, + # The name of the price. + name:, + threshold_total_amount_config:, + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + billable_metric_id: nil, + # 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. + billed_in_advance: nil, + # For custom cadence: specifies the duration of the billing period in days or + # months. + billing_cycle_configuration: nil, + # The per unit conversion rate of the price currency to the invoicing currency. + conversion_rate: nil, + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + currency: nil, + # For dimensional price: specifies a price group and dimension values + dimensional_price_configuration: nil, + # An alias for the price. + external_price_id: nil, + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + fixed_price_quantity: nil, + # The property used to group this price on an invoice + invoice_grouping_key: nil, + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + invoicing_cycle_configuration: nil, + # 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`. + metadata: nil, + model_type: :threshold_total_amount + ) + end + + sig do + override.returns( + { + cadence: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::Cadence::OrSymbol, + item_id: String, + model_type: Symbol, + name: String, + threshold_total_amount_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::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) + } + ) + end + def to_hash + end + + # The cadence to bill for this price on. + module Cadence + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::Cadence + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ANNUAL = + T.let( + :annual, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::Cadence::TaggedSymbol + ) + SEMI_ANNUAL = + T.let( + :semi_annual, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::Cadence::TaggedSymbol + ) + MONTHLY = + T.let( + :monthly, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::Cadence::TaggedSymbol + ) + QUARTERLY = + T.let( + :quarterly, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::Cadence::TaggedSymbol + ) + ONE_TIME = + T.let( + :one_time, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::Cadence::TaggedSymbol + ) + CUSTOM = + T.let( + :custom, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::Cadence::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::Cadence::TaggedSymbol + ] + ) + end + def self.values + end + end + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration, + Orb::Internal::AnyHash + ) + end + + # The list of dimension values matching (in order) the dimensions of the price + # group + sig { returns(T::Array[String]) } + attr_accessor :dimension_values + + # The id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :dimensional_price_group_id + + # The external id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :external_dimensional_price_group_id + + # For dimensional price: specifies a price group and dimension values + sig do + params( + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The list of dimension values matching (in order) the dimensions of the price + # group + dimension_values:, + # The id of the dimensional price group to include this price in + dimensional_price_group_id: nil, + # The external id of the dimensional price group to include this price in + external_dimensional_price_group_id: nil + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + } + ) + end + def to_hash + end + end + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + class TieredPackage < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage, + Orb::Internal::AnyHash + ) + end + + # The cadence to bill for this price on. + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::Cadence::OrSymbol + ) + end + attr_accessor :cadence + + # The id of the item the price will be associated with. + sig { returns(String) } + attr_accessor :item_id + + sig { returns(Symbol) } + attr_accessor :model_type + + # The name of the price. + sig { returns(String) } + attr_accessor :name + + sig { returns(T::Hash[Symbol, T.anything]) } + attr_accessor :tiered_package_config + + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + sig { returns(T.nilable(String)) } + attr_accessor :billable_metric_id + + # 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. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :billed_in_advance + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration + ) + ) + end + attr_reader :billing_cycle_configuration + + sig do + params( + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :billing_cycle_configuration + + # The per unit conversion rate of the price currency to the invoicing currency. + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + sig { returns(T.nilable(String)) } + attr_accessor :currency + + # For dimensional price: specifies a price group and dimension values + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::DimensionalPriceConfiguration + ) + ) + end + attr_reader :dimensional_price_configuration + + sig do + params( + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::DimensionalPriceConfiguration::OrHash + ) + ).void + end + attr_writer :dimensional_price_configuration + + # An alias for the price. + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + # The property used to group this price on an invoice + sig { returns(T.nilable(String)) } + attr_accessor :invoice_grouping_key + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration + ) + ) + end + attr_reader :invoicing_cycle_configuration + + sig do + params( + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :invoicing_cycle_configuration + + # 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`. + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } + attr_accessor :metadata + + sig do + params( + cadence: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::Cadence::OrSymbol, + item_id: String, + name: String, + tiered_package_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::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration::OrHash + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::DimensionalPriceConfiguration::OrHash + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration::OrHash + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), + model_type: Symbol + ).returns(T.attached_class) + end + def self.new( + # The cadence to bill for this price on. + cadence:, + # The id of the item the price will be associated with. + item_id:, + # The name of the price. + name:, + tiered_package_config:, + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + billable_metric_id: nil, + # 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. + billed_in_advance: nil, + # For custom cadence: specifies the duration of the billing period in days or + # months. + billing_cycle_configuration: nil, + # The per unit conversion rate of the price currency to the invoicing currency. + conversion_rate: nil, + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + currency: nil, + # For dimensional price: specifies a price group and dimension values + dimensional_price_configuration: nil, + # An alias for the price. + external_price_id: nil, + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + fixed_price_quantity: nil, + # The property used to group this price on an invoice + invoice_grouping_key: nil, + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + invoicing_cycle_configuration: nil, + # 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`. + metadata: nil, + model_type: :tiered_package + ) + end + + sig do + override.returns( + { + cadence: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::Cadence::OrSymbol, + item_id: String, + model_type: Symbol, + name: String, + tiered_package_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::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::DimensionalPriceConfiguration + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) + } + ) + end + def to_hash + end + + # The cadence to bill for this price on. + module Cadence + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::Cadence + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ANNUAL = + T.let( + :annual, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::Cadence::TaggedSymbol + ) + SEMI_ANNUAL = + T.let( + :semi_annual, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::Cadence::TaggedSymbol + ) + MONTHLY = + T.let( + :monthly, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::Cadence::TaggedSymbol + ) + QUARTERLY = + T.let( + :quarterly, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::Cadence::TaggedSymbol + ) + ONE_TIME = + T.let( + :one_time, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::Cadence::TaggedSymbol + ) + CUSTOM = + T.let( + :custom, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::Cadence::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::Cadence::TaggedSymbol + ] + ) + end + def self.values + end + end + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::DimensionalPriceConfiguration, + Orb::Internal::AnyHash + ) + end + + # The list of dimension values matching (in order) the dimensions of the price + # group + sig { returns(T::Array[String]) } + attr_accessor :dimension_values + + # The id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :dimensional_price_group_id + + # The external id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :external_dimensional_price_group_id + + # For dimensional price: specifies a price group and dimension values + sig do + params( + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The list of dimension values matching (in order) the dimensions of the price + # group + dimension_values:, + # The id of the dimensional price group to include this price in + dimensional_price_group_id: nil, + # The external id of the dimensional price group to include this price in + external_dimensional_price_group_id: nil + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + } + ) + end + def to_hash + end + end + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + class TieredWithMinimum < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum, + Orb::Internal::AnyHash + ) + end + + # The cadence to bill for this price on. + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::Cadence::OrSymbol + ) + end + attr_accessor :cadence + + # The id of the item the price will be associated with. + sig { returns(String) } + attr_accessor :item_id + + sig { returns(Symbol) } + attr_accessor :model_type + + # The name of the price. + sig { returns(String) } + attr_accessor :name + + sig { returns(T::Hash[Symbol, T.anything]) } + attr_accessor :tiered_with_minimum_config + + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + sig { returns(T.nilable(String)) } + attr_accessor :billable_metric_id + + # 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. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :billed_in_advance + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration + ) + ) + end + attr_reader :billing_cycle_configuration + + sig do + params( + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :billing_cycle_configuration + + # The per unit conversion rate of the price currency to the invoicing currency. + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + sig { returns(T.nilable(String)) } + attr_accessor :currency + + # For dimensional price: specifies a price group and dimension values + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::DimensionalPriceConfiguration + ) + ) + end + attr_reader :dimensional_price_configuration + + sig do + params( + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::DimensionalPriceConfiguration::OrHash + ) + ).void + end + attr_writer :dimensional_price_configuration + + # An alias for the price. + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + # The property used to group this price on an invoice + sig { returns(T.nilable(String)) } + attr_accessor :invoice_grouping_key + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration + ) + ) + end + attr_reader :invoicing_cycle_configuration + + sig do + params( + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :invoicing_cycle_configuration + + # 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`. + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } + attr_accessor :metadata + + sig do + params( + cadence: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::Cadence::OrSymbol, + item_id: String, + name: String, + tiered_with_minimum_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::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration::OrHash + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::DimensionalPriceConfiguration::OrHash + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::OrHash + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), + model_type: Symbol + ).returns(T.attached_class) + end + def self.new( + # The cadence to bill for this price on. + cadence:, + # The id of the item the price will be associated with. + item_id:, + # The name of the price. + name:, + tiered_with_minimum_config:, + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + billable_metric_id: nil, + # 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. + billed_in_advance: nil, + # For custom cadence: specifies the duration of the billing period in days or + # months. + billing_cycle_configuration: nil, + # The per unit conversion rate of the price currency to the invoicing currency. + conversion_rate: nil, + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + currency: nil, + # For dimensional price: specifies a price group and dimension values + dimensional_price_configuration: nil, + # An alias for the price. + external_price_id: nil, + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + fixed_price_quantity: nil, + # The property used to group this price on an invoice + invoice_grouping_key: nil, + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + invoicing_cycle_configuration: nil, + # 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`. + metadata: nil, + model_type: :tiered_with_minimum + ) + end + + sig do + override.returns( + { + cadence: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::Cadence::OrSymbol, + item_id: String, + model_type: Symbol, + name: String, + tiered_with_minimum_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::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::DimensionalPriceConfiguration + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) + } + ) + end + def to_hash + end + + # The cadence to bill for this price on. + module Cadence + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::Cadence + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ANNUAL = + T.let( + :annual, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::Cadence::TaggedSymbol + ) + SEMI_ANNUAL = + T.let( + :semi_annual, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::Cadence::TaggedSymbol + ) + MONTHLY = + T.let( + :monthly, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::Cadence::TaggedSymbol + ) + QUARTERLY = + T.let( + :quarterly, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::Cadence::TaggedSymbol + ) + ONE_TIME = + T.let( + :one_time, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::Cadence::TaggedSymbol + ) + CUSTOM = + T.let( + :custom, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::Cadence::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::Cadence::TaggedSymbol + ] + ) + end + def self.values + end + end + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::DimensionalPriceConfiguration, + Orb::Internal::AnyHash + ) + end + + # The list of dimension values matching (in order) the dimensions of the price + # group + sig { returns(T::Array[String]) } + attr_accessor :dimension_values + + # The id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :dimensional_price_group_id + + # The external id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :external_dimensional_price_group_id + + # For dimensional price: specifies a price group and dimension values + sig do + params( + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The list of dimension values matching (in order) the dimensions of the price + # group + dimension_values:, + # The id of the dimensional price group to include this price in + dimensional_price_group_id: nil, + # The external id of the dimensional price group to include this price in + external_dimensional_price_group_id: nil + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + } + ) + end + def to_hash + end + end + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + class UnitWithPercent < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent, + Orb::Internal::AnyHash + ) + end + + # The cadence to bill for this price on. + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::Cadence::OrSymbol + ) + end + attr_accessor :cadence + + # The id of the item the price will be associated with. + sig { returns(String) } + attr_accessor :item_id + + sig { returns(Symbol) } + attr_accessor :model_type + + # The name of the price. + sig { returns(String) } + attr_accessor :name + + sig { returns(T::Hash[Symbol, T.anything]) } + attr_accessor :unit_with_percent_config + + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + sig { returns(T.nilable(String)) } + attr_accessor :billable_metric_id + + # 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. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :billed_in_advance + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration + ) + ) + end + attr_reader :billing_cycle_configuration + + sig do + params( + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :billing_cycle_configuration + + # The per unit conversion rate of the price currency to the invoicing currency. + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + sig { returns(T.nilable(String)) } + attr_accessor :currency + + # For dimensional price: specifies a price group and dimension values + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::DimensionalPriceConfiguration + ) + ) + end + attr_reader :dimensional_price_configuration + + sig do + params( + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::DimensionalPriceConfiguration::OrHash + ) + ).void + end + attr_writer :dimensional_price_configuration + + # An alias for the price. + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + # The property used to group this price on an invoice + sig { returns(T.nilable(String)) } + attr_accessor :invoice_grouping_key + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration + ) + ) + end + attr_reader :invoicing_cycle_configuration + + sig do + params( + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :invoicing_cycle_configuration + + # 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`. + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } + attr_accessor :metadata + + sig do + params( + cadence: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::Cadence::OrSymbol, + item_id: String, + name: String, + unit_with_percent_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::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration::OrHash + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::DimensionalPriceConfiguration::OrHash + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration::OrHash + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), + model_type: Symbol + ).returns(T.attached_class) + end + def self.new( + # The cadence to bill for this price on. + cadence:, + # The id of the item the price will be associated with. + item_id:, + # The name of the price. + name:, + unit_with_percent_config:, + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + billable_metric_id: nil, + # 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. + billed_in_advance: nil, + # For custom cadence: specifies the duration of the billing period in days or + # months. + billing_cycle_configuration: nil, + # The per unit conversion rate of the price currency to the invoicing currency. + conversion_rate: nil, + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + currency: nil, + # For dimensional price: specifies a price group and dimension values + dimensional_price_configuration: nil, + # An alias for the price. + external_price_id: nil, + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + fixed_price_quantity: nil, + # The property used to group this price on an invoice + invoice_grouping_key: nil, + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + invoicing_cycle_configuration: nil, + # 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`. + metadata: nil, + model_type: :unit_with_percent + ) + end + + sig do + override.returns( + { + cadence: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::Cadence::OrSymbol, + item_id: String, + model_type: Symbol, + name: String, + unit_with_percent_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::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::DimensionalPriceConfiguration + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) + } + ) + end + def to_hash + end + + # The cadence to bill for this price on. + module Cadence + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::Cadence + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ANNUAL = + T.let( + :annual, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::Cadence::TaggedSymbol + ) + SEMI_ANNUAL = + T.let( + :semi_annual, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::Cadence::TaggedSymbol + ) + MONTHLY = + T.let( + :monthly, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::Cadence::TaggedSymbol + ) + QUARTERLY = + T.let( + :quarterly, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::Cadence::TaggedSymbol + ) + ONE_TIME = + T.let( + :one_time, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::Cadence::TaggedSymbol + ) + CUSTOM = + T.let( + :custom, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::Cadence::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::Cadence::TaggedSymbol + ] + ) + end + def self.values + end + end + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::DimensionalPriceConfiguration, + Orb::Internal::AnyHash + ) + end + + # The list of dimension values matching (in order) the dimensions of the price + # group + sig { returns(T::Array[String]) } + attr_accessor :dimension_values + + # The id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :dimensional_price_group_id + + # The external id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :external_dimensional_price_group_id + + # For dimensional price: specifies a price group and dimension values + sig do + params( + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The list of dimension values matching (in order) the dimensions of the price + # group + dimension_values:, + # The id of the dimensional price group to include this price in + dimensional_price_group_id: nil, + # The external id of the dimensional price group to include this price in + external_dimensional_price_group_id: nil + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + } + ) + end + def to_hash + end + end + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + class PackageWithAllocation < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation, + Orb::Internal::AnyHash + ) + end + + # The cadence to bill for this price on. + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::Cadence::OrSymbol + ) + end + attr_accessor :cadence + + # The id of the item the price will be associated with. + sig { returns(String) } + attr_accessor :item_id + + sig { returns(Symbol) } + attr_accessor :model_type + + # The name of the price. + sig { returns(String) } + attr_accessor :name + + sig { returns(T::Hash[Symbol, T.anything]) } + attr_accessor :package_with_allocation_config + + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + sig { returns(T.nilable(String)) } + attr_accessor :billable_metric_id + + # 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. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :billed_in_advance + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration + ) + ) + end + attr_reader :billing_cycle_configuration + + sig do + params( + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :billing_cycle_configuration + + # The per unit conversion rate of the price currency to the invoicing currency. + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + sig { returns(T.nilable(String)) } + attr_accessor :currency + + # For dimensional price: specifies a price group and dimension values + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::DimensionalPriceConfiguration + ) + ) + end + attr_reader :dimensional_price_configuration + + sig do + params( + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::DimensionalPriceConfiguration::OrHash + ) + ).void + end + attr_writer :dimensional_price_configuration + + # An alias for the price. + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + # The property used to group this price on an invoice + sig { returns(T.nilable(String)) } + attr_accessor :invoice_grouping_key + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration + ) + ) + end + attr_reader :invoicing_cycle_configuration + + sig do + params( + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :invoicing_cycle_configuration + + # 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`. + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } + attr_accessor :metadata + + sig do + params( + cadence: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::Cadence::OrSymbol, + item_id: String, + name: String, + package_with_allocation_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::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration::OrHash + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::DimensionalPriceConfiguration::OrHash + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::OrHash + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), + model_type: Symbol + ).returns(T.attached_class) + end + def self.new( + # The cadence to bill for this price on. + cadence:, + # The id of the item the price will be associated with. + item_id:, + # The name of the price. + name:, + package_with_allocation_config:, + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + billable_metric_id: nil, + # 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. + billed_in_advance: nil, + # For custom cadence: specifies the duration of the billing period in days or + # months. + billing_cycle_configuration: nil, + # The per unit conversion rate of the price currency to the invoicing currency. + conversion_rate: nil, + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + currency: nil, + # For dimensional price: specifies a price group and dimension values + dimensional_price_configuration: nil, + # An alias for the price. + external_price_id: nil, + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + fixed_price_quantity: nil, + # The property used to group this price on an invoice + invoice_grouping_key: nil, + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + invoicing_cycle_configuration: nil, + # 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`. + metadata: nil, + model_type: :package_with_allocation + ) + end + + sig do + override.returns( + { + cadence: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::Cadence::OrSymbol, + item_id: String, + model_type: Symbol, + name: String, + package_with_allocation_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::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::DimensionalPriceConfiguration + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) + } + ) + end + def to_hash + end + + # The cadence to bill for this price on. + module Cadence + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::Cadence + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ANNUAL = + T.let( + :annual, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::Cadence::TaggedSymbol + ) + SEMI_ANNUAL = + T.let( + :semi_annual, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::Cadence::TaggedSymbol + ) + MONTHLY = + T.let( + :monthly, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::Cadence::TaggedSymbol + ) + QUARTERLY = + T.let( + :quarterly, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::Cadence::TaggedSymbol + ) + ONE_TIME = + T.let( + :one_time, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::Cadence::TaggedSymbol + ) + CUSTOM = + T.let( + :custom, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::Cadence::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::Cadence::TaggedSymbol + ] + ) + end + def self.values + end + end + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::DimensionalPriceConfiguration, + Orb::Internal::AnyHash + ) + end + + # The list of dimension values matching (in order) the dimensions of the price + # group + sig { returns(T::Array[String]) } + attr_accessor :dimension_values + + # The id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :dimensional_price_group_id + + # The external id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :external_dimensional_price_group_id + + # For dimensional price: specifies a price group and dimension values + sig do + params( + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The list of dimension values matching (in order) the dimensions of the price + # group + dimension_values:, + # The id of the dimensional price group to include this price in + dimensional_price_group_id: nil, + # The external id of the dimensional price group to include this price in + external_dimensional_price_group_id: nil + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + } + ) + end + def to_hash + end + end + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + class TieredWithProration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration, + Orb::Internal::AnyHash + ) + end + + # The cadence to bill for this price on. + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::Cadence::OrSymbol + ) + end + attr_accessor :cadence + + # The id of the item the price will be associated with. + sig { returns(String) } + attr_accessor :item_id + + sig { returns(Symbol) } + attr_accessor :model_type + + # The name of the price. + sig { returns(String) } + attr_accessor :name + + sig { returns(T::Hash[Symbol, T.anything]) } + attr_accessor :tiered_with_proration_config + + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + sig { returns(T.nilable(String)) } + attr_accessor :billable_metric_id + + # 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. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :billed_in_advance + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration + ) + ) + end + attr_reader :billing_cycle_configuration + + sig do + params( + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :billing_cycle_configuration + + # The per unit conversion rate of the price currency to the invoicing currency. + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + sig { returns(T.nilable(String)) } + attr_accessor :currency + + # For dimensional price: specifies a price group and dimension values + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::DimensionalPriceConfiguration + ) + ) + end + attr_reader :dimensional_price_configuration + + sig do + params( + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::DimensionalPriceConfiguration::OrHash + ) + ).void + end + attr_writer :dimensional_price_configuration + + # An alias for the price. + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + # The property used to group this price on an invoice + sig { returns(T.nilable(String)) } + attr_accessor :invoice_grouping_key + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration + ) + ) + end + attr_reader :invoicing_cycle_configuration + + sig do + params( + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :invoicing_cycle_configuration + + # 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`. + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } + attr_accessor :metadata + + sig do + params( + cadence: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::Cadence::OrSymbol, + item_id: String, + name: String, + tiered_with_proration_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::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration::OrHash + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::DimensionalPriceConfiguration::OrHash + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration::OrHash + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), + model_type: Symbol + ).returns(T.attached_class) + end + def self.new( + # The cadence to bill for this price on. + cadence:, + # The id of the item the price will be associated with. + item_id:, + # The name of the price. + name:, + tiered_with_proration_config:, + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + billable_metric_id: nil, + # 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. + billed_in_advance: nil, + # For custom cadence: specifies the duration of the billing period in days or + # months. + billing_cycle_configuration: nil, + # The per unit conversion rate of the price currency to the invoicing currency. + conversion_rate: nil, + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + currency: nil, + # For dimensional price: specifies a price group and dimension values + dimensional_price_configuration: nil, + # An alias for the price. + external_price_id: nil, + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + fixed_price_quantity: nil, + # The property used to group this price on an invoice + invoice_grouping_key: nil, + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + invoicing_cycle_configuration: nil, + # 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`. + metadata: nil, + model_type: :tiered_with_proration + ) + end + + sig do + override.returns( + { + cadence: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::Cadence::OrSymbol, + item_id: String, + model_type: Symbol, + name: String, + tiered_with_proration_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::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::DimensionalPriceConfiguration + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) + } + ) + end + def to_hash + end + + # The cadence to bill for this price on. + module Cadence + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::Cadence + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ANNUAL = + T.let( + :annual, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::Cadence::TaggedSymbol + ) + SEMI_ANNUAL = + T.let( + :semi_annual, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::Cadence::TaggedSymbol + ) + MONTHLY = + T.let( + :monthly, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::Cadence::TaggedSymbol + ) + QUARTERLY = + T.let( + :quarterly, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::Cadence::TaggedSymbol + ) + ONE_TIME = + T.let( + :one_time, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::Cadence::TaggedSymbol + ) + CUSTOM = + T.let( + :custom, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::Cadence::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::Cadence::TaggedSymbol + ] + ) + end + def self.values + end + end + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::DimensionalPriceConfiguration, + Orb::Internal::AnyHash + ) + end + + # The list of dimension values matching (in order) the dimensions of the price + # group + sig { returns(T::Array[String]) } + attr_accessor :dimension_values + + # The id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :dimensional_price_group_id + + # The external id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :external_dimensional_price_group_id + + # For dimensional price: specifies a price group and dimension values + sig do + params( + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The list of dimension values matching (in order) the dimensions of the price + # group + dimension_values:, + # The id of the dimensional price group to include this price in + dimensional_price_group_id: nil, + # The external id of the dimensional price group to include this price in + external_dimensional_price_group_id: nil + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + } + ) + end + def to_hash + end + end + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + class UnitWithProration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration, + Orb::Internal::AnyHash + ) + end + + # The cadence to bill for this price on. + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::Cadence::OrSymbol + ) + end + attr_accessor :cadence + + # The id of the item the price will be associated with. + sig { returns(String) } + attr_accessor :item_id + + sig { returns(Symbol) } + attr_accessor :model_type + + # The name of the price. + sig { returns(String) } + attr_accessor :name + + sig { returns(T::Hash[Symbol, T.anything]) } + attr_accessor :unit_with_proration_config + + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + sig { returns(T.nilable(String)) } + attr_accessor :billable_metric_id + + # 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. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :billed_in_advance + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration + ) + ) + end + attr_reader :billing_cycle_configuration + + sig do + params( + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :billing_cycle_configuration + + # The per unit conversion rate of the price currency to the invoicing currency. + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + sig { returns(T.nilable(String)) } + attr_accessor :currency + + # For dimensional price: specifies a price group and dimension values + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::DimensionalPriceConfiguration + ) + ) + end + attr_reader :dimensional_price_configuration + + sig do + params( + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::DimensionalPriceConfiguration::OrHash + ) + ).void + end + attr_writer :dimensional_price_configuration + + # An alias for the price. + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + # The property used to group this price on an invoice + sig { returns(T.nilable(String)) } + attr_accessor :invoice_grouping_key + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration + ) + ) + end + attr_reader :invoicing_cycle_configuration + + sig do + params( + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :invoicing_cycle_configuration + + # 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`. + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } + attr_accessor :metadata + + sig do + params( + cadence: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::Cadence::OrSymbol, + item_id: String, + name: String, + unit_with_proration_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::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration::OrHash + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::DimensionalPriceConfiguration::OrHash + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration::OrHash + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), + model_type: Symbol + ).returns(T.attached_class) + end + def self.new( + # The cadence to bill for this price on. + cadence:, + # The id of the item the price will be associated with. + item_id:, + # The name of the price. + name:, + unit_with_proration_config:, + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + billable_metric_id: nil, + # 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. + billed_in_advance: nil, + # For custom cadence: specifies the duration of the billing period in days or + # months. + billing_cycle_configuration: nil, + # The per unit conversion rate of the price currency to the invoicing currency. + conversion_rate: nil, + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + currency: nil, + # For dimensional price: specifies a price group and dimension values + dimensional_price_configuration: nil, + # An alias for the price. + external_price_id: nil, + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + fixed_price_quantity: nil, + # The property used to group this price on an invoice + invoice_grouping_key: nil, + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + invoicing_cycle_configuration: nil, + # 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`. + metadata: nil, + model_type: :unit_with_proration + ) + end + + sig do + override.returns( + { + cadence: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::Cadence::OrSymbol, + item_id: String, + model_type: Symbol, + name: String, + unit_with_proration_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::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::DimensionalPriceConfiguration + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) + } + ) + end + def to_hash + end + + # The cadence to bill for this price on. + module Cadence + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::Cadence + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ANNUAL = + T.let( + :annual, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::Cadence::TaggedSymbol + ) + SEMI_ANNUAL = + T.let( + :semi_annual, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::Cadence::TaggedSymbol + ) + MONTHLY = + T.let( + :monthly, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::Cadence::TaggedSymbol + ) + QUARTERLY = + T.let( + :quarterly, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::Cadence::TaggedSymbol + ) + ONE_TIME = + T.let( + :one_time, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::Cadence::TaggedSymbol + ) + CUSTOM = + T.let( + :custom, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::Cadence::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::Cadence::TaggedSymbol + ] + ) + end + def self.values + end + end + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::DimensionalPriceConfiguration, + Orb::Internal::AnyHash + ) + end + + # The list of dimension values matching (in order) the dimensions of the price + # group + sig { returns(T::Array[String]) } + attr_accessor :dimension_values + + # The id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :dimensional_price_group_id + + # The external id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :external_dimensional_price_group_id + + # For dimensional price: specifies a price group and dimension values + sig do + params( + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The list of dimension values matching (in order) the dimensions of the price + # group + dimension_values:, + # The id of the dimensional price group to include this price in + dimensional_price_group_id: nil, + # The external id of the dimensional price group to include this price in + external_dimensional_price_group_id: nil + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + } + ) + end + def to_hash + end + end + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + class GroupedAllocation < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation, + Orb::Internal::AnyHash + ) + end + + # The cadence to bill for this price on. + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::Cadence::OrSymbol + ) + end + attr_accessor :cadence + + sig { returns(T::Hash[Symbol, T.anything]) } + attr_accessor :grouped_allocation_config + + # The id of the item the price will be associated with. + sig { returns(String) } + attr_accessor :item_id + + sig { returns(Symbol) } + attr_accessor :model_type + + # The name of the price. + sig { returns(String) } + attr_accessor :name + + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + sig { returns(T.nilable(String)) } + attr_accessor :billable_metric_id + + # 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. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :billed_in_advance + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration + ) + ) + end + attr_reader :billing_cycle_configuration + + sig do + params( + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :billing_cycle_configuration + + # The per unit conversion rate of the price currency to the invoicing currency. + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + sig { returns(T.nilable(String)) } + attr_accessor :currency + + # For dimensional price: specifies a price group and dimension values + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::DimensionalPriceConfiguration + ) + ) + end + attr_reader :dimensional_price_configuration + + sig do + params( + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::DimensionalPriceConfiguration::OrHash + ) + ).void + end + attr_writer :dimensional_price_configuration + + # An alias for the price. + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + # The property used to group this price on an invoice + sig { returns(T.nilable(String)) } + attr_accessor :invoice_grouping_key + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration + ) + ) + end + attr_reader :invoicing_cycle_configuration + + sig do + params( + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :invoicing_cycle_configuration + + # 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`. + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } + attr_accessor :metadata + + sig do + params( + cadence: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::Cadence::OrSymbol, + grouped_allocation_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::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration::OrHash + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::DimensionalPriceConfiguration::OrHash + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration::OrHash + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), + model_type: Symbol + ).returns(T.attached_class) + end + def self.new( + # The cadence to bill for this price on. + cadence:, + grouped_allocation_config:, + # The id of the item the price will be associated with. + item_id:, + # The name of the price. + name:, + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + billable_metric_id: nil, + # 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. + billed_in_advance: nil, + # For custom cadence: specifies the duration of the billing period in days or + # months. + billing_cycle_configuration: nil, + # The per unit conversion rate of the price currency to the invoicing currency. + conversion_rate: nil, + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + currency: nil, + # For dimensional price: specifies a price group and dimension values + dimensional_price_configuration: nil, + # An alias for the price. + external_price_id: nil, + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + fixed_price_quantity: nil, + # The property used to group this price on an invoice + invoice_grouping_key: nil, + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + invoicing_cycle_configuration: nil, + # 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`. + metadata: nil, + model_type: :grouped_allocation + ) + end + + sig do + override.returns( + { + cadence: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::Cadence::OrSymbol, + grouped_allocation_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::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::DimensionalPriceConfiguration + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) + } + ) + end + def to_hash + end + + # The cadence to bill for this price on. + module Cadence + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::Cadence + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ANNUAL = + T.let( + :annual, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::Cadence::TaggedSymbol + ) + SEMI_ANNUAL = + T.let( + :semi_annual, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::Cadence::TaggedSymbol + ) + MONTHLY = + T.let( + :monthly, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::Cadence::TaggedSymbol + ) + QUARTERLY = + T.let( + :quarterly, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::Cadence::TaggedSymbol + ) + ONE_TIME = + T.let( + :one_time, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::Cadence::TaggedSymbol + ) + CUSTOM = + T.let( + :custom, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::Cadence::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::Cadence::TaggedSymbol + ] + ) + end + def self.values + end + end + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::DimensionalPriceConfiguration, + Orb::Internal::AnyHash + ) + end + + # The list of dimension values matching (in order) the dimensions of the price + # group + sig { returns(T::Array[String]) } + attr_accessor :dimension_values + + # The id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :dimensional_price_group_id + + # The external id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :external_dimensional_price_group_id + + # For dimensional price: specifies a price group and dimension values + sig do + params( + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The list of dimension values matching (in order) the dimensions of the price + # group + dimension_values:, + # The id of the dimensional price group to include this price in + dimensional_price_group_id: nil, + # The external id of the dimensional price group to include this price in + external_dimensional_price_group_id: nil + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + } + ) + end + def to_hash + end + end + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + class GroupedWithProratedMinimum < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum, + Orb::Internal::AnyHash + ) + end + + # The cadence to bill for this price on. + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::Cadence::OrSymbol + ) + end + attr_accessor :cadence + + sig { returns(T::Hash[Symbol, T.anything]) } + attr_accessor :grouped_with_prorated_minimum_config + + # The id of the item the price will be associated with. + sig { returns(String) } + attr_accessor :item_id + + sig { returns(Symbol) } + attr_accessor :model_type + + # The name of the price. + sig { returns(String) } + attr_accessor :name + + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + sig { returns(T.nilable(String)) } + attr_accessor :billable_metric_id + + # 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. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :billed_in_advance + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration + ) + ) + end + attr_reader :billing_cycle_configuration + + sig do + params( + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :billing_cycle_configuration + + # The per unit conversion rate of the price currency to the invoicing currency. + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + sig { returns(T.nilable(String)) } + attr_accessor :currency + + # For dimensional price: specifies a price group and dimension values + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration + ) + ) + end + attr_reader :dimensional_price_configuration + + sig do + params( + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration::OrHash + ) + ).void + end + attr_writer :dimensional_price_configuration + + # An alias for the price. + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + # The property used to group this price on an invoice + sig { returns(T.nilable(String)) } + attr_accessor :invoice_grouping_key + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration + ) + ) + end + attr_reader :invoicing_cycle_configuration + + sig do + params( + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :invoicing_cycle_configuration + + # 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`. + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } + attr_accessor :metadata + + sig do + params( + cadence: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::Cadence::OrSymbol, + grouped_with_prorated_minimum_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::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::OrHash + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration::OrHash + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::OrHash + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), + model_type: Symbol + ).returns(T.attached_class) + end + def self.new( + # The cadence to bill for this price on. + cadence:, + grouped_with_prorated_minimum_config:, + # The id of the item the price will be associated with. + item_id:, + # The name of the price. + name:, + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + billable_metric_id: nil, + # 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. + billed_in_advance: nil, + # For custom cadence: specifies the duration of the billing period in days or + # months. + billing_cycle_configuration: nil, + # The per unit conversion rate of the price currency to the invoicing currency. + conversion_rate: nil, + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + currency: nil, + # For dimensional price: specifies a price group and dimension values + dimensional_price_configuration: nil, + # An alias for the price. + external_price_id: nil, + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + fixed_price_quantity: nil, + # The property used to group this price on an invoice + invoice_grouping_key: nil, + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + invoicing_cycle_configuration: nil, + # 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`. + metadata: nil, + model_type: :grouped_with_prorated_minimum + ) + end + + sig do + override.returns( + { + cadence: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::Cadence::OrSymbol, + grouped_with_prorated_minimum_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::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) + } + ) + end + def to_hash + end + + # The cadence to bill for this price on. + module Cadence + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::Cadence + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ANNUAL = + T.let( + :annual, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::Cadence::TaggedSymbol + ) + SEMI_ANNUAL = + T.let( + :semi_annual, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::Cadence::TaggedSymbol + ) + MONTHLY = + T.let( + :monthly, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::Cadence::TaggedSymbol + ) + QUARTERLY = + T.let( + :quarterly, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::Cadence::TaggedSymbol + ) + ONE_TIME = + T.let( + :one_time, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::Cadence::TaggedSymbol + ) + CUSTOM = + T.let( + :custom, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::Cadence::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::Cadence::TaggedSymbol + ] + ) + end + def self.values + end + end + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration, + Orb::Internal::AnyHash + ) + end + + # The list of dimension values matching (in order) the dimensions of the price + # group + sig { returns(T::Array[String]) } + attr_accessor :dimension_values + + # The id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :dimensional_price_group_id + + # The external id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :external_dimensional_price_group_id + + # For dimensional price: specifies a price group and dimension values + sig do + params( + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The list of dimension values matching (in order) the dimensions of the price + # group + dimension_values:, + # The id of the dimensional price group to include this price in + dimensional_price_group_id: nil, + # The external id of the dimensional price group to include this price in + external_dimensional_price_group_id: nil + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + } + ) + end + def to_hash + end + end + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + class GroupedWithMeteredMinimum < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum, + Orb::Internal::AnyHash + ) + end + + # The cadence to bill for this price on. + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::Cadence::OrSymbol + ) + end + attr_accessor :cadence + + sig { returns(T::Hash[Symbol, T.anything]) } + attr_accessor :grouped_with_metered_minimum_config + + # The id of the item the price will be associated with. + sig { returns(String) } + attr_accessor :item_id + + sig { returns(Symbol) } + attr_accessor :model_type + + # The name of the price. + sig { returns(String) } + attr_accessor :name + + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + sig { returns(T.nilable(String)) } + attr_accessor :billable_metric_id + + # 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. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :billed_in_advance + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration + ) + ) + end + attr_reader :billing_cycle_configuration + + sig do + params( + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :billing_cycle_configuration + + # The per unit conversion rate of the price currency to the invoicing currency. + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + sig { returns(T.nilable(String)) } + attr_accessor :currency + + # For dimensional price: specifies a price group and dimension values + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration + ) + ) + end + attr_reader :dimensional_price_configuration + + sig do + params( + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration::OrHash + ) + ).void + end + attr_writer :dimensional_price_configuration + + # An alias for the price. + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + # The property used to group this price on an invoice + sig { returns(T.nilable(String)) } + attr_accessor :invoice_grouping_key + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration + ) + ) + end + attr_reader :invoicing_cycle_configuration + + sig do + params( + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :invoicing_cycle_configuration + + # 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`. + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } + attr_accessor :metadata + + sig do + params( + cadence: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::Cadence::OrSymbol, + grouped_with_metered_minimum_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::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::OrHash + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration::OrHash + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::OrHash + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), + model_type: Symbol + ).returns(T.attached_class) + end + def self.new( + # The cadence to bill for this price on. + cadence:, + grouped_with_metered_minimum_config:, + # The id of the item the price will be associated with. + item_id:, + # The name of the price. + name:, + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + billable_metric_id: nil, + # 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. + billed_in_advance: nil, + # For custom cadence: specifies the duration of the billing period in days or + # months. + billing_cycle_configuration: nil, + # The per unit conversion rate of the price currency to the invoicing currency. + conversion_rate: nil, + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + currency: nil, + # For dimensional price: specifies a price group and dimension values + dimensional_price_configuration: nil, + # An alias for the price. + external_price_id: nil, + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + fixed_price_quantity: nil, + # The property used to group this price on an invoice + invoice_grouping_key: nil, + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + invoicing_cycle_configuration: nil, + # 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`. + metadata: nil, + model_type: :grouped_with_metered_minimum + ) + end + + sig do + override.returns( + { + cadence: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::Cadence::OrSymbol, + grouped_with_metered_minimum_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::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) + } + ) + end + def to_hash + end + + # The cadence to bill for this price on. + module Cadence + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::Cadence + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ANNUAL = + T.let( + :annual, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::Cadence::TaggedSymbol + ) + SEMI_ANNUAL = + T.let( + :semi_annual, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::Cadence::TaggedSymbol + ) + MONTHLY = + T.let( + :monthly, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::Cadence::TaggedSymbol + ) + QUARTERLY = + T.let( + :quarterly, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::Cadence::TaggedSymbol + ) + ONE_TIME = + T.let( + :one_time, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::Cadence::TaggedSymbol + ) + CUSTOM = + T.let( + :custom, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::Cadence::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::Cadence::TaggedSymbol + ] + ) + end + def self.values + end + end + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration, + Orb::Internal::AnyHash + ) + end + + # The list of dimension values matching (in order) the dimensions of the price + # group + sig { returns(T::Array[String]) } + attr_accessor :dimension_values + + # The id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :dimensional_price_group_id + + # The external id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :external_dimensional_price_group_id + + # For dimensional price: specifies a price group and dimension values + sig do + params( + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The list of dimension values matching (in order) the dimensions of the price + # group + dimension_values:, + # The id of the dimensional price group to include this price in + dimensional_price_group_id: nil, + # The external id of the dimensional price group to include this price in + external_dimensional_price_group_id: nil + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + } + ) + end + def to_hash + end + end + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + class MatrixWithDisplayName < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName, + Orb::Internal::AnyHash + ) + end + + # The cadence to bill for this price on. + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::Cadence::OrSymbol + ) + end + attr_accessor :cadence + + # The id of the item the price will be associated with. + sig { returns(String) } + attr_accessor :item_id + + sig { returns(T::Hash[Symbol, T.anything]) } + attr_accessor :matrix_with_display_name_config + + sig { returns(Symbol) } + attr_accessor :model_type + + # The name of the price. + sig { returns(String) } + attr_accessor :name + + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + sig { returns(T.nilable(String)) } + attr_accessor :billable_metric_id + + # 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. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :billed_in_advance + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration + ) + ) + end + attr_reader :billing_cycle_configuration + + sig do + params( + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :billing_cycle_configuration + + # The per unit conversion rate of the price currency to the invoicing currency. + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + sig { returns(T.nilable(String)) } + attr_accessor :currency + + # For dimensional price: specifies a price group and dimension values + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration + ) + ) + end + attr_reader :dimensional_price_configuration + + sig do + params( + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration::OrHash + ) + ).void + end + attr_writer :dimensional_price_configuration + + # An alias for the price. + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + # The property used to group this price on an invoice + sig { returns(T.nilable(String)) } + attr_accessor :invoice_grouping_key + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration + ) + ) + end + attr_reader :invoicing_cycle_configuration + + sig do + params( + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :invoicing_cycle_configuration + + # 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`. + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } + attr_accessor :metadata + + sig do + params( + cadence: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::Cadence::OrSymbol, + item_id: String, + matrix_with_display_name_config: T::Hash[Symbol, T.anything], + name: String, + billable_metric_id: T.nilable(String), + billed_in_advance: T.nilable(T::Boolean), + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::OrHash + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration::OrHash + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::OrHash + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), + model_type: Symbol + ).returns(T.attached_class) + end + def self.new( + # The cadence to bill for this price on. + cadence:, + # The id of the item the price will be associated with. + item_id:, + matrix_with_display_name_config:, + # The name of the price. + name:, + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + billable_metric_id: nil, + # 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. + billed_in_advance: nil, + # For custom cadence: specifies the duration of the billing period in days or + # months. + billing_cycle_configuration: nil, + # The per unit conversion rate of the price currency to the invoicing currency. + conversion_rate: nil, + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + currency: nil, + # For dimensional price: specifies a price group and dimension values + dimensional_price_configuration: nil, + # An alias for the price. + external_price_id: nil, + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + fixed_price_quantity: nil, + # The property used to group this price on an invoice + invoice_grouping_key: nil, + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + invoicing_cycle_configuration: nil, + # 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`. + metadata: nil, + model_type: :matrix_with_display_name + ) + end + + sig do + override.returns( + { + cadence: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::Cadence::OrSymbol, + item_id: String, + matrix_with_display_name_config: T::Hash[Symbol, T.anything], + model_type: Symbol, + name: String, + billable_metric_id: T.nilable(String), + billed_in_advance: T.nilable(T::Boolean), + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) + } + ) + end + def to_hash + end + + # The cadence to bill for this price on. + module Cadence + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::Cadence + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ANNUAL = + T.let( + :annual, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::Cadence::TaggedSymbol + ) + SEMI_ANNUAL = + T.let( + :semi_annual, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::Cadence::TaggedSymbol + ) + MONTHLY = + T.let( + :monthly, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::Cadence::TaggedSymbol + ) + QUARTERLY = + T.let( + :quarterly, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::Cadence::TaggedSymbol + ) + ONE_TIME = + T.let( + :one_time, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::Cadence::TaggedSymbol + ) + CUSTOM = + T.let( + :custom, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::Cadence::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::Cadence::TaggedSymbol + ] + ) + end + def self.values + end + end + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration, + Orb::Internal::AnyHash + ) + end + + # The list of dimension values matching (in order) the dimensions of the price + # group + sig { returns(T::Array[String]) } + attr_accessor :dimension_values + + # The id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :dimensional_price_group_id + + # The external id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :external_dimensional_price_group_id + + # For dimensional price: specifies a price group and dimension values + sig do + params( + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The list of dimension values matching (in order) the dimensions of the price + # group + dimension_values:, + # The id of the dimensional price group to include this price in + dimensional_price_group_id: nil, + # The external id of the dimensional price group to include this price in + external_dimensional_price_group_id: nil + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + } + ) + end + def to_hash + end + end + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + class BulkWithProration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration, + Orb::Internal::AnyHash + ) + end + + sig { returns(T::Hash[Symbol, T.anything]) } + attr_accessor :bulk_with_proration_config + + # The cadence to bill for this price on. + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::Cadence::OrSymbol + ) + end + attr_accessor :cadence + + # The id of the item the price will be associated with. + sig { returns(String) } + attr_accessor :item_id + + sig { returns(Symbol) } + attr_accessor :model_type + + # The name of the price. + sig { returns(String) } + attr_accessor :name + + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + sig { returns(T.nilable(String)) } + attr_accessor :billable_metric_id + + # 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. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :billed_in_advance + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration + ) + ) + end + attr_reader :billing_cycle_configuration + + sig do + params( + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :billing_cycle_configuration + + # The per unit conversion rate of the price currency to the invoicing currency. + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + sig { returns(T.nilable(String)) } + attr_accessor :currency + + # For dimensional price: specifies a price group and dimension values + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::DimensionalPriceConfiguration + ) + ) + end + attr_reader :dimensional_price_configuration + + sig do + params( + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::DimensionalPriceConfiguration::OrHash + ) + ).void + end + attr_writer :dimensional_price_configuration + + # An alias for the price. + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + # The property used to group this price on an invoice + sig { returns(T.nilable(String)) } + attr_accessor :invoice_grouping_key + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration + ) + ) + end + attr_reader :invoicing_cycle_configuration + + sig do + params( + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :invoicing_cycle_configuration + + # 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`. + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } + attr_accessor :metadata + + sig do + params( + bulk_with_proration_config: T::Hash[Symbol, T.anything], + cadence: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::Cadence::OrSymbol, + item_id: String, + name: String, + billable_metric_id: T.nilable(String), + billed_in_advance: T.nilable(T::Boolean), + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration::OrHash + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::DimensionalPriceConfiguration::OrHash + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration::OrHash + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), + model_type: Symbol + ).returns(T.attached_class) + end + def self.new( + bulk_with_proration_config:, + # The cadence to bill for this price on. + cadence:, + # The id of the item the price will be associated with. + item_id:, + # The name of the price. + name:, + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + billable_metric_id: nil, + # 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. + billed_in_advance: nil, + # For custom cadence: specifies the duration of the billing period in days or + # months. + billing_cycle_configuration: nil, + # The per unit conversion rate of the price currency to the invoicing currency. + conversion_rate: nil, + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + currency: nil, + # For dimensional price: specifies a price group and dimension values + dimensional_price_configuration: nil, + # An alias for the price. + external_price_id: nil, + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + fixed_price_quantity: nil, + # The property used to group this price on an invoice + invoice_grouping_key: nil, + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + invoicing_cycle_configuration: nil, + # 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`. + metadata: nil, + model_type: :bulk_with_proration + ) + end + + sig do + override.returns( + { + bulk_with_proration_config: T::Hash[Symbol, T.anything], + cadence: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::Cadence::OrSymbol, + 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::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::DimensionalPriceConfiguration + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) + } + ) + end + def to_hash + end + + # The cadence to bill for this price on. + module Cadence + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::Cadence + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ANNUAL = + T.let( + :annual, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::Cadence::TaggedSymbol + ) + SEMI_ANNUAL = + T.let( + :semi_annual, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::Cadence::TaggedSymbol + ) + MONTHLY = + T.let( + :monthly, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::Cadence::TaggedSymbol + ) + QUARTERLY = + T.let( + :quarterly, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::Cadence::TaggedSymbol + ) + ONE_TIME = + T.let( + :one_time, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::Cadence::TaggedSymbol + ) + CUSTOM = + T.let( + :custom, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::Cadence::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::Cadence::TaggedSymbol + ] + ) + end + def self.values + end + end + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::DimensionalPriceConfiguration, + Orb::Internal::AnyHash + ) + end + + # The list of dimension values matching (in order) the dimensions of the price + # group + sig { returns(T::Array[String]) } + attr_accessor :dimension_values + + # The id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :dimensional_price_group_id + + # The external id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :external_dimensional_price_group_id + + # For dimensional price: specifies a price group and dimension values + sig do + params( + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The list of dimension values matching (in order) the dimensions of the price + # group + dimension_values:, + # The id of the dimensional price group to include this price in + dimensional_price_group_id: nil, + # The external id of the dimensional price group to include this price in + external_dimensional_price_group_id: nil + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + } + ) + end + def to_hash + end + end + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + class GroupedTieredPackage < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage, + Orb::Internal::AnyHash + ) + end + + # The cadence to bill for this price on. + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::Cadence::OrSymbol + ) + end + attr_accessor :cadence + + sig { returns(T::Hash[Symbol, T.anything]) } + attr_accessor :grouped_tiered_package_config + + # The id of the item the price will be associated with. + sig { returns(String) } + attr_accessor :item_id + + sig { returns(Symbol) } + attr_accessor :model_type + + # The name of the price. + sig { returns(String) } + attr_accessor :name + + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + sig { returns(T.nilable(String)) } + attr_accessor :billable_metric_id + + # 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. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :billed_in_advance + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration + ) + ) + end + attr_reader :billing_cycle_configuration + + sig do + params( + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :billing_cycle_configuration + + # The per unit conversion rate of the price currency to the invoicing currency. + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + sig { returns(T.nilable(String)) } + attr_accessor :currency + + # For dimensional price: specifies a price group and dimension values + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration + ) + ) + end + attr_reader :dimensional_price_configuration + + sig do + params( + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration::OrHash + ) + ).void + end + attr_writer :dimensional_price_configuration + + # An alias for the price. + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + # The property used to group this price on an invoice + sig { returns(T.nilable(String)) } + attr_accessor :invoice_grouping_key + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration + ) + ) + end + attr_reader :invoicing_cycle_configuration + + sig do + params( + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :invoicing_cycle_configuration + + # 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`. + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } + attr_accessor :metadata + + sig do + params( + cadence: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::Cadence::OrSymbol, + grouped_tiered_package_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::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration::OrHash + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration::OrHash + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::OrHash + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), + model_type: Symbol + ).returns(T.attached_class) + end + def self.new( + # The cadence to bill for this price on. + cadence:, + grouped_tiered_package_config:, + # The id of the item the price will be associated with. + item_id:, + # The name of the price. + name:, + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + billable_metric_id: nil, + # 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. + billed_in_advance: nil, + # For custom cadence: specifies the duration of the billing period in days or + # months. + billing_cycle_configuration: nil, + # The per unit conversion rate of the price currency to the invoicing currency. + conversion_rate: nil, + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + currency: nil, + # For dimensional price: specifies a price group and dimension values + dimensional_price_configuration: nil, + # An alias for the price. + external_price_id: nil, + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + fixed_price_quantity: nil, + # The property used to group this price on an invoice + invoice_grouping_key: nil, + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + invoicing_cycle_configuration: nil, + # 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`. + metadata: nil, + model_type: :grouped_tiered_package + ) + end + + sig do + override.returns( + { + cadence: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::Cadence::OrSymbol, + grouped_tiered_package_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::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) + } + ) + end + def to_hash + end + + # The cadence to bill for this price on. + module Cadence + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::Cadence + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ANNUAL = + T.let( + :annual, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::Cadence::TaggedSymbol + ) + SEMI_ANNUAL = + T.let( + :semi_annual, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::Cadence::TaggedSymbol + ) + MONTHLY = + T.let( + :monthly, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::Cadence::TaggedSymbol + ) + QUARTERLY = + T.let( + :quarterly, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::Cadence::TaggedSymbol + ) + ONE_TIME = + T.let( + :one_time, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::Cadence::TaggedSymbol + ) + CUSTOM = + T.let( + :custom, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::Cadence::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::Cadence::TaggedSymbol + ] + ) + end + def self.values + end + end + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration, + Orb::Internal::AnyHash + ) + end + + # The list of dimension values matching (in order) the dimensions of the price + # group + sig { returns(T::Array[String]) } + attr_accessor :dimension_values + + # The id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :dimensional_price_group_id + + # The external id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :external_dimensional_price_group_id + + # For dimensional price: specifies a price group and dimension values + sig do + params( + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The list of dimension values matching (in order) the dimensions of the price + # group + dimension_values:, + # The id of the dimensional price group to include this price in + dimensional_price_group_id: nil, + # The external id of the dimensional price group to include this price in + external_dimensional_price_group_id: nil + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + } + ) + end + def to_hash + end + end + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + class MaxGroupTieredPackage < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage, + Orb::Internal::AnyHash + ) + end + + # The cadence to bill for this price on. + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::Cadence::OrSymbol + ) + end + attr_accessor :cadence + + # The id of the item the price will be associated with. + sig { returns(String) } + attr_accessor :item_id + + sig { returns(T::Hash[Symbol, T.anything]) } + attr_accessor :max_group_tiered_package_config + + sig { returns(Symbol) } + attr_accessor :model_type + + # The name of the price. + sig { returns(String) } + attr_accessor :name + + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + sig { returns(T.nilable(String)) } + attr_accessor :billable_metric_id + + # 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. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :billed_in_advance + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration + ) + ) + end + attr_reader :billing_cycle_configuration + + sig do + params( + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :billing_cycle_configuration + + # The per unit conversion rate of the price currency to the invoicing currency. + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + sig { returns(T.nilable(String)) } + attr_accessor :currency + + # For dimensional price: specifies a price group and dimension values + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration + ) + ) + end + attr_reader :dimensional_price_configuration + + sig do + params( + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration::OrHash + ) + ).void + end + attr_writer :dimensional_price_configuration + + # An alias for the price. + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + # The property used to group this price on an invoice + sig { returns(T.nilable(String)) } + attr_accessor :invoice_grouping_key + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration + ) + ) + end + attr_reader :invoicing_cycle_configuration + + sig do + params( + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :invoicing_cycle_configuration + + # 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`. + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } + attr_accessor :metadata + + sig do + params( + cadence: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::Cadence::OrSymbol, + item_id: String, + max_group_tiered_package_config: T::Hash[Symbol, T.anything], + name: String, + billable_metric_id: T.nilable(String), + billed_in_advance: T.nilable(T::Boolean), + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::OrHash + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration::OrHash + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::OrHash + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), + model_type: Symbol + ).returns(T.attached_class) + end + def self.new( + # The cadence to bill for this price on. + cadence:, + # The id of the item the price will be associated with. + item_id:, + max_group_tiered_package_config:, + # The name of the price. + name:, + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + billable_metric_id: nil, + # 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. + billed_in_advance: nil, + # For custom cadence: specifies the duration of the billing period in days or + # months. + billing_cycle_configuration: nil, + # The per unit conversion rate of the price currency to the invoicing currency. + conversion_rate: nil, + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + currency: nil, + # For dimensional price: specifies a price group and dimension values + dimensional_price_configuration: nil, + # An alias for the price. + external_price_id: nil, + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + fixed_price_quantity: nil, + # The property used to group this price on an invoice + invoice_grouping_key: nil, + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + invoicing_cycle_configuration: nil, + # 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`. + metadata: nil, + model_type: :max_group_tiered_package + ) + end + + sig do + override.returns( + { + cadence: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::Cadence::OrSymbol, + item_id: String, + max_group_tiered_package_config: T::Hash[Symbol, T.anything], + model_type: Symbol, + name: String, + billable_metric_id: T.nilable(String), + billed_in_advance: T.nilable(T::Boolean), + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) + } + ) + end + def to_hash + end + + # The cadence to bill for this price on. + module Cadence + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::Cadence + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ANNUAL = + T.let( + :annual, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::Cadence::TaggedSymbol + ) + SEMI_ANNUAL = + T.let( + :semi_annual, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::Cadence::TaggedSymbol + ) + MONTHLY = + T.let( + :monthly, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::Cadence::TaggedSymbol + ) + QUARTERLY = + T.let( + :quarterly, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::Cadence::TaggedSymbol + ) + ONE_TIME = + T.let( + :one_time, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::Cadence::TaggedSymbol + ) + CUSTOM = + T.let( + :custom, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::Cadence::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::Cadence::TaggedSymbol + ] + ) + end + def self.values + end + end + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration, + Orb::Internal::AnyHash + ) + end + + # The list of dimension values matching (in order) the dimensions of the price + # group + sig { returns(T::Array[String]) } + attr_accessor :dimension_values + + # The id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :dimensional_price_group_id + + # The external id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :external_dimensional_price_group_id + + # For dimensional price: specifies a price group and dimension values + sig do + params( + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The list of dimension values matching (in order) the dimensions of the price + # group + dimension_values:, + # The id of the dimensional price group to include this price in + dimensional_price_group_id: nil, + # The external id of the dimensional price group to include this price in + external_dimensional_price_group_id: nil + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + } + ) + end + def to_hash + end + end + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + class ScalableMatrixWithUnitPricing < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing, + Orb::Internal::AnyHash + ) + end + + # The cadence to bill for this price on. + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::Cadence::OrSymbol + ) + end + attr_accessor :cadence + + # The id of the item the price will be associated with. + sig { returns(String) } + attr_accessor :item_id + + sig { returns(Symbol) } + attr_accessor :model_type + + # The name of the price. + sig { returns(String) } + attr_accessor :name + + sig { returns(T::Hash[Symbol, T.anything]) } + attr_accessor :scalable_matrix_with_unit_pricing_config + + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + sig { returns(T.nilable(String)) } + attr_accessor :billable_metric_id + + # 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. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :billed_in_advance + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration + ) + ) + end + attr_reader :billing_cycle_configuration + + sig do + params( + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :billing_cycle_configuration + + # The per unit conversion rate of the price currency to the invoicing currency. + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + sig { returns(T.nilable(String)) } + attr_accessor :currency + + # For dimensional price: specifies a price group and dimension values + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration + ) + ) + end + attr_reader :dimensional_price_configuration + + sig do + params( + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration::OrHash + ) + ).void + end + attr_writer :dimensional_price_configuration + + # An alias for the price. + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + # The property used to group this price on an invoice + sig { returns(T.nilable(String)) } + attr_accessor :invoice_grouping_key + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration + ) + ) + end + attr_reader :invoicing_cycle_configuration + + sig do + params( + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :invoicing_cycle_configuration + + # 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`. + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } + attr_accessor :metadata + + sig do + params( + cadence: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::Cadence::OrSymbol, + item_id: String, + name: String, + scalable_matrix_with_unit_pricing_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::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::OrHash + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration::OrHash + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::OrHash + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), + model_type: Symbol + ).returns(T.attached_class) + end + def self.new( + # The cadence to bill for this price on. + cadence:, + # The id of the item the price will be associated with. + item_id:, + # The name of the price. + name:, + scalable_matrix_with_unit_pricing_config:, + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + billable_metric_id: nil, + # 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. + billed_in_advance: nil, + # For custom cadence: specifies the duration of the billing period in days or + # months. + billing_cycle_configuration: nil, + # The per unit conversion rate of the price currency to the invoicing currency. + conversion_rate: nil, + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + currency: nil, + # For dimensional price: specifies a price group and dimension values + dimensional_price_configuration: nil, + # An alias for the price. + external_price_id: nil, + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + fixed_price_quantity: nil, + # The property used to group this price on an invoice + invoice_grouping_key: nil, + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + invoicing_cycle_configuration: nil, + # 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`. + metadata: nil, + model_type: :scalable_matrix_with_unit_pricing + ) + end + + sig do + override.returns( + { + cadence: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::Cadence::OrSymbol, + item_id: String, + model_type: Symbol, + name: String, + scalable_matrix_with_unit_pricing_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::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) + } + ) + end + def to_hash + end + + # The cadence to bill for this price on. + module Cadence + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::Cadence + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ANNUAL = + T.let( + :annual, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::Cadence::TaggedSymbol + ) + SEMI_ANNUAL = + T.let( + :semi_annual, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::Cadence::TaggedSymbol + ) + MONTHLY = + T.let( + :monthly, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::Cadence::TaggedSymbol + ) + QUARTERLY = + T.let( + :quarterly, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::Cadence::TaggedSymbol + ) + ONE_TIME = + T.let( + :one_time, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::Cadence::TaggedSymbol + ) + CUSTOM = + T.let( + :custom, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::Cadence::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::Cadence::TaggedSymbol + ] + ) + end + def self.values + end + end + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration, + Orb::Internal::AnyHash + ) + end + + # The list of dimension values matching (in order) the dimensions of the price + # group + sig { returns(T::Array[String]) } + attr_accessor :dimension_values + + # The id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :dimensional_price_group_id + + # The external id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :external_dimensional_price_group_id + + # For dimensional price: specifies a price group and dimension values + sig do + params( + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The list of dimension values matching (in order) the dimensions of the price + # group + dimension_values:, + # The id of the dimensional price group to include this price in + dimensional_price_group_id: nil, + # The external id of the dimensional price group to include this price in + external_dimensional_price_group_id: nil + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + } + ) + end + def to_hash + end + end + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + class ScalableMatrixWithTieredPricing < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing, + Orb::Internal::AnyHash + ) + end + + # The cadence to bill for this price on. + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::Cadence::OrSymbol + ) + end + attr_accessor :cadence + + # The id of the item the price will be associated with. + sig { returns(String) } + attr_accessor :item_id + + sig { returns(Symbol) } + attr_accessor :model_type + + # The name of the price. + sig { returns(String) } + attr_accessor :name + + sig { returns(T::Hash[Symbol, T.anything]) } + attr_accessor :scalable_matrix_with_tiered_pricing_config + + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + sig { returns(T.nilable(String)) } + attr_accessor :billable_metric_id + + # 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. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :billed_in_advance + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration + ) + ) + end + attr_reader :billing_cycle_configuration + + sig do + params( + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :billing_cycle_configuration + + # The per unit conversion rate of the price currency to the invoicing currency. + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + sig { returns(T.nilable(String)) } + attr_accessor :currency + + # For dimensional price: specifies a price group and dimension values + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration + ) + ) + end + attr_reader :dimensional_price_configuration + + sig do + params( + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration::OrHash + ) + ).void + end + attr_writer :dimensional_price_configuration + + # An alias for the price. + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + # The property used to group this price on an invoice + sig { returns(T.nilable(String)) } + attr_accessor :invoice_grouping_key + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration + ) + ) + end + attr_reader :invoicing_cycle_configuration + + sig do + params( + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :invoicing_cycle_configuration + + # 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`. + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } + attr_accessor :metadata + + sig do + params( + cadence: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::Cadence::OrSymbol, + item_id: String, + name: String, + scalable_matrix_with_tiered_pricing_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::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::OrHash + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration::OrHash + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::OrHash + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), + model_type: Symbol + ).returns(T.attached_class) + end + def self.new( + # The cadence to bill for this price on. + cadence:, + # The id of the item the price will be associated with. + item_id:, + # The name of the price. + name:, + scalable_matrix_with_tiered_pricing_config:, + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + billable_metric_id: nil, + # 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. + billed_in_advance: nil, + # For custom cadence: specifies the duration of the billing period in days or + # months. + billing_cycle_configuration: nil, + # The per unit conversion rate of the price currency to the invoicing currency. + conversion_rate: nil, + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + currency: nil, + # For dimensional price: specifies a price group and dimension values + dimensional_price_configuration: nil, + # An alias for the price. + external_price_id: nil, + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + fixed_price_quantity: nil, + # The property used to group this price on an invoice + invoice_grouping_key: nil, + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + invoicing_cycle_configuration: nil, + # 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`. + metadata: nil, + model_type: :scalable_matrix_with_tiered_pricing + ) + end + + sig do + override.returns( + { + cadence: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::Cadence::OrSymbol, + item_id: String, + model_type: Symbol, + name: String, + scalable_matrix_with_tiered_pricing_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::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) + } + ) + end + def to_hash + end + + # The cadence to bill for this price on. + module Cadence + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::Cadence + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ANNUAL = + T.let( + :annual, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::Cadence::TaggedSymbol + ) + SEMI_ANNUAL = + T.let( + :semi_annual, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::Cadence::TaggedSymbol + ) + MONTHLY = + T.let( + :monthly, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::Cadence::TaggedSymbol + ) + QUARTERLY = + T.let( + :quarterly, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::Cadence::TaggedSymbol + ) + ONE_TIME = + T.let( + :one_time, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::Cadence::TaggedSymbol + ) + CUSTOM = + T.let( + :custom, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::Cadence::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::Cadence::TaggedSymbol + ] + ) + end + def self.values + end + end + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration, + Orb::Internal::AnyHash + ) + end + + # The list of dimension values matching (in order) the dimensions of the price + # group + sig { returns(T::Array[String]) } + attr_accessor :dimension_values + + # The id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :dimensional_price_group_id + + # The external id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :external_dimensional_price_group_id + + # For dimensional price: specifies a price group and dimension values + sig do + params( + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The list of dimension values matching (in order) the dimensions of the price + # group + dimension_values:, + # The id of the dimensional price group to include this price in + dimensional_price_group_id: nil, + # The external id of the dimensional price group to include this price in + external_dimensional_price_group_id: nil + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + } + ) + end + def to_hash + end + end + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + class CumulativeGroupedBulk < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk, + Orb::Internal::AnyHash + ) + end + + # The cadence to bill for this price on. + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::Cadence::OrSymbol + ) + end + attr_accessor :cadence + + sig { returns(T::Hash[Symbol, T.anything]) } + attr_accessor :cumulative_grouped_bulk_config + + # The id of the item the price will be associated with. + sig { returns(String) } + attr_accessor :item_id + + sig { returns(Symbol) } + attr_accessor :model_type + + # The name of the price. + sig { returns(String) } + attr_accessor :name + + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + sig { returns(T.nilable(String)) } + attr_accessor :billable_metric_id + + # 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. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :billed_in_advance + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration + ) + ) + end + attr_reader :billing_cycle_configuration + + sig do + params( + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :billing_cycle_configuration + + # The per unit conversion rate of the price currency to the invoicing currency. + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + sig { returns(T.nilable(String)) } + attr_accessor :currency + + # For dimensional price: specifies a price group and dimension values + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration + ) + ) + end + attr_reader :dimensional_price_configuration + + sig do + params( + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration::OrHash + ) + ).void + end + attr_writer :dimensional_price_configuration + + # An alias for the price. + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + # The property used to group this price on an invoice + sig { returns(T.nilable(String)) } + attr_accessor :invoice_grouping_key + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration + ) + ) + end + attr_reader :invoicing_cycle_configuration + + sig do + params( + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :invoicing_cycle_configuration + + # 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`. + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } + attr_accessor :metadata + + sig do + params( + cadence: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::Cadence::OrSymbol, + 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::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::OrHash + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration::OrHash + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::OrHash + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), + model_type: Symbol + ).returns(T.attached_class) + end + def self.new( + # The cadence to bill for this price on. + cadence:, + cumulative_grouped_bulk_config:, + # The id of the item the price will be associated with. + item_id:, + # The name of the price. + name:, + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + billable_metric_id: nil, + # 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. + billed_in_advance: nil, + # For custom cadence: specifies the duration of the billing period in days or + # months. + billing_cycle_configuration: nil, + # The per unit conversion rate of the price currency to the invoicing currency. + conversion_rate: nil, + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + currency: nil, + # For dimensional price: specifies a price group and dimension values + dimensional_price_configuration: nil, + # An alias for the price. + external_price_id: nil, + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + fixed_price_quantity: nil, + # The property used to group this price on an invoice + invoice_grouping_key: nil, + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + invoicing_cycle_configuration: nil, + # 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`. + metadata: nil, + model_type: :cumulative_grouped_bulk + ) + end + + sig do + override.returns( + { + cadence: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::Cadence::OrSymbol, + 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::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) + } + ) + end + def to_hash + end + + # The cadence to bill for this price on. + module Cadence + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::Cadence + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ANNUAL = + T.let( + :annual, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::Cadence::TaggedSymbol + ) + SEMI_ANNUAL = + T.let( + :semi_annual, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::Cadence::TaggedSymbol + ) + MONTHLY = + T.let( + :monthly, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::Cadence::TaggedSymbol + ) + QUARTERLY = + T.let( + :quarterly, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::Cadence::TaggedSymbol + ) + ONE_TIME = + T.let( + :one_time, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::Cadence::TaggedSymbol + ) + CUSTOM = + T.let( + :custom, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::Cadence::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::Cadence::TaggedSymbol + ] + ) + end + def self.values + end + end + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration, + Orb::Internal::AnyHash + ) + end + + # The list of dimension values matching (in order) the dimensions of the price + # group + sig { returns(T::Array[String]) } + attr_accessor :dimension_values + + # The id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :dimensional_price_group_id + + # The external id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :external_dimensional_price_group_id + + # For dimensional price: specifies a price group and dimension values + sig do + params( + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The list of dimension values matching (in order) the dimensions of the price + # group + dimension_values:, + # The id of the dimensional price group to include this price in + dimensional_price_group_id: nil, + # The external id of the dimensional price group to include this price in + external_dimensional_price_group_id: nil + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + } + ) + end + def to_hash + end + end + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + class TieredPackageWithMinimum < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum, + Orb::Internal::AnyHash + ) + end + + # The cadence to bill for this price on. + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::Cadence::OrSymbol + ) + end + attr_accessor :cadence + + # The id of the item the price will be associated with. + sig { returns(String) } + attr_accessor :item_id + + sig { returns(Symbol) } + attr_accessor :model_type + + # The name of the price. + sig { returns(String) } + attr_accessor :name + + sig { returns(T::Hash[Symbol, T.anything]) } + attr_accessor :tiered_package_with_minimum_config + + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + sig { returns(T.nilable(String)) } + attr_accessor :billable_metric_id + + # 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. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :billed_in_advance + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration + ) + ) + end + attr_reader :billing_cycle_configuration + + sig do + params( + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :billing_cycle_configuration + + # The per unit conversion rate of the price currency to the invoicing currency. + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + sig { returns(T.nilable(String)) } + attr_accessor :currency + + # For dimensional price: specifies a price group and dimension values + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration + ) + ) + end + attr_reader :dimensional_price_configuration + + sig do + params( + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration::OrHash + ) + ).void + end + attr_writer :dimensional_price_configuration + + # An alias for the price. + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + # The property used to group this price on an invoice + sig { returns(T.nilable(String)) } + attr_accessor :invoice_grouping_key + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration + ) + ) + end + attr_reader :invoicing_cycle_configuration + + sig do + params( + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :invoicing_cycle_configuration + + # 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`. + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } + attr_accessor :metadata + + sig do + params( + cadence: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::Cadence::OrSymbol, + item_id: String, + name: String, + tiered_package_with_minimum_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::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::OrHash + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration::OrHash + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::OrHash + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), + model_type: Symbol + ).returns(T.attached_class) + end + def self.new( + # The cadence to bill for this price on. + cadence:, + # The id of the item the price will be associated with. + item_id:, + # The name of the price. + name:, + tiered_package_with_minimum_config:, + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + billable_metric_id: nil, + # 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. + billed_in_advance: nil, + # For custom cadence: specifies the duration of the billing period in days or + # months. + billing_cycle_configuration: nil, + # The per unit conversion rate of the price currency to the invoicing currency. + conversion_rate: nil, + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + currency: nil, + # For dimensional price: specifies a price group and dimension values + dimensional_price_configuration: nil, + # An alias for the price. + external_price_id: nil, + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + fixed_price_quantity: nil, + # The property used to group this price on an invoice + invoice_grouping_key: nil, + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + invoicing_cycle_configuration: nil, + # 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`. + metadata: nil, + model_type: :tiered_package_with_minimum + ) + end + + sig do + override.returns( + { + cadence: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::Cadence::OrSymbol, + item_id: String, + model_type: Symbol, + name: String, + tiered_package_with_minimum_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::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) + } + ) + end + def to_hash + end + + # The cadence to bill for this price on. + module Cadence + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::Cadence + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ANNUAL = + T.let( + :annual, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::Cadence::TaggedSymbol + ) + SEMI_ANNUAL = + T.let( + :semi_annual, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::Cadence::TaggedSymbol + ) + MONTHLY = + T.let( + :monthly, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::Cadence::TaggedSymbol + ) + QUARTERLY = + T.let( + :quarterly, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::Cadence::TaggedSymbol + ) + ONE_TIME = + T.let( + :one_time, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::Cadence::TaggedSymbol + ) + CUSTOM = + T.let( + :custom, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::Cadence::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::Cadence::TaggedSymbol + ] + ) + end + def self.values + end + end + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration, + Orb::Internal::AnyHash + ) + end + + # The list of dimension values matching (in order) the dimensions of the price + # group + sig { returns(T::Array[String]) } + attr_accessor :dimension_values + + # The id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :dimensional_price_group_id + + # The external id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :external_dimensional_price_group_id + + # For dimensional price: specifies a price group and dimension values + sig do + params( + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The list of dimension values matching (in order) the dimensions of the price + # group + dimension_values:, + # The id of the dimensional price group to include this price in + dimensional_price_group_id: nil, + # The external id of the dimensional price group to include this price in + external_dimensional_price_group_id: nil + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + } + ) + end + def to_hash + end + end + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + class MatrixWithAllocation < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation, + Orb::Internal::AnyHash + ) + end + + # The cadence to bill for this price on. + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::Cadence::OrSymbol + ) + end + attr_accessor :cadence + + # The id of the item the price will be associated with. + sig { returns(String) } + attr_accessor :item_id + + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig + ) + end + attr_reader :matrix_with_allocation_config + + sig do + params( + matrix_with_allocation_config: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::OrHash + ).void + end + attr_writer :matrix_with_allocation_config + + sig { returns(Symbol) } + attr_accessor :model_type + + # The name of the price. + sig { returns(String) } + attr_accessor :name + + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + sig { returns(T.nilable(String)) } + attr_accessor :billable_metric_id + + # 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. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :billed_in_advance + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration + ) + ) + end + attr_reader :billing_cycle_configuration + + sig do + params( + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :billing_cycle_configuration + + # The per unit conversion rate of the price currency to the invoicing currency. + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + sig { returns(T.nilable(String)) } + attr_accessor :currency + + # For dimensional price: specifies a price group and dimension values + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration + ) + ) + end + attr_reader :dimensional_price_configuration + + sig do + params( + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration::OrHash + ) + ).void + end + attr_writer :dimensional_price_configuration + + # An alias for the price. + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + # The property used to group this price on an invoice + sig { returns(T.nilable(String)) } + attr_accessor :invoice_grouping_key + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration + ) + ) + end + attr_reader :invoicing_cycle_configuration + + sig do + params( + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :invoicing_cycle_configuration + + # 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`. + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } + attr_accessor :metadata + + sig do + params( + cadence: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::Cadence::OrSymbol, + item_id: String, + matrix_with_allocation_config: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::OrHash, + name: String, + billable_metric_id: T.nilable(String), + billed_in_advance: T.nilable(T::Boolean), + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration::OrHash + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration::OrHash + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::OrHash + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), + model_type: Symbol + ).returns(T.attached_class) + end + def self.new( + # The cadence to bill for this price on. + cadence:, + # The id of the item the price will be associated with. + item_id:, + matrix_with_allocation_config:, + # The name of the price. + name:, + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + billable_metric_id: nil, + # 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. + billed_in_advance: nil, + # For custom cadence: specifies the duration of the billing period in days or + # months. + billing_cycle_configuration: nil, + # The per unit conversion rate of the price currency to the invoicing currency. + conversion_rate: nil, + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + currency: nil, + # For dimensional price: specifies a price group and dimension values + dimensional_price_configuration: nil, + # An alias for the price. + external_price_id: nil, + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + fixed_price_quantity: nil, + # The property used to group this price on an invoice + invoice_grouping_key: nil, + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + invoicing_cycle_configuration: nil, + # 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`. + metadata: nil, + model_type: :matrix_with_allocation + ) + end + + sig do + override.returns( + { + cadence: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::Cadence::OrSymbol, + item_id: String, + matrix_with_allocation_config: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig, + model_type: Symbol, + name: String, + billable_metric_id: T.nilable(String), + billed_in_advance: T.nilable(T::Boolean), + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) + } + ) + end + def to_hash + end + + # The cadence to bill for this price on. + module Cadence + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::Cadence + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ANNUAL = + T.let( + :annual, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::Cadence::TaggedSymbol + ) + SEMI_ANNUAL = + T.let( + :semi_annual, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::Cadence::TaggedSymbol + ) + MONTHLY = + T.let( + :monthly, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::Cadence::TaggedSymbol + ) + QUARTERLY = + T.let( + :quarterly, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::Cadence::TaggedSymbol + ) + ONE_TIME = + T.let( + :one_time, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::Cadence::TaggedSymbol + ) + CUSTOM = + T.let( + :custom, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::Cadence::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::Cadence::TaggedSymbol + ] + ) + end + def self.values + end + end + + class MatrixWithAllocationConfig < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig, + Orb::Internal::AnyHash + ) + end + + # Allocation to be used to calculate the price + sig { returns(Float) } + attr_accessor :allocation + + # Default per unit rate for any usage not bucketed into a specified matrix_value + sig { returns(String) } + attr_accessor :default_unit_amount + + # One or two event property values to evaluate matrix groups by + sig { returns(T::Array[T.nilable(String)]) } + attr_accessor :dimensions + + # Matrix values for specified matrix grouping keys + sig do + returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue + ] + ) + end + attr_accessor :matrix_values + + sig do + params( + allocation: Float, + default_unit_amount: String, + dimensions: T::Array[T.nilable(String)], + matrix_values: + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue::OrHash + ] + ).returns(T.attached_class) + end + def self.new( + # Allocation to be used to calculate the price + allocation:, + # Default per unit rate for any usage not bucketed into a specified matrix_value + default_unit_amount:, + # One or two event property values to evaluate matrix groups by + dimensions:, + # Matrix values for specified matrix grouping keys + matrix_values: + ) + end + + sig do + override.returns( + { + allocation: Float, + default_unit_amount: String, + dimensions: T::Array[T.nilable(String)], + matrix_values: + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue + ] + } + ) + end + def to_hash + end + + class MatrixValue < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue, + Orb::Internal::AnyHash + ) + end + + # One or two matrix keys to filter usage to this Matrix value by. For example, + # ["region", "tier"] could be used to filter cloud usage by a cloud region and an + # instance tier. + sig { returns(T::Array[T.nilable(String)]) } + attr_accessor :dimension_values + + # Unit price for the specified dimension_values + sig { returns(String) } + attr_accessor :unit_amount + + sig do + params( + dimension_values: T::Array[T.nilable(String)], + unit_amount: String + ).returns(T.attached_class) + end + def self.new( + # One or two matrix keys to filter usage to this Matrix value by. For example, + # ["region", "tier"] could be used to filter cloud usage by a cloud region and an + # instance tier. + dimension_values:, + # Unit price for the specified dimension_values + unit_amount: + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[T.nilable(String)], + unit_amount: String + } + ) + end + def to_hash + end + end + end + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration, + Orb::Internal::AnyHash + ) + end + + # The list of dimension values matching (in order) the dimensions of the price + # group + sig { returns(T::Array[String]) } + attr_accessor :dimension_values + + # The id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :dimensional_price_group_id + + # The external id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :external_dimensional_price_group_id + + # For dimensional price: specifies a price group and dimension values + sig do + params( + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The list of dimension values matching (in order) the dimensions of the price + # group + dimension_values:, + # The id of the dimensional price group to include this price in + dimensional_price_group_id: nil, + # The external id of the dimensional price group to include this price in + external_dimensional_price_group_id: nil + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + } + ) + end + def to_hash + end + end + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + class GroupedTiered < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered, + Orb::Internal::AnyHash + ) + end + + # The cadence to bill for this price on. + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::Cadence::OrSymbol + ) + end + attr_accessor :cadence + + sig { returns(T::Hash[Symbol, T.anything]) } + attr_accessor :grouped_tiered_config + + # The id of the item the price will be associated with. + sig { returns(String) } + attr_accessor :item_id + + sig { returns(Symbol) } + attr_accessor :model_type + + # The name of the price. + sig { returns(String) } + attr_accessor :name + + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + sig { returns(T.nilable(String)) } + attr_accessor :billable_metric_id + + # 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. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :billed_in_advance + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration + ) + ) + end + attr_reader :billing_cycle_configuration + + sig do + params( + billing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :billing_cycle_configuration + + # The per unit conversion rate of the price currency to the invoicing currency. + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + sig { returns(T.nilable(String)) } + attr_accessor :currency + + # For dimensional price: specifies a price group and dimension values + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::DimensionalPriceConfiguration + ) + ) + end + attr_reader :dimensional_price_configuration + + sig do + params( + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::DimensionalPriceConfiguration::OrHash + ) + ).void + end + attr_writer :dimensional_price_configuration + + # An alias for the price. + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + # The property used to group this price on an invoice + sig { returns(T.nilable(String)) } + attr_accessor :invoice_grouping_key + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration + ) + ) + end + attr_reader :invoicing_cycle_configuration + + sig do + params( + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :invoicing_cycle_configuration + + # 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`. + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } + attr_accessor :metadata + + sig do + params( + cadence: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::Cadence::OrSymbol, + grouped_tiered_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::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration::OrHash + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::DimensionalPriceConfiguration::OrHash + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration::OrHash + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), + model_type: Symbol + ).returns(T.attached_class) + end + def self.new( + # The cadence to bill for this price on. + cadence:, + grouped_tiered_config:, + # The id of the item the price will be associated with. + item_id:, + # The name of the price. + name:, + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + billable_metric_id: nil, + # 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. + billed_in_advance: nil, + # For custom cadence: specifies the duration of the billing period in days or + # months. + billing_cycle_configuration: nil, + # The per unit conversion rate of the price currency to the invoicing currency. + conversion_rate: nil, + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + currency: nil, + # For dimensional price: specifies a price group and dimension values + dimensional_price_configuration: nil, + # An alias for the price. + external_price_id: nil, + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + fixed_price_quantity: nil, + # The property used to group this price on an invoice + invoice_grouping_key: nil, + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + invoicing_cycle_configuration: nil, + # 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`. + metadata: nil, + model_type: :grouped_tiered + ) + end + + sig do + override.returns( + { + cadence: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::Cadence::OrSymbol, + grouped_tiered_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::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration + ), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + dimensional_price_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::DimensionalPriceConfiguration + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) + } + ) + end + def to_hash + end + + # The cadence to bill for this price on. + module Cadence + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::Cadence + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ANNUAL = + T.let( + :annual, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::Cadence::TaggedSymbol + ) + SEMI_ANNUAL = + T.let( + :semi_annual, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::Cadence::TaggedSymbol + ) + MONTHLY = + T.let( + :monthly, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::Cadence::TaggedSymbol + ) + QUARTERLY = + T.let( + :quarterly, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::Cadence::TaggedSymbol + ) + ONE_TIME = + T.let( + :one_time, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::Cadence::TaggedSymbol + ) + CUSTOM = + T.let( + :custom, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::Cadence::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::Cadence::TaggedSymbol + ] + ) + end + def self.values + end + end + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::DimensionalPriceConfiguration, + Orb::Internal::AnyHash + ) + end + + # The list of dimension values matching (in order) the dimensions of the price + # group + sig { returns(T::Array[String]) } + attr_accessor :dimension_values + + # The id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :dimensional_price_group_id + + # The external id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :external_dimensional_price_group_id + + # For dimensional price: specifies a price group and dimension values + sig do + params( + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The list of dimension values matching (in order) the dimensions of the price + # group + dimension_values:, + # The id of the dimensional price group to include this price in + dimensional_price_group_id: nil, + # The external id of the dimensional price group to include this price in + external_dimensional_price_group_id: nil + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + } + ) + end + def to_hash + end + end + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Variants + ] + ) + end + def self.variants + end + end + end + end + end +end diff --git a/rbi/orb/models/beta_fetch_plan_version_params.rbi b/rbi/orb/models/beta_fetch_plan_version_params.rbi new file mode 100644 index 00000000..42670160 --- /dev/null +++ b/rbi/orb/models/beta_fetch_plan_version_params.rbi @@ -0,0 +1,35 @@ +# typed: strong + +module Orb + module Models + class BetaFetchPlanVersionParams < Orb::Internal::Type::BaseModel + extend Orb::Internal::Type::RequestParameters::Converter + include Orb::Internal::Type::RequestParameters + + OrHash = + T.type_alias do + T.any(Orb::BetaFetchPlanVersionParams, Orb::Internal::AnyHash) + end + + sig { returns(String) } + attr_accessor :plan_id + + sig do + params( + plan_id: String, + request_options: Orb::RequestOptions::OrHash + ).returns(T.attached_class) + end + def self.new(plan_id:, request_options: {}) + end + + sig do + override.returns( + { plan_id: String, request_options: Orb::RequestOptions } + ) + end + def to_hash + end + end + end +end diff --git a/rbi/orb/models/plan_set_default_version_params.rbi b/rbi/orb/models/beta_set_default_plan_version_params.rbi similarity index 83% rename from rbi/orb/models/plan_set_default_version_params.rbi rename to rbi/orb/models/beta_set_default_plan_version_params.rbi index 6987b8e2..7e3ecb52 100644 --- a/rbi/orb/models/plan_set_default_version_params.rbi +++ b/rbi/orb/models/beta_set_default_plan_version_params.rbi @@ -2,13 +2,13 @@ module Orb module Models - class PlanSetDefaultVersionParams < Orb::Internal::Type::BaseModel + class BetaSetDefaultPlanVersionParams < Orb::Internal::Type::BaseModel extend Orb::Internal::Type::RequestParameters::Converter include Orb::Internal::Type::RequestParameters OrHash = T.type_alias do - T.any(Orb::PlanSetDefaultVersionParams, Orb::Internal::AnyHash) + T.any(Orb::BetaSetDefaultPlanVersionParams, Orb::Internal::AnyHash) end # Plan version to set as the default. diff --git a/rbi/orb/models/plan_version.rbi b/rbi/orb/models/plan_version.rbi new file mode 100644 index 00000000..8196d62c --- /dev/null +++ b/rbi/orb/models/plan_version.rbi @@ -0,0 +1,1367 @@ +# typed: strong + +module Orb + module Models + class PlanVersion < Orb::Internal::Type::BaseModel + OrHash = T.type_alias { T.any(Orb::PlanVersion, Orb::Internal::AnyHash) } + + # Adjustments for this plan. If the plan has phases, this includes adjustments + # across all phases of the plan. + sig { returns(T::Array[Orb::PlanVersion::Adjustment::Variants]) } + attr_accessor :adjustments + + sig { returns(Time) } + attr_accessor :created_at + + sig { returns(T.nilable(T::Array[Orb::PlanVersionPhase])) } + attr_accessor :plan_phases + + # Prices for this plan. If the plan has phases, this includes prices across all + # phases of the plan. + sig { returns(T::Array[Orb::Price::Variants]) } + attr_accessor :prices + + sig { returns(Integer) } + attr_accessor :version + + # The PlanVersion resource represents the prices and adjustments present on a + # specific version of a plan. + sig do + params( + adjustments: + T::Array[ + T.any( + Orb::PlanVersion::Adjustment::UsageDiscount::OrHash, + Orb::PlanVersion::Adjustment::AmountDiscount::OrHash, + Orb::PlanVersion::Adjustment::PercentageDiscount::OrHash, + Orb::PlanVersion::Adjustment::Minimum::OrHash, + Orb::PlanVersion::Adjustment::Maximum::OrHash + ) + ], + created_at: Time, + plan_phases: T.nilable(T::Array[Orb::PlanVersionPhase::OrHash]), + prices: + T::Array[ + T.any( + Orb::Price::Unit::OrHash, + Orb::Price::Package::OrHash, + Orb::Price::Matrix::OrHash, + Orb::Price::Tiered::OrHash, + Orb::Price::TieredBps::OrHash, + Orb::Price::Bps::OrHash, + Orb::Price::BulkBps::OrHash, + Orb::Price::Bulk::OrHash, + Orb::Price::ThresholdTotalAmount::OrHash, + Orb::Price::TieredPackage::OrHash, + Orb::Price::GroupedTiered::OrHash, + Orb::Price::TieredWithMinimum::OrHash, + Orb::Price::TieredPackageWithMinimum::OrHash, + Orb::Price::PackageWithAllocation::OrHash, + Orb::Price::UnitWithPercent::OrHash, + Orb::Price::MatrixWithAllocation::OrHash, + Orb::Price::TieredWithProration::OrHash, + Orb::Price::UnitWithProration::OrHash, + Orb::Price::GroupedAllocation::OrHash, + Orb::Price::GroupedWithProratedMinimum::OrHash, + Orb::Price::GroupedWithMeteredMinimum::OrHash, + Orb::Price::MatrixWithDisplayName::OrHash, + Orb::Price::BulkWithProration::OrHash, + Orb::Price::GroupedTieredPackage::OrHash, + Orb::Price::MaxGroupTieredPackage::OrHash, + Orb::Price::ScalableMatrixWithUnitPricing::OrHash, + Orb::Price::ScalableMatrixWithTieredPricing::OrHash, + Orb::Price::CumulativeGroupedBulk::OrHash + ) + ], + version: Integer + ).returns(T.attached_class) + end + def self.new( + # Adjustments for this plan. If the plan has phases, this includes adjustments + # across all phases of the plan. + adjustments:, + created_at:, + plan_phases:, + # Prices for this plan. If the plan has phases, this includes prices across all + # phases of the plan. + prices:, + version: + ) + end + + sig do + override.returns( + { + adjustments: T::Array[Orb::PlanVersion::Adjustment::Variants], + created_at: Time, + plan_phases: T.nilable(T::Array[Orb::PlanVersionPhase]), + prices: T::Array[Orb::Price::Variants], + version: Integer + } + ) + end + def to_hash + end + + module Adjustment + extend Orb::Internal::Type::Union + + Variants = + T.type_alias do + T.any( + Orb::PlanVersion::Adjustment::UsageDiscount, + Orb::PlanVersion::Adjustment::AmountDiscount, + Orb::PlanVersion::Adjustment::PercentageDiscount, + Orb::PlanVersion::Adjustment::Minimum, + Orb::PlanVersion::Adjustment::Maximum + ) + end + + class UsageDiscount < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PlanVersion::Adjustment::UsageDiscount, + Orb::Internal::AnyHash + ) + end + + sig { returns(String) } + attr_accessor :id + + sig { returns(Symbol) } + attr_accessor :adjustment_type + + # The price IDs that this adjustment applies to. + sig { returns(T::Array[String]) } + attr_accessor :applies_to_price_ids + + # The filters that determine which prices to apply this adjustment to. + sig do + returns( + T::Array[Orb::PlanVersion::Adjustment::UsageDiscount::Filter] + ) + end + attr_accessor :filters + + # True for adjustments that apply to an entire invocice, false for adjustments + # that apply to only one price. + sig { returns(T::Boolean) } + attr_accessor :is_invoice_level + + # The plan phase in which this adjustment is active. + sig { returns(T.nilable(Integer)) } + attr_accessor :plan_phase_order + + # The reason for the adjustment. + sig { returns(T.nilable(String)) } + attr_accessor :reason + + # The number of usage units by which to discount the price this adjustment applies + # to in a given billing period. + sig { returns(Float) } + attr_accessor :usage_discount + + sig do + params( + id: String, + applies_to_price_ids: T::Array[String], + filters: + T::Array[ + Orb::PlanVersion::Adjustment::UsageDiscount::Filter::OrHash + ], + is_invoice_level: T::Boolean, + plan_phase_order: T.nilable(Integer), + reason: T.nilable(String), + usage_discount: Float, + adjustment_type: Symbol + ).returns(T.attached_class) + end + def self.new( + id:, + # The price IDs that this adjustment applies to. + applies_to_price_ids:, + # The filters that determine which prices to apply this adjustment to. + filters:, + # True for adjustments that apply to an entire invocice, false for adjustments + # that apply to only one price. + is_invoice_level:, + # The plan phase in which this adjustment is active. + plan_phase_order:, + # The reason for the adjustment. + reason:, + # The number of usage units by which to discount the price this adjustment applies + # to in a given billing period. + usage_discount:, + adjustment_type: :usage_discount + ) + end + + sig do + override.returns( + { + id: String, + adjustment_type: Symbol, + applies_to_price_ids: T::Array[String], + filters: + T::Array[Orb::PlanVersion::Adjustment::UsageDiscount::Filter], + is_invoice_level: T::Boolean, + plan_phase_order: T.nilable(Integer), + reason: T.nilable(String), + usage_discount: Float + } + ) + end + def to_hash + end + + class Filter < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PlanVersion::Adjustment::UsageDiscount::Filter, + Orb::Internal::AnyHash + ) + end + + # The property of the price to filter on. + sig do + returns( + Orb::PlanVersion::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol + ) + end + attr_accessor :field + + # Should prices that match the filter be included or excluded. + sig do + returns( + Orb::PlanVersion::Adjustment::UsageDiscount::Filter::Operator::TaggedSymbol + ) + end + attr_accessor :operator + + # The IDs or values that match this filter. + sig { returns(T::Array[String]) } + attr_accessor :values + + sig do + params( + field: + Orb::PlanVersion::Adjustment::UsageDiscount::Filter::Field::OrSymbol, + operator: + Orb::PlanVersion::Adjustment::UsageDiscount::Filter::Operator::OrSymbol, + values: T::Array[String] + ).returns(T.attached_class) + end + def self.new( + # The property of the price to filter on. + field:, + # Should prices that match the filter be included or excluded. + operator:, + # The IDs or values that match this filter. + values: + ) + end + + sig do + override.returns( + { + field: + Orb::PlanVersion::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol, + operator: + Orb::PlanVersion::Adjustment::UsageDiscount::Filter::Operator::TaggedSymbol, + values: T::Array[String] + } + ) + end + def to_hash + end + + # The property of the price to filter on. + module Field + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PlanVersion::Adjustment::UsageDiscount::Filter::Field + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + PRICE_ID = + T.let( + :price_id, + Orb::PlanVersion::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol + ) + ITEM_ID = + T.let( + :item_id, + Orb::PlanVersion::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol + ) + PRICE_TYPE = + T.let( + :price_type, + Orb::PlanVersion::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol + ) + CURRENCY = + T.let( + :currency, + Orb::PlanVersion::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol + ) + PRICING_UNIT_ID = + T.let( + :pricing_unit_id, + Orb::PlanVersion::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PlanVersion::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol + ] + ) + end + def self.values + end + end + + # Should prices that match the filter be included or excluded. + module Operator + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PlanVersion::Adjustment::UsageDiscount::Filter::Operator + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + INCLUDES = + T.let( + :includes, + Orb::PlanVersion::Adjustment::UsageDiscount::Filter::Operator::TaggedSymbol + ) + EXCLUDES = + T.let( + :excludes, + Orb::PlanVersion::Adjustment::UsageDiscount::Filter::Operator::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PlanVersion::Adjustment::UsageDiscount::Filter::Operator::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + class AmountDiscount < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PlanVersion::Adjustment::AmountDiscount, + Orb::Internal::AnyHash + ) + end + + sig { returns(String) } + attr_accessor :id + + sig { returns(Symbol) } + attr_accessor :adjustment_type + + # The amount by which to discount the prices this adjustment applies to in a given + # billing period. + sig { returns(String) } + attr_accessor :amount_discount + + # The price IDs that this adjustment applies to. + sig { returns(T::Array[String]) } + attr_accessor :applies_to_price_ids + + # The filters that determine which prices to apply this adjustment to. + sig do + returns( + T::Array[Orb::PlanVersion::Adjustment::AmountDiscount::Filter] + ) + end + attr_accessor :filters + + # True for adjustments that apply to an entire invocice, false for adjustments + # that apply to only one price. + sig { returns(T::Boolean) } + attr_accessor :is_invoice_level + + # The plan phase in which this adjustment is active. + sig { returns(T.nilable(Integer)) } + attr_accessor :plan_phase_order + + # The reason for the adjustment. + sig { returns(T.nilable(String)) } + attr_accessor :reason + + sig do + params( + id: String, + amount_discount: String, + applies_to_price_ids: T::Array[String], + filters: + T::Array[ + Orb::PlanVersion::Adjustment::AmountDiscount::Filter::OrHash + ], + is_invoice_level: T::Boolean, + plan_phase_order: T.nilable(Integer), + reason: T.nilable(String), + adjustment_type: Symbol + ).returns(T.attached_class) + end + def self.new( + id:, + # The amount by which to discount the prices this adjustment applies to in a given + # billing period. + amount_discount:, + # The price IDs that this adjustment applies to. + applies_to_price_ids:, + # The filters that determine which prices to apply this adjustment to. + filters:, + # True for adjustments that apply to an entire invocice, false for adjustments + # that apply to only one price. + is_invoice_level:, + # The plan phase in which this adjustment is active. + plan_phase_order:, + # The reason for the adjustment. + reason:, + adjustment_type: :amount_discount + ) + end + + sig do + override.returns( + { + id: String, + adjustment_type: Symbol, + amount_discount: String, + applies_to_price_ids: T::Array[String], + filters: + T::Array[ + Orb::PlanVersion::Adjustment::AmountDiscount::Filter + ], + is_invoice_level: T::Boolean, + plan_phase_order: T.nilable(Integer), + reason: T.nilable(String) + } + ) + end + def to_hash + end + + class Filter < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PlanVersion::Adjustment::AmountDiscount::Filter, + Orb::Internal::AnyHash + ) + end + + # The property of the price to filter on. + sig do + returns( + Orb::PlanVersion::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol + ) + end + attr_accessor :field + + # Should prices that match the filter be included or excluded. + sig do + returns( + Orb::PlanVersion::Adjustment::AmountDiscount::Filter::Operator::TaggedSymbol + ) + end + attr_accessor :operator + + # The IDs or values that match this filter. + sig { returns(T::Array[String]) } + attr_accessor :values + + sig do + params( + field: + Orb::PlanVersion::Adjustment::AmountDiscount::Filter::Field::OrSymbol, + operator: + Orb::PlanVersion::Adjustment::AmountDiscount::Filter::Operator::OrSymbol, + values: T::Array[String] + ).returns(T.attached_class) + end + def self.new( + # The property of the price to filter on. + field:, + # Should prices that match the filter be included or excluded. + operator:, + # The IDs or values that match this filter. + values: + ) + end + + sig do + override.returns( + { + field: + Orb::PlanVersion::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol, + operator: + Orb::PlanVersion::Adjustment::AmountDiscount::Filter::Operator::TaggedSymbol, + values: T::Array[String] + } + ) + end + def to_hash + end + + # The property of the price to filter on. + module Field + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PlanVersion::Adjustment::AmountDiscount::Filter::Field + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + PRICE_ID = + T.let( + :price_id, + Orb::PlanVersion::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol + ) + ITEM_ID = + T.let( + :item_id, + Orb::PlanVersion::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol + ) + PRICE_TYPE = + T.let( + :price_type, + Orb::PlanVersion::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol + ) + CURRENCY = + T.let( + :currency, + Orb::PlanVersion::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol + ) + PRICING_UNIT_ID = + T.let( + :pricing_unit_id, + Orb::PlanVersion::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PlanVersion::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol + ] + ) + end + def self.values + end + end + + # Should prices that match the filter be included or excluded. + module Operator + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PlanVersion::Adjustment::AmountDiscount::Filter::Operator + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + INCLUDES = + T.let( + :includes, + Orb::PlanVersion::Adjustment::AmountDiscount::Filter::Operator::TaggedSymbol + ) + EXCLUDES = + T.let( + :excludes, + Orb::PlanVersion::Adjustment::AmountDiscount::Filter::Operator::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PlanVersion::Adjustment::AmountDiscount::Filter::Operator::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + class PercentageDiscount < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PlanVersion::Adjustment::PercentageDiscount, + Orb::Internal::AnyHash + ) + end + + sig { returns(String) } + attr_accessor :id + + sig { returns(Symbol) } + attr_accessor :adjustment_type + + # The price IDs that this adjustment applies to. + sig { returns(T::Array[String]) } + attr_accessor :applies_to_price_ids + + # The filters that determine which prices to apply this adjustment to. + sig do + returns( + T::Array[Orb::PlanVersion::Adjustment::PercentageDiscount::Filter] + ) + end + attr_accessor :filters + + # True for adjustments that apply to an entire invocice, false for adjustments + # that apply to only one price. + sig { returns(T::Boolean) } + attr_accessor :is_invoice_level + + # The percentage (as a value between 0 and 1) by which to discount the price + # intervals this adjustment applies to in a given billing period. + sig { returns(Float) } + attr_accessor :percentage_discount + + # The plan phase in which this adjustment is active. + sig { returns(T.nilable(Integer)) } + attr_accessor :plan_phase_order + + # The reason for the adjustment. + sig { returns(T.nilable(String)) } + attr_accessor :reason + + sig do + params( + id: String, + applies_to_price_ids: T::Array[String], + filters: + T::Array[ + Orb::PlanVersion::Adjustment::PercentageDiscount::Filter::OrHash + ], + is_invoice_level: T::Boolean, + percentage_discount: Float, + plan_phase_order: T.nilable(Integer), + reason: T.nilable(String), + adjustment_type: Symbol + ).returns(T.attached_class) + end + def self.new( + id:, + # The price IDs that this adjustment applies to. + applies_to_price_ids:, + # The filters that determine which prices to apply this adjustment to. + filters:, + # True for adjustments that apply to an entire invocice, false for adjustments + # that apply to only one price. + is_invoice_level:, + # The percentage (as a value between 0 and 1) by which to discount the price + # intervals this adjustment applies to in a given billing period. + percentage_discount:, + # The plan phase in which this adjustment is active. + plan_phase_order:, + # The reason for the adjustment. + reason:, + adjustment_type: :percentage_discount + ) + end + + sig do + override.returns( + { + id: String, + adjustment_type: Symbol, + applies_to_price_ids: T::Array[String], + filters: + T::Array[ + Orb::PlanVersion::Adjustment::PercentageDiscount::Filter + ], + is_invoice_level: T::Boolean, + percentage_discount: Float, + plan_phase_order: T.nilable(Integer), + reason: T.nilable(String) + } + ) + end + def to_hash + end + + class Filter < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PlanVersion::Adjustment::PercentageDiscount::Filter, + Orb::Internal::AnyHash + ) + end + + # The property of the price to filter on. + sig do + returns( + Orb::PlanVersion::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol + ) + end + attr_accessor :field + + # Should prices that match the filter be included or excluded. + sig do + returns( + Orb::PlanVersion::Adjustment::PercentageDiscount::Filter::Operator::TaggedSymbol + ) + end + attr_accessor :operator + + # The IDs or values that match this filter. + sig { returns(T::Array[String]) } + attr_accessor :values + + sig do + params( + field: + Orb::PlanVersion::Adjustment::PercentageDiscount::Filter::Field::OrSymbol, + operator: + Orb::PlanVersion::Adjustment::PercentageDiscount::Filter::Operator::OrSymbol, + values: T::Array[String] + ).returns(T.attached_class) + end + def self.new( + # The property of the price to filter on. + field:, + # Should prices that match the filter be included or excluded. + operator:, + # The IDs or values that match this filter. + values: + ) + end + + sig do + override.returns( + { + field: + Orb::PlanVersion::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol, + operator: + Orb::PlanVersion::Adjustment::PercentageDiscount::Filter::Operator::TaggedSymbol, + values: T::Array[String] + } + ) + end + def to_hash + end + + # The property of the price to filter on. + module Field + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PlanVersion::Adjustment::PercentageDiscount::Filter::Field + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + PRICE_ID = + T.let( + :price_id, + Orb::PlanVersion::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol + ) + ITEM_ID = + T.let( + :item_id, + Orb::PlanVersion::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol + ) + PRICE_TYPE = + T.let( + :price_type, + Orb::PlanVersion::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol + ) + CURRENCY = + T.let( + :currency, + Orb::PlanVersion::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol + ) + PRICING_UNIT_ID = + T.let( + :pricing_unit_id, + Orb::PlanVersion::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PlanVersion::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol + ] + ) + end + def self.values + end + end + + # Should prices that match the filter be included or excluded. + module Operator + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PlanVersion::Adjustment::PercentageDiscount::Filter::Operator + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + INCLUDES = + T.let( + :includes, + Orb::PlanVersion::Adjustment::PercentageDiscount::Filter::Operator::TaggedSymbol + ) + EXCLUDES = + T.let( + :excludes, + Orb::PlanVersion::Adjustment::PercentageDiscount::Filter::Operator::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PlanVersion::Adjustment::PercentageDiscount::Filter::Operator::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + class Minimum < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PlanVersion::Adjustment::Minimum, + Orb::Internal::AnyHash + ) + end + + sig { returns(String) } + attr_accessor :id + + sig { returns(Symbol) } + attr_accessor :adjustment_type + + # The price IDs that this adjustment applies to. + sig { returns(T::Array[String]) } + attr_accessor :applies_to_price_ids + + # The filters that determine which prices to apply this adjustment to. + sig do + returns(T::Array[Orb::PlanVersion::Adjustment::Minimum::Filter]) + end + attr_accessor :filters + + # True for adjustments that apply to an entire invocice, false for adjustments + # that apply to only one price. + sig { returns(T::Boolean) } + attr_accessor :is_invoice_level + + # The item ID that revenue from this minimum will be attributed to. + sig { returns(String) } + attr_accessor :item_id + + # The minimum amount to charge in a given billing period for the prices this + # adjustment applies to. + sig { returns(String) } + attr_accessor :minimum_amount + + # The plan phase in which this adjustment is active. + sig { returns(T.nilable(Integer)) } + attr_accessor :plan_phase_order + + # The reason for the adjustment. + sig { returns(T.nilable(String)) } + attr_accessor :reason + + sig do + params( + id: String, + applies_to_price_ids: T::Array[String], + filters: + T::Array[Orb::PlanVersion::Adjustment::Minimum::Filter::OrHash], + is_invoice_level: T::Boolean, + item_id: String, + minimum_amount: String, + plan_phase_order: T.nilable(Integer), + reason: T.nilable(String), + adjustment_type: Symbol + ).returns(T.attached_class) + end + def self.new( + id:, + # The price IDs that this adjustment applies to. + applies_to_price_ids:, + # The filters that determine which prices to apply this adjustment to. + filters:, + # True for adjustments that apply to an entire invocice, false for adjustments + # that apply to only one price. + is_invoice_level:, + # The item ID that revenue from this minimum will be attributed to. + item_id:, + # The minimum amount to charge in a given billing period for the prices this + # adjustment applies to. + minimum_amount:, + # The plan phase in which this adjustment is active. + plan_phase_order:, + # The reason for the adjustment. + reason:, + adjustment_type: :minimum + ) + end + + sig do + override.returns( + { + id: String, + adjustment_type: Symbol, + applies_to_price_ids: T::Array[String], + filters: + T::Array[Orb::PlanVersion::Adjustment::Minimum::Filter], + is_invoice_level: T::Boolean, + item_id: String, + minimum_amount: String, + plan_phase_order: T.nilable(Integer), + reason: T.nilable(String) + } + ) + end + def to_hash + end + + class Filter < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PlanVersion::Adjustment::Minimum::Filter, + Orb::Internal::AnyHash + ) + end + + # The property of the price to filter on. + sig do + returns( + Orb::PlanVersion::Adjustment::Minimum::Filter::Field::TaggedSymbol + ) + end + attr_accessor :field + + # Should prices that match the filter be included or excluded. + sig do + returns( + Orb::PlanVersion::Adjustment::Minimum::Filter::Operator::TaggedSymbol + ) + end + attr_accessor :operator + + # The IDs or values that match this filter. + sig { returns(T::Array[String]) } + attr_accessor :values + + sig do + params( + field: + Orb::PlanVersion::Adjustment::Minimum::Filter::Field::OrSymbol, + operator: + Orb::PlanVersion::Adjustment::Minimum::Filter::Operator::OrSymbol, + values: T::Array[String] + ).returns(T.attached_class) + end + def self.new( + # The property of the price to filter on. + field:, + # Should prices that match the filter be included or excluded. + operator:, + # The IDs or values that match this filter. + values: + ) + end + + sig do + override.returns( + { + field: + Orb::PlanVersion::Adjustment::Minimum::Filter::Field::TaggedSymbol, + operator: + Orb::PlanVersion::Adjustment::Minimum::Filter::Operator::TaggedSymbol, + values: T::Array[String] + } + ) + end + def to_hash + end + + # The property of the price to filter on. + module Field + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PlanVersion::Adjustment::Minimum::Filter::Field + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + PRICE_ID = + T.let( + :price_id, + Orb::PlanVersion::Adjustment::Minimum::Filter::Field::TaggedSymbol + ) + ITEM_ID = + T.let( + :item_id, + Orb::PlanVersion::Adjustment::Minimum::Filter::Field::TaggedSymbol + ) + PRICE_TYPE = + T.let( + :price_type, + Orb::PlanVersion::Adjustment::Minimum::Filter::Field::TaggedSymbol + ) + CURRENCY = + T.let( + :currency, + Orb::PlanVersion::Adjustment::Minimum::Filter::Field::TaggedSymbol + ) + PRICING_UNIT_ID = + T.let( + :pricing_unit_id, + Orb::PlanVersion::Adjustment::Minimum::Filter::Field::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PlanVersion::Adjustment::Minimum::Filter::Field::TaggedSymbol + ] + ) + end + def self.values + end + end + + # Should prices that match the filter be included or excluded. + module Operator + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PlanVersion::Adjustment::Minimum::Filter::Operator + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + INCLUDES = + T.let( + :includes, + Orb::PlanVersion::Adjustment::Minimum::Filter::Operator::TaggedSymbol + ) + EXCLUDES = + T.let( + :excludes, + Orb::PlanVersion::Adjustment::Minimum::Filter::Operator::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PlanVersion::Adjustment::Minimum::Filter::Operator::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + class Maximum < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PlanVersion::Adjustment::Maximum, + Orb::Internal::AnyHash + ) + end + + sig { returns(String) } + attr_accessor :id + + sig { returns(Symbol) } + attr_accessor :adjustment_type + + # The price IDs that this adjustment applies to. + sig { returns(T::Array[String]) } + attr_accessor :applies_to_price_ids + + # The filters that determine which prices to apply this adjustment to. + sig do + returns(T::Array[Orb::PlanVersion::Adjustment::Maximum::Filter]) + end + attr_accessor :filters + + # True for adjustments that apply to an entire invocice, false for adjustments + # that apply to only one price. + sig { returns(T::Boolean) } + attr_accessor :is_invoice_level + + # The maximum amount to charge in a given billing period for the prices this + # adjustment applies to. + sig { returns(String) } + attr_accessor :maximum_amount + + # The plan phase in which this adjustment is active. + sig { returns(T.nilable(Integer)) } + attr_accessor :plan_phase_order + + # The reason for the adjustment. + sig { returns(T.nilable(String)) } + attr_accessor :reason + + sig do + params( + id: String, + applies_to_price_ids: T::Array[String], + filters: + T::Array[Orb::PlanVersion::Adjustment::Maximum::Filter::OrHash], + is_invoice_level: T::Boolean, + maximum_amount: String, + plan_phase_order: T.nilable(Integer), + reason: T.nilable(String), + adjustment_type: Symbol + ).returns(T.attached_class) + end + def self.new( + id:, + # The price IDs that this adjustment applies to. + applies_to_price_ids:, + # The filters that determine which prices to apply this adjustment to. + filters:, + # True for adjustments that apply to an entire invocice, false for adjustments + # that apply to only one price. + is_invoice_level:, + # The maximum amount to charge in a given billing period for the prices this + # adjustment applies to. + maximum_amount:, + # The plan phase in which this adjustment is active. + plan_phase_order:, + # The reason for the adjustment. + reason:, + adjustment_type: :maximum + ) + end + + sig do + override.returns( + { + id: String, + adjustment_type: Symbol, + applies_to_price_ids: T::Array[String], + filters: + T::Array[Orb::PlanVersion::Adjustment::Maximum::Filter], + is_invoice_level: T::Boolean, + maximum_amount: String, + plan_phase_order: T.nilable(Integer), + reason: T.nilable(String) + } + ) + end + def to_hash + end + + class Filter < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PlanVersion::Adjustment::Maximum::Filter, + Orb::Internal::AnyHash + ) + end + + # The property of the price to filter on. + sig do + returns( + Orb::PlanVersion::Adjustment::Maximum::Filter::Field::TaggedSymbol + ) + end + attr_accessor :field + + # Should prices that match the filter be included or excluded. + sig do + returns( + Orb::PlanVersion::Adjustment::Maximum::Filter::Operator::TaggedSymbol + ) + end + attr_accessor :operator + + # The IDs or values that match this filter. + sig { returns(T::Array[String]) } + attr_accessor :values + + sig do + params( + field: + Orb::PlanVersion::Adjustment::Maximum::Filter::Field::OrSymbol, + operator: + Orb::PlanVersion::Adjustment::Maximum::Filter::Operator::OrSymbol, + values: T::Array[String] + ).returns(T.attached_class) + end + def self.new( + # The property of the price to filter on. + field:, + # Should prices that match the filter be included or excluded. + operator:, + # The IDs or values that match this filter. + values: + ) + end + + sig do + override.returns( + { + field: + Orb::PlanVersion::Adjustment::Maximum::Filter::Field::TaggedSymbol, + operator: + Orb::PlanVersion::Adjustment::Maximum::Filter::Operator::TaggedSymbol, + values: T::Array[String] + } + ) + end + def to_hash + end + + # The property of the price to filter on. + module Field + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PlanVersion::Adjustment::Maximum::Filter::Field + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + PRICE_ID = + T.let( + :price_id, + Orb::PlanVersion::Adjustment::Maximum::Filter::Field::TaggedSymbol + ) + ITEM_ID = + T.let( + :item_id, + Orb::PlanVersion::Adjustment::Maximum::Filter::Field::TaggedSymbol + ) + PRICE_TYPE = + T.let( + :price_type, + Orb::PlanVersion::Adjustment::Maximum::Filter::Field::TaggedSymbol + ) + CURRENCY = + T.let( + :currency, + Orb::PlanVersion::Adjustment::Maximum::Filter::Field::TaggedSymbol + ) + PRICING_UNIT_ID = + T.let( + :pricing_unit_id, + Orb::PlanVersion::Adjustment::Maximum::Filter::Field::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PlanVersion::Adjustment::Maximum::Filter::Field::TaggedSymbol + ] + ) + end + def self.values + end + end + + # Should prices that match the filter be included or excluded. + module Operator + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PlanVersion::Adjustment::Maximum::Filter::Operator + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + INCLUDES = + T.let( + :includes, + Orb::PlanVersion::Adjustment::Maximum::Filter::Operator::TaggedSymbol + ) + EXCLUDES = + T.let( + :excludes, + Orb::PlanVersion::Adjustment::Maximum::Filter::Operator::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PlanVersion::Adjustment::Maximum::Filter::Operator::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + sig do + override.returns(T::Array[Orb::PlanVersion::Adjustment::Variants]) + end + def self.variants + end + end + end + end +end diff --git a/rbi/orb/models/plan_version_phase.rbi b/rbi/orb/models/plan_version_phase.rbi new file mode 100644 index 00000000..82a88316 --- /dev/null +++ b/rbi/orb/models/plan_version_phase.rbi @@ -0,0 +1,99 @@ +# typed: strong + +module Orb + module Models + class PlanVersionPhase < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias { T.any(Orb::PlanVersionPhase, Orb::Internal::AnyHash) } + + sig { returns(String) } + attr_accessor :id + + sig { returns(T.nilable(String)) } + attr_accessor :description + + # How many terms of length `duration_unit` this phase is active for. If null, this + # phase is evergreen and active indefinitely + sig { returns(T.nilable(Integer)) } + attr_accessor :duration + + sig do + returns(T.nilable(Orb::PlanVersionPhase::DurationUnit::TaggedSymbol)) + end + attr_accessor :duration_unit + + sig { returns(String) } + attr_accessor :name + + # Determines the ordering of the phase in a plan's lifecycle. 1 = first phase. + sig { returns(Integer) } + attr_accessor :order + + sig do + params( + id: String, + description: T.nilable(String), + duration: T.nilable(Integer), + duration_unit: + T.nilable(Orb::PlanVersionPhase::DurationUnit::OrSymbol), + name: String, + order: Integer + ).returns(T.attached_class) + end + def self.new( + id:, + description:, + # How many terms of length `duration_unit` this phase is active for. If null, this + # phase is evergreen and active indefinitely + duration:, + duration_unit:, + name:, + # Determines the ordering of the phase in a plan's lifecycle. 1 = first phase. + order: + ) + end + + sig do + override.returns( + { + id: String, + description: T.nilable(String), + duration: T.nilable(Integer), + duration_unit: + T.nilable(Orb::PlanVersionPhase::DurationUnit::TaggedSymbol), + name: String, + order: Integer + } + ) + end + def to_hash + end + + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias { T.all(Symbol, Orb::PlanVersionPhase::DurationUnit) } + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAILY = T.let(:daily, Orb::PlanVersionPhase::DurationUnit::TaggedSymbol) + MONTHLY = + T.let(:monthly, Orb::PlanVersionPhase::DurationUnit::TaggedSymbol) + QUARTERLY = + T.let(:quarterly, Orb::PlanVersionPhase::DurationUnit::TaggedSymbol) + SEMI_ANNUAL = + T.let(:semi_annual, Orb::PlanVersionPhase::DurationUnit::TaggedSymbol) + ANNUAL = + T.let(:annual, Orb::PlanVersionPhase::DurationUnit::TaggedSymbol) + + sig do + override.returns( + T::Array[Orb::PlanVersionPhase::DurationUnit::TaggedSymbol] + ) + end + def self.values + end + end + end + end +end diff --git a/rbi/orb/models/plans/external_plan_id/version_create_params.rbi b/rbi/orb/models/plans/external_plan_id/version_create_params.rbi deleted file mode 100644 index f1353ba8..00000000 --- a/rbi/orb/models/plans/external_plan_id/version_create_params.rbi +++ /dev/null @@ -1,32668 +0,0 @@ -# typed: strong - -module Orb - module Models - module Plans - module ExternalPlanID - class VersionCreateParams < Orb::Internal::Type::BaseModel - extend Orb::Internal::Type::RequestParameters::Converter - include Orb::Internal::Type::RequestParameters - - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams, - Orb::Internal::AnyHash - ) - end - - # New version number. - sig { returns(Integer) } - attr_accessor :version - - # Additional adjustments to be added to the plan. - sig do - returns( - T.nilable( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddAdjustment - ] - ) - ) - end - attr_accessor :add_adjustments - - # Additional prices to be added to the plan. - sig do - returns( - T.nilable( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice - ] - ) - ) - end - attr_accessor :add_prices - - # Adjustments to be removed from the plan. - sig do - returns( - T.nilable( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::RemoveAdjustment - ] - ) - ) - end - attr_accessor :remove_adjustments - - # Prices to be removed from the plan. - sig do - returns( - T.nilable( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::RemovePrice - ] - ) - ) - end - attr_accessor :remove_prices - - # Adjustments to be replaced with additional adjustments on the plan. - sig do - returns( - T.nilable( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplaceAdjustment - ] - ) - ) - end - attr_accessor :replace_adjustments - - # Prices to be replaced with additional prices on the plan. - sig do - returns( - T.nilable( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice - ] - ) - ) - end - attr_accessor :replace_prices - - # Set this new plan version as the default - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :set_as_default - - sig do - params( - version: Integer, - add_adjustments: - T.nilable( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddAdjustment::OrHash - ] - ), - add_prices: - T.nilable( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::OrHash - ] - ), - remove_adjustments: - T.nilable( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::RemoveAdjustment::OrHash - ] - ), - remove_prices: - T.nilable( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::RemovePrice::OrHash - ] - ), - replace_adjustments: - T.nilable( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplaceAdjustment::OrHash - ] - ), - replace_prices: - T.nilable( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::OrHash - ] - ), - set_as_default: T.nilable(T::Boolean), - request_options: Orb::RequestOptions::OrHash - ).returns(T.attached_class) - end - def self.new( - # New version number. - version:, - # Additional adjustments to be added to the plan. - add_adjustments: nil, - # Additional prices to be added to the plan. - add_prices: nil, - # Adjustments to be removed from the plan. - remove_adjustments: nil, - # Prices to be removed from the plan. - remove_prices: nil, - # Adjustments to be replaced with additional adjustments on the plan. - replace_adjustments: nil, - # Prices to be replaced with additional prices on the plan. - replace_prices: nil, - # Set this new plan version as the default - set_as_default: nil, - request_options: {} - ) - end - - sig do - override.returns( - { - version: Integer, - add_adjustments: - T.nilable( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddAdjustment - ] - ), - add_prices: - T.nilable( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice - ] - ), - remove_adjustments: - T.nilable( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::RemoveAdjustment - ] - ), - remove_prices: - T.nilable( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::RemovePrice - ] - ), - replace_adjustments: - T.nilable( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplaceAdjustment - ] - ), - replace_prices: - T.nilable( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice - ] - ), - set_as_default: T.nilable(T::Boolean), - request_options: Orb::RequestOptions - } - ) - end - def to_hash - end - - class AddAdjustment < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddAdjustment, - Orb::Internal::AnyHash - ) - end - - # The definition of a new adjustment to create and add to the plan. - sig do - returns( - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddAdjustment::Adjustment::PercentageDiscount, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddAdjustment::Adjustment::UsageDiscount, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddAdjustment::Adjustment::AmountDiscount, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddAdjustment::Adjustment::Minimum, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddAdjustment::Adjustment::Maximum - ) - ) - end - attr_accessor :adjustment - - # The phase to add this adjustment to. - sig { returns(T.nilable(Integer)) } - attr_accessor :plan_phase_order - - sig do - params( - adjustment: - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddAdjustment::Adjustment::PercentageDiscount::OrHash, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddAdjustment::Adjustment::UsageDiscount::OrHash, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddAdjustment::Adjustment::AmountDiscount::OrHash, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddAdjustment::Adjustment::Minimum::OrHash, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddAdjustment::Adjustment::Maximum::OrHash - ), - plan_phase_order: T.nilable(Integer) - ).returns(T.attached_class) - end - def self.new( - # The definition of a new adjustment to create and add to the plan. - adjustment:, - # The phase to add this adjustment to. - plan_phase_order: nil - ) - end - - sig do - override.returns( - { - adjustment: - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddAdjustment::Adjustment::PercentageDiscount, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddAdjustment::Adjustment::UsageDiscount, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddAdjustment::Adjustment::AmountDiscount, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddAdjustment::Adjustment::Minimum, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddAdjustment::Adjustment::Maximum - ), - plan_phase_order: T.nilable(Integer) - } - ) - end - def to_hash - end - - # The definition of a new adjustment to create and add to the plan. - module Adjustment - extend Orb::Internal::Type::Union - - Variants = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddAdjustment::Adjustment::PercentageDiscount, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddAdjustment::Adjustment::UsageDiscount, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddAdjustment::Adjustment::AmountDiscount, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddAdjustment::Adjustment::Minimum, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddAdjustment::Adjustment::Maximum - ) - end - - class PercentageDiscount < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddAdjustment::Adjustment::PercentageDiscount, - Orb::Internal::AnyHash - ) - end - - sig { returns(Symbol) } - attr_accessor :adjustment_type - - sig { returns(Float) } - attr_accessor :percentage_discount - - # The set of price IDs to which this adjustment applies. - sig { returns(T.nilable(T::Array[String])) } - attr_accessor :applies_to_price_ids - - # When false, this adjustment will be applied to a single price. Otherwise, it - # will be applied at the invoice level, possibly to multiple prices. - sig { returns(T.nilable(T::Boolean)) } - attr_reader :is_invoice_level - - sig { params(is_invoice_level: T::Boolean).void } - attr_writer :is_invoice_level - - sig do - params( - percentage_discount: Float, - applies_to_price_ids: T.nilable(T::Array[String]), - is_invoice_level: T::Boolean, - adjustment_type: Symbol - ).returns(T.attached_class) - end - def self.new( - percentage_discount:, - # The set of price IDs to which this adjustment applies. - applies_to_price_ids: nil, - # When false, this adjustment will be applied to a single price. Otherwise, it - # will be applied at the invoice level, possibly to multiple prices. - is_invoice_level: nil, - adjustment_type: :percentage_discount - ) - end - - sig do - override.returns( - { - adjustment_type: Symbol, - percentage_discount: Float, - applies_to_price_ids: T.nilable(T::Array[String]), - is_invoice_level: T::Boolean - } - ) - end - def to_hash - end - end - - class UsageDiscount < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddAdjustment::Adjustment::UsageDiscount, - Orb::Internal::AnyHash - ) - end - - sig { returns(Symbol) } - attr_accessor :adjustment_type - - sig { returns(Float) } - attr_accessor :usage_discount - - # The set of price IDs to which this adjustment applies. - sig { returns(T.nilable(T::Array[String])) } - attr_accessor :applies_to_price_ids - - # When false, this adjustment will be applied to a single price. Otherwise, it - # will be applied at the invoice level, possibly to multiple prices. - sig { returns(T.nilable(T::Boolean)) } - attr_reader :is_invoice_level - - sig { params(is_invoice_level: T::Boolean).void } - attr_writer :is_invoice_level - - sig do - params( - usage_discount: Float, - applies_to_price_ids: T.nilable(T::Array[String]), - is_invoice_level: T::Boolean, - adjustment_type: Symbol - ).returns(T.attached_class) - end - def self.new( - usage_discount:, - # The set of price IDs to which this adjustment applies. - applies_to_price_ids: nil, - # When false, this adjustment will be applied to a single price. Otherwise, it - # will be applied at the invoice level, possibly to multiple prices. - is_invoice_level: nil, - adjustment_type: :usage_discount - ) - end - - sig do - override.returns( - { - adjustment_type: Symbol, - usage_discount: Float, - applies_to_price_ids: T.nilable(T::Array[String]), - is_invoice_level: T::Boolean - } - ) - end - def to_hash - end - end - - class AmountDiscount < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddAdjustment::Adjustment::AmountDiscount, - Orb::Internal::AnyHash - ) - end - - sig { returns(Symbol) } - attr_accessor :adjustment_type - - sig { returns(String) } - attr_accessor :amount_discount - - # The set of price IDs to which this adjustment applies. - sig { returns(T.nilable(T::Array[String])) } - attr_accessor :applies_to_price_ids - - # When false, this adjustment will be applied to a single price. Otherwise, it - # will be applied at the invoice level, possibly to multiple prices. - sig { returns(T.nilable(T::Boolean)) } - attr_reader :is_invoice_level - - sig { params(is_invoice_level: T::Boolean).void } - attr_writer :is_invoice_level - - sig do - params( - amount_discount: String, - applies_to_price_ids: T.nilable(T::Array[String]), - is_invoice_level: T::Boolean, - adjustment_type: Symbol - ).returns(T.attached_class) - end - def self.new( - amount_discount:, - # The set of price IDs to which this adjustment applies. - applies_to_price_ids: nil, - # When false, this adjustment will be applied to a single price. Otherwise, it - # will be applied at the invoice level, possibly to multiple prices. - is_invoice_level: nil, - adjustment_type: :amount_discount - ) - end - - sig do - override.returns( - { - adjustment_type: Symbol, - amount_discount: String, - applies_to_price_ids: T.nilable(T::Array[String]), - is_invoice_level: T::Boolean - } - ) - end - def to_hash - end - end - - class Minimum < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddAdjustment::Adjustment::Minimum, - Orb::Internal::AnyHash - ) - end - - sig { returns(Symbol) } - attr_accessor :adjustment_type - - # The item ID that revenue from this minimum will be attributed to. - sig { returns(String) } - attr_accessor :item_id - - sig { returns(String) } - attr_accessor :minimum_amount - - # The set of price IDs to which this adjustment applies. - sig { returns(T.nilable(T::Array[String])) } - attr_accessor :applies_to_price_ids - - # When false, this adjustment will be applied to a single price. Otherwise, it - # will be applied at the invoice level, possibly to multiple prices. - sig { returns(T.nilable(T::Boolean)) } - attr_reader :is_invoice_level - - sig { params(is_invoice_level: T::Boolean).void } - attr_writer :is_invoice_level - - sig do - params( - item_id: String, - minimum_amount: String, - applies_to_price_ids: T.nilable(T::Array[String]), - is_invoice_level: T::Boolean, - adjustment_type: Symbol - ).returns(T.attached_class) - end - def self.new( - # The item ID that revenue from this minimum will be attributed to. - item_id:, - minimum_amount:, - # The set of price IDs to which this adjustment applies. - applies_to_price_ids: nil, - # When false, this adjustment will be applied to a single price. Otherwise, it - # will be applied at the invoice level, possibly to multiple prices. - is_invoice_level: nil, - adjustment_type: :minimum - ) - end - - sig do - override.returns( - { - adjustment_type: Symbol, - item_id: String, - minimum_amount: String, - applies_to_price_ids: T.nilable(T::Array[String]), - is_invoice_level: T::Boolean - } - ) - end - def to_hash - end - end - - class Maximum < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddAdjustment::Adjustment::Maximum, - Orb::Internal::AnyHash - ) - end - - sig { returns(Symbol) } - attr_accessor :adjustment_type - - sig { returns(String) } - attr_accessor :maximum_amount - - # The set of price IDs to which this adjustment applies. - sig { returns(T.nilable(T::Array[String])) } - attr_accessor :applies_to_price_ids - - # When false, this adjustment will be applied to a single price. Otherwise, it - # will be applied at the invoice level, possibly to multiple prices. - sig { returns(T.nilable(T::Boolean)) } - attr_reader :is_invoice_level - - sig { params(is_invoice_level: T::Boolean).void } - attr_writer :is_invoice_level - - sig do - params( - maximum_amount: String, - applies_to_price_ids: T.nilable(T::Array[String]), - is_invoice_level: T::Boolean, - adjustment_type: Symbol - ).returns(T.attached_class) - end - def self.new( - maximum_amount:, - # The set of price IDs to which this adjustment applies. - applies_to_price_ids: nil, - # When false, this adjustment will be applied to a single price. Otherwise, it - # will be applied at the invoice level, possibly to multiple prices. - is_invoice_level: nil, - adjustment_type: :maximum - ) - end - - sig do - override.returns( - { - adjustment_type: Symbol, - maximum_amount: String, - applies_to_price_ids: T.nilable(T::Array[String]), - is_invoice_level: T::Boolean - } - ) - end - def to_hash - end - end - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddAdjustment::Adjustment::Variants - ] - ) - end - def self.variants - end - end - end - - class AddPrice < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice, - Orb::Internal::AnyHash - ) - end - - # The allocation price to add to the plan. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::AllocationPrice - ) - ) - end - attr_reader :allocation_price - - sig do - params( - allocation_price: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::AllocationPrice::OrHash - ) - ).void - end - attr_writer :allocation_price - - # The phase to add this price to. - sig { returns(T.nilable(Integer)) } - attr_accessor :plan_phase_order - - # The price to add to the plan - sig do - returns( - T.nilable( - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered - ) - ) - ) - end - attr_accessor :price - - sig do - params( - allocation_price: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::AllocationPrice::OrHash - ), - plan_phase_order: T.nilable(Integer), - price: - T.nilable( - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::OrHash, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::OrHash, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::OrHash, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::OrHash, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::OrHash, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::OrHash, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::OrHash, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::OrHash, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::OrHash, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::OrHash, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::OrHash, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::OrHash, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::OrHash, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::OrHash, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::OrHash, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::OrHash, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::OrHash, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::OrHash, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::OrHash, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::OrHash, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::OrHash, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::OrHash, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::OrHash, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::OrHash, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::OrHash, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::OrHash, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::OrHash, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::OrHash - ) - ) - ).returns(T.attached_class) - end - def self.new( - # The allocation price to add to the plan. - allocation_price: nil, - # The phase to add this price to. - plan_phase_order: nil, - # The price to add to the plan - price: nil - ) - end - - sig do - override.returns( - { - allocation_price: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::AllocationPrice - ), - plan_phase_order: T.nilable(Integer), - price: - T.nilable( - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered - ) - ) - } - ) - end - def to_hash - end - - class AllocationPrice < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::AllocationPrice, - Orb::Internal::AnyHash - ) - end - - # An amount of the currency to allocate to the customer at the specified cadence. - sig { returns(String) } - attr_accessor :amount - - # The cadence at which to allocate the amount to the customer. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::AllocationPrice::Cadence::OrSymbol - ) - end - attr_accessor :cadence - - # An ISO 4217 currency string or a custom pricing unit identifier in which to bill - # this price. - sig { returns(String) } - attr_accessor :currency - - # Whether the allocated amount should expire at the end of the cadence or roll - # over to the next period. - sig { returns(T::Boolean) } - attr_accessor :expires_at_end_of_cadence - - # The allocation price to add to the plan. - sig do - params( - amount: String, - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::AllocationPrice::Cadence::OrSymbol, - currency: String, - expires_at_end_of_cadence: T::Boolean - ).returns(T.attached_class) - end - def self.new( - # An amount of the currency to allocate to the customer at the specified cadence. - amount:, - # The cadence at which to allocate the amount to the customer. - cadence:, - # An ISO 4217 currency string or a custom pricing unit identifier in which to bill - # this price. - currency:, - # Whether the allocated amount should expire at the end of the cadence or roll - # over to the next period. - expires_at_end_of_cadence: - ) - end - - sig do - override.returns( - { - amount: String, - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::AllocationPrice::Cadence::OrSymbol, - currency: String, - expires_at_end_of_cadence: T::Boolean - } - ) - end - def to_hash - end - - # The cadence at which to allocate the amount to the customer. - module Cadence - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::AllocationPrice::Cadence - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ONE_TIME = - T.let( - :one_time, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::AllocationPrice::Cadence::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::AllocationPrice::Cadence::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::AllocationPrice::Cadence::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::AllocationPrice::Cadence::TaggedSymbol - ) - ANNUAL = - T.let( - :annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::AllocationPrice::Cadence::TaggedSymbol - ) - CUSTOM = - T.let( - :custom, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::AllocationPrice::Cadence::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::AllocationPrice::Cadence::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - # The price to add to the plan - module Price - extend Orb::Internal::Type::Union - - Variants = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered - ) - end - - class Unit < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit, - Orb::Internal::AnyHash - ) - end - - # The cadence to bill for this price on. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::Cadence::OrSymbol - ) - end - attr_accessor :cadence - - # The id of the item the price will be associated with. - sig { returns(String) } - attr_accessor :item_id - - sig { returns(Symbol) } - attr_accessor :model_type - - # The name of the price. - sig { returns(String) } - attr_accessor :name - - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::UnitConfig - ) - end - attr_reader :unit_config - - sig do - params( - unit_config: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::UnitConfig::OrHash - ).void - end - attr_writer :unit_config - - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - sig { returns(T.nilable(String)) } - attr_accessor :billable_metric_id - - # 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. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :billed_in_advance - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::BillingCycleConfiguration - ) - ) - end - attr_reader :billing_cycle_configuration - - sig do - params( - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::BillingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :billing_cycle_configuration - - # The per unit conversion rate of the price currency to the invoicing currency. - sig { returns(T.nilable(Float)) } - attr_accessor :conversion_rate - - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - sig { returns(T.nilable(String)) } - attr_accessor :currency - - # For dimensional price: specifies a price group and dimension values - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::DimensionalPriceConfiguration - ) - ) - end - attr_reader :dimensional_price_configuration - - sig do - params( - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::DimensionalPriceConfiguration::OrHash - ) - ).void - end - attr_writer :dimensional_price_configuration - - # An alias for the price. - sig { returns(T.nilable(String)) } - attr_accessor :external_price_id - - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - sig { returns(T.nilable(Float)) } - attr_accessor :fixed_price_quantity - - # The property used to group this price on an invoice - sig { returns(T.nilable(String)) } - attr_accessor :invoice_grouping_key - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::InvoicingCycleConfiguration - ) - ) - end - attr_reader :invoicing_cycle_configuration - - sig do - params( - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::InvoicingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :invoicing_cycle_configuration - - # 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`. - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } - attr_accessor :metadata - - sig do - params( - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::Cadence::OrSymbol, - item_id: String, - name: String, - unit_config: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::UnitConfig::OrHash, - billable_metric_id: T.nilable(String), - billed_in_advance: T.nilable(T::Boolean), - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::BillingCycleConfiguration::OrHash - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::DimensionalPriceConfiguration::OrHash - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::InvoicingCycleConfiguration::OrHash - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), - model_type: Symbol - ).returns(T.attached_class) - end - def self.new( - # The cadence to bill for this price on. - cadence:, - # The id of the item the price will be associated with. - item_id:, - # The name of the price. - name:, - unit_config:, - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - billable_metric_id: nil, - # 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. - billed_in_advance: nil, - # For custom cadence: specifies the duration of the billing period in days or - # months. - billing_cycle_configuration: nil, - # The per unit conversion rate of the price currency to the invoicing currency. - conversion_rate: nil, - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - currency: nil, - # For dimensional price: specifies a price group and dimension values - dimensional_price_configuration: nil, - # An alias for the price. - external_price_id: nil, - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - fixed_price_quantity: nil, - # The property used to group this price on an invoice - invoice_grouping_key: nil, - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - invoicing_cycle_configuration: nil, - # 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`. - metadata: nil, - model_type: :unit - ) - end - - sig do - override.returns( - { - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::Cadence::OrSymbol, - item_id: String, - model_type: Symbol, - name: String, - unit_config: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::UnitConfig, - billable_metric_id: T.nilable(String), - billed_in_advance: T.nilable(T::Boolean), - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::BillingCycleConfiguration - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::DimensionalPriceConfiguration - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::InvoicingCycleConfiguration - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) - } - ) - end - def to_hash - end - - # The cadence to bill for this price on. - module Cadence - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::Cadence - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ANNUAL = - T.let( - :annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::Cadence::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::Cadence::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::Cadence::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::Cadence::TaggedSymbol - ) - ONE_TIME = - T.let( - :one_time, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::Cadence::TaggedSymbol - ) - CUSTOM = - T.let( - :custom, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::Cadence::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::Cadence::TaggedSymbol - ] - ) - end - def self.values - end - end - - class UnitConfig < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::UnitConfig, - Orb::Internal::AnyHash - ) - end - - # Rate per unit of usage - sig { returns(String) } - attr_accessor :unit_amount - - sig { params(unit_amount: String).returns(T.attached_class) } - def self.new( - # Rate per unit of usage - unit_amount: - ) - end - - sig { override.returns({ unit_amount: String }) } - def to_hash - end - end - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::BillingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::BillingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::BillingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::BillingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::BillingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::DimensionalPriceConfiguration, - Orb::Internal::AnyHash - ) - end - - # The list of dimension values matching (in order) the dimensions of the price - # group - sig { returns(T::Array[String]) } - attr_accessor :dimension_values - - # The id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :dimensional_price_group_id - - # The external id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :external_dimensional_price_group_id - - # For dimensional price: specifies a price group and dimension values - sig do - params( - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The list of dimension values matching (in order) the dimensions of the price - # group - dimension_values:, - # The id of the dimensional price group to include this price in - dimensional_price_group_id: nil, - # The external id of the dimensional price group to include this price in - external_dimensional_price_group_id: nil - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - } - ) - end - def to_hash - end - end - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::InvoicingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::InvoicingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::InvoicingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class Package < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package, - Orb::Internal::AnyHash - ) - end - - # The cadence to bill for this price on. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::Cadence::OrSymbol - ) - end - attr_accessor :cadence - - # The id of the item the price will be associated with. - sig { returns(String) } - attr_accessor :item_id - - sig { returns(Symbol) } - attr_accessor :model_type - - # The name of the price. - sig { returns(String) } - attr_accessor :name - - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::PackageConfig - ) - end - attr_reader :package_config - - sig do - params( - package_config: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::PackageConfig::OrHash - ).void - end - attr_writer :package_config - - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - sig { returns(T.nilable(String)) } - attr_accessor :billable_metric_id - - # 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. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :billed_in_advance - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::BillingCycleConfiguration - ) - ) - end - attr_reader :billing_cycle_configuration - - sig do - params( - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::BillingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :billing_cycle_configuration - - # The per unit conversion rate of the price currency to the invoicing currency. - sig { returns(T.nilable(Float)) } - attr_accessor :conversion_rate - - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - sig { returns(T.nilable(String)) } - attr_accessor :currency - - # For dimensional price: specifies a price group and dimension values - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::DimensionalPriceConfiguration - ) - ) - end - attr_reader :dimensional_price_configuration - - sig do - params( - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::DimensionalPriceConfiguration::OrHash - ) - ).void - end - attr_writer :dimensional_price_configuration - - # An alias for the price. - sig { returns(T.nilable(String)) } - attr_accessor :external_price_id - - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - sig { returns(T.nilable(Float)) } - attr_accessor :fixed_price_quantity - - # The property used to group this price on an invoice - sig { returns(T.nilable(String)) } - attr_accessor :invoice_grouping_key - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::InvoicingCycleConfiguration - ) - ) - end - attr_reader :invoicing_cycle_configuration - - sig do - params( - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::InvoicingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :invoicing_cycle_configuration - - # 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`. - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } - attr_accessor :metadata - - sig do - params( - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::Cadence::OrSymbol, - item_id: String, - name: String, - package_config: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::PackageConfig::OrHash, - billable_metric_id: T.nilable(String), - billed_in_advance: T.nilable(T::Boolean), - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::BillingCycleConfiguration::OrHash - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::DimensionalPriceConfiguration::OrHash - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::InvoicingCycleConfiguration::OrHash - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), - model_type: Symbol - ).returns(T.attached_class) - end - def self.new( - # The cadence to bill for this price on. - cadence:, - # The id of the item the price will be associated with. - item_id:, - # The name of the price. - name:, - package_config:, - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - billable_metric_id: nil, - # 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. - billed_in_advance: nil, - # For custom cadence: specifies the duration of the billing period in days or - # months. - billing_cycle_configuration: nil, - # The per unit conversion rate of the price currency to the invoicing currency. - conversion_rate: nil, - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - currency: nil, - # For dimensional price: specifies a price group and dimension values - dimensional_price_configuration: nil, - # An alias for the price. - external_price_id: nil, - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - fixed_price_quantity: nil, - # The property used to group this price on an invoice - invoice_grouping_key: nil, - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - invoicing_cycle_configuration: nil, - # 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`. - metadata: nil, - model_type: :package - ) - end - - sig do - override.returns( - { - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::Cadence::OrSymbol, - item_id: String, - model_type: Symbol, - name: String, - package_config: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::PackageConfig, - billable_metric_id: T.nilable(String), - billed_in_advance: T.nilable(T::Boolean), - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::BillingCycleConfiguration - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::DimensionalPriceConfiguration - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::InvoicingCycleConfiguration - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) - } - ) - end - def to_hash - end - - # The cadence to bill for this price on. - module Cadence - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::Cadence - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ANNUAL = - T.let( - :annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::Cadence::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::Cadence::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::Cadence::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::Cadence::TaggedSymbol - ) - ONE_TIME = - T.let( - :one_time, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::Cadence::TaggedSymbol - ) - CUSTOM = - T.let( - :custom, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::Cadence::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::Cadence::TaggedSymbol - ] - ) - end - def self.values - end - end - - class PackageConfig < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::PackageConfig, - Orb::Internal::AnyHash - ) - end - - # A currency amount to rate usage by - sig { returns(String) } - attr_accessor :package_amount - - # An integer amount to represent package size. For example, 1000 here would divide - # usage by 1000 before multiplying by package_amount in rating - sig { returns(Integer) } - attr_accessor :package_size - - sig do - params( - package_amount: String, - package_size: Integer - ).returns(T.attached_class) - end - def self.new( - # A currency amount to rate usage by - package_amount:, - # An integer amount to represent package size. For example, 1000 here would divide - # usage by 1000 before multiplying by package_amount in rating - package_size: - ) - end - - sig do - override.returns( - { package_amount: String, package_size: Integer } - ) - end - def to_hash - end - end - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::BillingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::BillingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::BillingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::BillingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::BillingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::DimensionalPriceConfiguration, - Orb::Internal::AnyHash - ) - end - - # The list of dimension values matching (in order) the dimensions of the price - # group - sig { returns(T::Array[String]) } - attr_accessor :dimension_values - - # The id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :dimensional_price_group_id - - # The external id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :external_dimensional_price_group_id - - # For dimensional price: specifies a price group and dimension values - sig do - params( - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The list of dimension values matching (in order) the dimensions of the price - # group - dimension_values:, - # The id of the dimensional price group to include this price in - dimensional_price_group_id: nil, - # The external id of the dimensional price group to include this price in - external_dimensional_price_group_id: nil - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - } - ) - end - def to_hash - end - end - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::InvoicingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::InvoicingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::InvoicingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class Matrix < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix, - Orb::Internal::AnyHash - ) - end - - # The cadence to bill for this price on. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::Cadence::OrSymbol - ) - end - attr_accessor :cadence - - # The id of the item the price will be associated with. - sig { returns(String) } - attr_accessor :item_id - - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::MatrixConfig - ) - end - attr_reader :matrix_config - - sig do - params( - matrix_config: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::MatrixConfig::OrHash - ).void - end - attr_writer :matrix_config - - sig { returns(Symbol) } - attr_accessor :model_type - - # The name of the price. - sig { returns(String) } - attr_accessor :name - - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - sig { returns(T.nilable(String)) } - attr_accessor :billable_metric_id - - # 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. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :billed_in_advance - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::BillingCycleConfiguration - ) - ) - end - attr_reader :billing_cycle_configuration - - sig do - params( - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::BillingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :billing_cycle_configuration - - # The per unit conversion rate of the price currency to the invoicing currency. - sig { returns(T.nilable(Float)) } - attr_accessor :conversion_rate - - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - sig { returns(T.nilable(String)) } - attr_accessor :currency - - # For dimensional price: specifies a price group and dimension values - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::DimensionalPriceConfiguration - ) - ) - end - attr_reader :dimensional_price_configuration - - sig do - params( - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::DimensionalPriceConfiguration::OrHash - ) - ).void - end - attr_writer :dimensional_price_configuration - - # An alias for the price. - sig { returns(T.nilable(String)) } - attr_accessor :external_price_id - - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - sig { returns(T.nilable(Float)) } - attr_accessor :fixed_price_quantity - - # The property used to group this price on an invoice - sig { returns(T.nilable(String)) } - attr_accessor :invoice_grouping_key - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration - ) - ) - end - attr_reader :invoicing_cycle_configuration - - sig do - params( - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :invoicing_cycle_configuration - - # 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`. - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } - attr_accessor :metadata - - sig do - params( - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::Cadence::OrSymbol, - item_id: String, - matrix_config: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::MatrixConfig::OrHash, - name: String, - billable_metric_id: T.nilable(String), - billed_in_advance: T.nilable(T::Boolean), - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::BillingCycleConfiguration::OrHash - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::DimensionalPriceConfiguration::OrHash - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration::OrHash - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), - model_type: Symbol - ).returns(T.attached_class) - end - def self.new( - # The cadence to bill for this price on. - cadence:, - # The id of the item the price will be associated with. - item_id:, - matrix_config:, - # The name of the price. - name:, - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - billable_metric_id: nil, - # 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. - billed_in_advance: nil, - # For custom cadence: specifies the duration of the billing period in days or - # months. - billing_cycle_configuration: nil, - # The per unit conversion rate of the price currency to the invoicing currency. - conversion_rate: nil, - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - currency: nil, - # For dimensional price: specifies a price group and dimension values - dimensional_price_configuration: nil, - # An alias for the price. - external_price_id: nil, - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - fixed_price_quantity: nil, - # The property used to group this price on an invoice - invoice_grouping_key: nil, - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - invoicing_cycle_configuration: nil, - # 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`. - metadata: nil, - model_type: :matrix - ) - end - - sig do - override.returns( - { - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::Cadence::OrSymbol, - item_id: String, - matrix_config: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::MatrixConfig, - model_type: Symbol, - name: String, - billable_metric_id: T.nilable(String), - billed_in_advance: T.nilable(T::Boolean), - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::BillingCycleConfiguration - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::DimensionalPriceConfiguration - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) - } - ) - end - def to_hash - end - - # The cadence to bill for this price on. - module Cadence - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::Cadence - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ANNUAL = - T.let( - :annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::Cadence::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::Cadence::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::Cadence::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::Cadence::TaggedSymbol - ) - ONE_TIME = - T.let( - :one_time, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::Cadence::TaggedSymbol - ) - CUSTOM = - T.let( - :custom, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::Cadence::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::Cadence::TaggedSymbol - ] - ) - end - def self.values - end - end - - class MatrixConfig < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::MatrixConfig, - Orb::Internal::AnyHash - ) - end - - # Default per unit rate for any usage not bucketed into a specified matrix_value - sig { returns(String) } - attr_accessor :default_unit_amount - - # One or two event property values to evaluate matrix groups by - sig { returns(T::Array[T.nilable(String)]) } - attr_accessor :dimensions - - # Matrix values for specified matrix grouping keys - sig do - returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::MatrixConfig::MatrixValue - ] - ) - end - attr_accessor :matrix_values - - sig do - params( - default_unit_amount: String, - dimensions: T::Array[T.nilable(String)], - matrix_values: - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::MatrixConfig::MatrixValue::OrHash - ] - ).returns(T.attached_class) - end - def self.new( - # Default per unit rate for any usage not bucketed into a specified matrix_value - default_unit_amount:, - # One or two event property values to evaluate matrix groups by - dimensions:, - # Matrix values for specified matrix grouping keys - matrix_values: - ) - end - - sig do - override.returns( - { - default_unit_amount: String, - dimensions: T::Array[T.nilable(String)], - matrix_values: - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::MatrixConfig::MatrixValue - ] - } - ) - end - def to_hash - end - - class MatrixValue < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::MatrixConfig::MatrixValue, - Orb::Internal::AnyHash - ) - end - - # One or two matrix keys to filter usage to this Matrix value by. For example, - # ["region", "tier"] could be used to filter cloud usage by a cloud region and an - # instance tier. - sig { returns(T::Array[T.nilable(String)]) } - attr_accessor :dimension_values - - # Unit price for the specified dimension_values - sig { returns(String) } - attr_accessor :unit_amount - - sig do - params( - dimension_values: T::Array[T.nilable(String)], - unit_amount: String - ).returns(T.attached_class) - end - def self.new( - # One or two matrix keys to filter usage to this Matrix value by. For example, - # ["region", "tier"] could be used to filter cloud usage by a cloud region and an - # instance tier. - dimension_values:, - # Unit price for the specified dimension_values - unit_amount: - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[T.nilable(String)], - unit_amount: String - } - ) - end - def to_hash - end - end - end - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::BillingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::BillingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::BillingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::BillingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::BillingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::DimensionalPriceConfiguration, - Orb::Internal::AnyHash - ) - end - - # The list of dimension values matching (in order) the dimensions of the price - # group - sig { returns(T::Array[String]) } - attr_accessor :dimension_values - - # The id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :dimensional_price_group_id - - # The external id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :external_dimensional_price_group_id - - # For dimensional price: specifies a price group and dimension values - sig do - params( - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The list of dimension values matching (in order) the dimensions of the price - # group - dimension_values:, - # The id of the dimensional price group to include this price in - dimensional_price_group_id: nil, - # The external id of the dimensional price group to include this price in - external_dimensional_price_group_id: nil - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - } - ) - end - def to_hash - end - end - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class Tiered < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered, - Orb::Internal::AnyHash - ) - end - - # The cadence to bill for this price on. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::Cadence::OrSymbol - ) - end - attr_accessor :cadence - - # The id of the item the price will be associated with. - sig { returns(String) } - attr_accessor :item_id - - sig { returns(Symbol) } - attr_accessor :model_type - - # The name of the price. - sig { returns(String) } - attr_accessor :name - - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::TieredConfig - ) - end - attr_reader :tiered_config - - sig do - params( - tiered_config: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::TieredConfig::OrHash - ).void - end - attr_writer :tiered_config - - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - sig { returns(T.nilable(String)) } - attr_accessor :billable_metric_id - - # 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. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :billed_in_advance - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::BillingCycleConfiguration - ) - ) - end - attr_reader :billing_cycle_configuration - - sig do - params( - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::BillingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :billing_cycle_configuration - - # The per unit conversion rate of the price currency to the invoicing currency. - sig { returns(T.nilable(Float)) } - attr_accessor :conversion_rate - - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - sig { returns(T.nilable(String)) } - attr_accessor :currency - - # For dimensional price: specifies a price group and dimension values - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::DimensionalPriceConfiguration - ) - ) - end - attr_reader :dimensional_price_configuration - - sig do - params( - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::DimensionalPriceConfiguration::OrHash - ) - ).void - end - attr_writer :dimensional_price_configuration - - # An alias for the price. - sig { returns(T.nilable(String)) } - attr_accessor :external_price_id - - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - sig { returns(T.nilable(Float)) } - attr_accessor :fixed_price_quantity - - # The property used to group this price on an invoice - sig { returns(T.nilable(String)) } - attr_accessor :invoice_grouping_key - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration - ) - ) - end - attr_reader :invoicing_cycle_configuration - - sig do - params( - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :invoicing_cycle_configuration - - # 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`. - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } - attr_accessor :metadata - - sig do - params( - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::Cadence::OrSymbol, - item_id: String, - name: String, - tiered_config: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::TieredConfig::OrHash, - billable_metric_id: T.nilable(String), - billed_in_advance: T.nilable(T::Boolean), - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::BillingCycleConfiguration::OrHash - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::DimensionalPriceConfiguration::OrHash - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration::OrHash - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), - model_type: Symbol - ).returns(T.attached_class) - end - def self.new( - # The cadence to bill for this price on. - cadence:, - # The id of the item the price will be associated with. - item_id:, - # The name of the price. - name:, - tiered_config:, - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - billable_metric_id: nil, - # 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. - billed_in_advance: nil, - # For custom cadence: specifies the duration of the billing period in days or - # months. - billing_cycle_configuration: nil, - # The per unit conversion rate of the price currency to the invoicing currency. - conversion_rate: nil, - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - currency: nil, - # For dimensional price: specifies a price group and dimension values - dimensional_price_configuration: nil, - # An alias for the price. - external_price_id: nil, - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - fixed_price_quantity: nil, - # The property used to group this price on an invoice - invoice_grouping_key: nil, - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - invoicing_cycle_configuration: nil, - # 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`. - metadata: nil, - model_type: :tiered - ) - end - - sig do - override.returns( - { - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::Cadence::OrSymbol, - item_id: String, - model_type: Symbol, - name: String, - tiered_config: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::TieredConfig, - billable_metric_id: T.nilable(String), - billed_in_advance: T.nilable(T::Boolean), - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::BillingCycleConfiguration - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::DimensionalPriceConfiguration - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) - } - ) - end - def to_hash - end - - # The cadence to bill for this price on. - module Cadence - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::Cadence - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ANNUAL = - T.let( - :annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::Cadence::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::Cadence::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::Cadence::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::Cadence::TaggedSymbol - ) - ONE_TIME = - T.let( - :one_time, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::Cadence::TaggedSymbol - ) - CUSTOM = - T.let( - :custom, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::Cadence::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::Cadence::TaggedSymbol - ] - ) - end - def self.values - end - end - - class TieredConfig < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::TieredConfig, - Orb::Internal::AnyHash - ) - end - - # Tiers for rating based on total usage quantities into the specified tier - sig do - returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::TieredConfig::Tier - ] - ) - end - attr_accessor :tiers - - sig do - params( - tiers: - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::TieredConfig::Tier::OrHash - ] - ).returns(T.attached_class) - end - def self.new( - # Tiers for rating based on total usage quantities into the specified tier - tiers: - ) - end - - sig do - override.returns( - { - tiers: - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::TieredConfig::Tier - ] - } - ) - end - def to_hash - end - - class Tier < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::TieredConfig::Tier, - Orb::Internal::AnyHash - ) - end - - # Exclusive tier starting value - sig { returns(Float) } - attr_accessor :first_unit - - # Amount per unit - sig { returns(String) } - attr_accessor :unit_amount - - # Inclusive tier ending value. If null, this is treated as the last tier - sig { returns(T.nilable(Float)) } - attr_accessor :last_unit - - sig do - params( - first_unit: Float, - unit_amount: String, - last_unit: T.nilable(Float) - ).returns(T.attached_class) - end - def self.new( - # Exclusive tier starting value - first_unit:, - # Amount per unit - unit_amount:, - # Inclusive tier ending value. If null, this is treated as the last tier - last_unit: nil - ) - end - - sig do - override.returns( - { - first_unit: Float, - unit_amount: String, - last_unit: T.nilable(Float) - } - ) - end - def to_hash - end - end - end - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::BillingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::BillingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::BillingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::BillingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::BillingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::DimensionalPriceConfiguration, - Orb::Internal::AnyHash - ) - end - - # The list of dimension values matching (in order) the dimensions of the price - # group - sig { returns(T::Array[String]) } - attr_accessor :dimension_values - - # The id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :dimensional_price_group_id - - # The external id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :external_dimensional_price_group_id - - # For dimensional price: specifies a price group and dimension values - sig do - params( - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The list of dimension values matching (in order) the dimensions of the price - # group - dimension_values:, - # The id of the dimensional price group to include this price in - dimensional_price_group_id: nil, - # The external id of the dimensional price group to include this price in - external_dimensional_price_group_id: nil - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - } - ) - end - def to_hash - end - end - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class TieredBps < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps, - Orb::Internal::AnyHash - ) - end - - # The cadence to bill for this price on. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::Cadence::OrSymbol - ) - end - attr_accessor :cadence - - # The id of the item the price will be associated with. - sig { returns(String) } - attr_accessor :item_id - - sig { returns(Symbol) } - attr_accessor :model_type - - # The name of the price. - sig { returns(String) } - attr_accessor :name - - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::TieredBpsConfig - ) - end - attr_reader :tiered_bps_config - - sig do - params( - tiered_bps_config: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::TieredBpsConfig::OrHash - ).void - end - attr_writer :tiered_bps_config - - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - sig { returns(T.nilable(String)) } - attr_accessor :billable_metric_id - - # 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. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :billed_in_advance - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::BillingCycleConfiguration - ) - ) - end - attr_reader :billing_cycle_configuration - - sig do - params( - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::BillingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :billing_cycle_configuration - - # The per unit conversion rate of the price currency to the invoicing currency. - sig { returns(T.nilable(Float)) } - attr_accessor :conversion_rate - - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - sig { returns(T.nilable(String)) } - attr_accessor :currency - - # For dimensional price: specifies a price group and dimension values - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::DimensionalPriceConfiguration - ) - ) - end - attr_reader :dimensional_price_configuration - - sig do - params( - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::DimensionalPriceConfiguration::OrHash - ) - ).void - end - attr_writer :dimensional_price_configuration - - # An alias for the price. - sig { returns(T.nilable(String)) } - attr_accessor :external_price_id - - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - sig { returns(T.nilable(Float)) } - attr_accessor :fixed_price_quantity - - # The property used to group this price on an invoice - sig { returns(T.nilable(String)) } - attr_accessor :invoice_grouping_key - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration - ) - ) - end - attr_reader :invoicing_cycle_configuration - - sig do - params( - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :invoicing_cycle_configuration - - # 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`. - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } - attr_accessor :metadata - - sig do - params( - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::Cadence::OrSymbol, - item_id: String, - name: String, - tiered_bps_config: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::TieredBpsConfig::OrHash, - billable_metric_id: T.nilable(String), - billed_in_advance: T.nilable(T::Boolean), - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::BillingCycleConfiguration::OrHash - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::DimensionalPriceConfiguration::OrHash - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration::OrHash - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), - model_type: Symbol - ).returns(T.attached_class) - end - def self.new( - # The cadence to bill for this price on. - cadence:, - # The id of the item the price will be associated with. - item_id:, - # The name of the price. - name:, - tiered_bps_config:, - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - billable_metric_id: nil, - # 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. - billed_in_advance: nil, - # For custom cadence: specifies the duration of the billing period in days or - # months. - billing_cycle_configuration: nil, - # The per unit conversion rate of the price currency to the invoicing currency. - conversion_rate: nil, - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - currency: nil, - # For dimensional price: specifies a price group and dimension values - dimensional_price_configuration: nil, - # An alias for the price. - external_price_id: nil, - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - fixed_price_quantity: nil, - # The property used to group this price on an invoice - invoice_grouping_key: nil, - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - invoicing_cycle_configuration: nil, - # 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`. - metadata: nil, - model_type: :tiered_bps - ) - end - - sig do - override.returns( - { - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::Cadence::OrSymbol, - item_id: String, - model_type: Symbol, - name: String, - tiered_bps_config: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::TieredBpsConfig, - billable_metric_id: T.nilable(String), - billed_in_advance: T.nilable(T::Boolean), - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::BillingCycleConfiguration - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::DimensionalPriceConfiguration - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) - } - ) - end - def to_hash - end - - # The cadence to bill for this price on. - module Cadence - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::Cadence - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ANNUAL = - T.let( - :annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::Cadence::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::Cadence::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::Cadence::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::Cadence::TaggedSymbol - ) - ONE_TIME = - T.let( - :one_time, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::Cadence::TaggedSymbol - ) - CUSTOM = - T.let( - :custom, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::Cadence::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::Cadence::TaggedSymbol - ] - ) - end - def self.values - end - end - - class TieredBpsConfig < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::TieredBpsConfig, - Orb::Internal::AnyHash - ) - end - - # Tiers for a Graduated BPS pricing model, where usage is bucketed into specified - # tiers - sig do - returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::TieredBpsConfig::Tier - ] - ) - end - attr_accessor :tiers - - sig do - params( - tiers: - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::TieredBpsConfig::Tier::OrHash - ] - ).returns(T.attached_class) - end - def self.new( - # Tiers for a Graduated BPS pricing model, where usage is bucketed into specified - # tiers - tiers: - ) - end - - sig do - override.returns( - { - tiers: - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::TieredBpsConfig::Tier - ] - } - ) - end - def to_hash - end - - class Tier < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::TieredBpsConfig::Tier, - Orb::Internal::AnyHash - ) - end - - # Per-event basis point rate - sig { returns(Float) } - attr_accessor :bps - - # Exclusive tier starting value - sig { returns(String) } - attr_accessor :minimum_amount - - # Inclusive tier ending value - sig { returns(T.nilable(String)) } - attr_accessor :maximum_amount - - # Per unit maximum to charge - sig { returns(T.nilable(String)) } - attr_accessor :per_unit_maximum - - sig do - params( - bps: Float, - minimum_amount: String, - maximum_amount: T.nilable(String), - per_unit_maximum: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # Per-event basis point rate - bps:, - # Exclusive tier starting value - minimum_amount:, - # Inclusive tier ending value - maximum_amount: nil, - # Per unit maximum to charge - per_unit_maximum: nil - ) - end - - sig do - override.returns( - { - bps: Float, - minimum_amount: String, - maximum_amount: T.nilable(String), - per_unit_maximum: T.nilable(String) - } - ) - end - def to_hash - end - end - end - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::BillingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::BillingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::BillingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::BillingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::BillingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::DimensionalPriceConfiguration, - Orb::Internal::AnyHash - ) - end - - # The list of dimension values matching (in order) the dimensions of the price - # group - sig { returns(T::Array[String]) } - attr_accessor :dimension_values - - # The id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :dimensional_price_group_id - - # The external id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :external_dimensional_price_group_id - - # For dimensional price: specifies a price group and dimension values - sig do - params( - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The list of dimension values matching (in order) the dimensions of the price - # group - dimension_values:, - # The id of the dimensional price group to include this price in - dimensional_price_group_id: nil, - # The external id of the dimensional price group to include this price in - external_dimensional_price_group_id: nil - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - } - ) - end - def to_hash - end - end - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class Bps < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps, - Orb::Internal::AnyHash - ) - end - - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::BpsConfig - ) - end - attr_reader :bps_config - - sig do - params( - bps_config: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::BpsConfig::OrHash - ).void - end - attr_writer :bps_config - - # The cadence to bill for this price on. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::Cadence::OrSymbol - ) - end - attr_accessor :cadence - - # The id of the item the price will be associated with. - sig { returns(String) } - attr_accessor :item_id - - sig { returns(Symbol) } - attr_accessor :model_type - - # The name of the price. - sig { returns(String) } - attr_accessor :name - - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - sig { returns(T.nilable(String)) } - attr_accessor :billable_metric_id - - # 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. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :billed_in_advance - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::BillingCycleConfiguration - ) - ) - end - attr_reader :billing_cycle_configuration - - sig do - params( - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::BillingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :billing_cycle_configuration - - # The per unit conversion rate of the price currency to the invoicing currency. - sig { returns(T.nilable(Float)) } - attr_accessor :conversion_rate - - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - sig { returns(T.nilable(String)) } - attr_accessor :currency - - # For dimensional price: specifies a price group and dimension values - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::DimensionalPriceConfiguration - ) - ) - end - attr_reader :dimensional_price_configuration - - sig do - params( - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::DimensionalPriceConfiguration::OrHash - ) - ).void - end - attr_writer :dimensional_price_configuration - - # An alias for the price. - sig { returns(T.nilable(String)) } - attr_accessor :external_price_id - - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - sig { returns(T.nilable(Float)) } - attr_accessor :fixed_price_quantity - - # The property used to group this price on an invoice - sig { returns(T.nilable(String)) } - attr_accessor :invoice_grouping_key - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::InvoicingCycleConfiguration - ) - ) - end - attr_reader :invoicing_cycle_configuration - - sig do - params( - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::InvoicingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :invoicing_cycle_configuration - - # 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`. - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } - attr_accessor :metadata - - sig do - params( - bps_config: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::BpsConfig::OrHash, - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::Cadence::OrSymbol, - item_id: String, - name: String, - billable_metric_id: T.nilable(String), - billed_in_advance: T.nilable(T::Boolean), - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::BillingCycleConfiguration::OrHash - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::DimensionalPriceConfiguration::OrHash - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::InvoicingCycleConfiguration::OrHash - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), - model_type: Symbol - ).returns(T.attached_class) - end - def self.new( - bps_config:, - # The cadence to bill for this price on. - cadence:, - # The id of the item the price will be associated with. - item_id:, - # The name of the price. - name:, - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - billable_metric_id: nil, - # 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. - billed_in_advance: nil, - # For custom cadence: specifies the duration of the billing period in days or - # months. - billing_cycle_configuration: nil, - # The per unit conversion rate of the price currency to the invoicing currency. - conversion_rate: nil, - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - currency: nil, - # For dimensional price: specifies a price group and dimension values - dimensional_price_configuration: nil, - # An alias for the price. - external_price_id: nil, - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - fixed_price_quantity: nil, - # The property used to group this price on an invoice - invoice_grouping_key: nil, - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - invoicing_cycle_configuration: nil, - # 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`. - metadata: nil, - model_type: :bps - ) - end - - sig do - override.returns( - { - bps_config: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::BpsConfig, - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::Cadence::OrSymbol, - 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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::BillingCycleConfiguration - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::DimensionalPriceConfiguration - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::InvoicingCycleConfiguration - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) - } - ) - end - def to_hash - end - - class BpsConfig < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::BpsConfig, - Orb::Internal::AnyHash - ) - end - - # Basis point take rate per event - sig { returns(Float) } - attr_accessor :bps - - # Optional currency amount maximum to cap spend per event - sig { returns(T.nilable(String)) } - attr_accessor :per_unit_maximum - - sig do - params( - bps: Float, - per_unit_maximum: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # Basis point take rate per event - bps:, - # Optional currency amount maximum to cap spend per event - per_unit_maximum: nil - ) - end - - sig do - override.returns( - { bps: Float, per_unit_maximum: T.nilable(String) } - ) - end - def to_hash - end - end - - # The cadence to bill for this price on. - module Cadence - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::Cadence - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ANNUAL = - T.let( - :annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::Cadence::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::Cadence::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::Cadence::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::Cadence::TaggedSymbol - ) - ONE_TIME = - T.let( - :one_time, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::Cadence::TaggedSymbol - ) - CUSTOM = - T.let( - :custom, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::Cadence::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::Cadence::TaggedSymbol - ] - ) - end - def self.values - end - end - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::BillingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::BillingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::BillingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::BillingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::BillingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::DimensionalPriceConfiguration, - Orb::Internal::AnyHash - ) - end - - # The list of dimension values matching (in order) the dimensions of the price - # group - sig { returns(T::Array[String]) } - attr_accessor :dimension_values - - # The id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :dimensional_price_group_id - - # The external id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :external_dimensional_price_group_id - - # For dimensional price: specifies a price group and dimension values - sig do - params( - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The list of dimension values matching (in order) the dimensions of the price - # group - dimension_values:, - # The id of the dimensional price group to include this price in - dimensional_price_group_id: nil, - # The external id of the dimensional price group to include this price in - external_dimensional_price_group_id: nil - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - } - ) - end - def to_hash - end - end - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::InvoicingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::InvoicingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::InvoicingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class BulkBps < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps, - Orb::Internal::AnyHash - ) - end - - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::BulkBpsConfig - ) - end - attr_reader :bulk_bps_config - - sig do - params( - bulk_bps_config: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::BulkBpsConfig::OrHash - ).void - end - attr_writer :bulk_bps_config - - # The cadence to bill for this price on. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::Cadence::OrSymbol - ) - end - attr_accessor :cadence - - # The id of the item the price will be associated with. - sig { returns(String) } - attr_accessor :item_id - - sig { returns(Symbol) } - attr_accessor :model_type - - # The name of the price. - sig { returns(String) } - attr_accessor :name - - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - sig { returns(T.nilable(String)) } - attr_accessor :billable_metric_id - - # 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. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :billed_in_advance - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::BillingCycleConfiguration - ) - ) - end - attr_reader :billing_cycle_configuration - - sig do - params( - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::BillingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :billing_cycle_configuration - - # The per unit conversion rate of the price currency to the invoicing currency. - sig { returns(T.nilable(Float)) } - attr_accessor :conversion_rate - - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - sig { returns(T.nilable(String)) } - attr_accessor :currency - - # For dimensional price: specifies a price group and dimension values - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::DimensionalPriceConfiguration - ) - ) - end - attr_reader :dimensional_price_configuration - - sig do - params( - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::DimensionalPriceConfiguration::OrHash - ) - ).void - end - attr_writer :dimensional_price_configuration - - # An alias for the price. - sig { returns(T.nilable(String)) } - attr_accessor :external_price_id - - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - sig { returns(T.nilable(Float)) } - attr_accessor :fixed_price_quantity - - # The property used to group this price on an invoice - sig { returns(T.nilable(String)) } - attr_accessor :invoice_grouping_key - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration - ) - ) - end - attr_reader :invoicing_cycle_configuration - - sig do - params( - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :invoicing_cycle_configuration - - # 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`. - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } - attr_accessor :metadata - - sig do - params( - bulk_bps_config: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::BulkBpsConfig::OrHash, - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::Cadence::OrSymbol, - item_id: String, - name: String, - billable_metric_id: T.nilable(String), - billed_in_advance: T.nilable(T::Boolean), - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::BillingCycleConfiguration::OrHash - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::DimensionalPriceConfiguration::OrHash - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration::OrHash - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), - model_type: Symbol - ).returns(T.attached_class) - end - def self.new( - bulk_bps_config:, - # The cadence to bill for this price on. - cadence:, - # The id of the item the price will be associated with. - item_id:, - # The name of the price. - name:, - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - billable_metric_id: nil, - # 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. - billed_in_advance: nil, - # For custom cadence: specifies the duration of the billing period in days or - # months. - billing_cycle_configuration: nil, - # The per unit conversion rate of the price currency to the invoicing currency. - conversion_rate: nil, - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - currency: nil, - # For dimensional price: specifies a price group and dimension values - dimensional_price_configuration: nil, - # An alias for the price. - external_price_id: nil, - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - fixed_price_quantity: nil, - # The property used to group this price on an invoice - invoice_grouping_key: nil, - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - invoicing_cycle_configuration: nil, - # 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`. - metadata: nil, - model_type: :bulk_bps - ) - end - - sig do - override.returns( - { - bulk_bps_config: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::BulkBpsConfig, - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::Cadence::OrSymbol, - 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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::BillingCycleConfiguration - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::DimensionalPriceConfiguration - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) - } - ) - end - def to_hash - end - - class BulkBpsConfig < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::BulkBpsConfig, - Orb::Internal::AnyHash - ) - end - - # Tiers for a bulk BPS pricing model where all usage is aggregated to a single - # tier based on total volume - sig do - returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::BulkBpsConfig::Tier - ] - ) - end - attr_accessor :tiers - - sig do - params( - tiers: - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::BulkBpsConfig::Tier::OrHash - ] - ).returns(T.attached_class) - end - def self.new( - # Tiers for a bulk BPS pricing model where all usage is aggregated to a single - # tier based on total volume - tiers: - ) - end - - sig do - override.returns( - { - tiers: - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::BulkBpsConfig::Tier - ] - } - ) - end - def to_hash - end - - class Tier < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::BulkBpsConfig::Tier, - Orb::Internal::AnyHash - ) - end - - # Basis points to rate on - sig { returns(Float) } - attr_accessor :bps - - # Upper bound for tier - sig { returns(T.nilable(String)) } - attr_accessor :maximum_amount - - # The maximum amount to charge for any one event - sig { returns(T.nilable(String)) } - attr_accessor :per_unit_maximum - - sig do - params( - bps: Float, - maximum_amount: T.nilable(String), - per_unit_maximum: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # Basis points to rate on - bps:, - # Upper bound for tier - maximum_amount: nil, - # The maximum amount to charge for any one event - per_unit_maximum: nil - ) - end - - sig do - override.returns( - { - bps: Float, - maximum_amount: T.nilable(String), - per_unit_maximum: T.nilable(String) - } - ) - end - def to_hash - end - end - end - - # The cadence to bill for this price on. - module Cadence - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::Cadence - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ANNUAL = - T.let( - :annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::Cadence::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::Cadence::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::Cadence::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::Cadence::TaggedSymbol - ) - ONE_TIME = - T.let( - :one_time, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::Cadence::TaggedSymbol - ) - CUSTOM = - T.let( - :custom, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::Cadence::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::Cadence::TaggedSymbol - ] - ) - end - def self.values - end - end - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::BillingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::BillingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::BillingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::BillingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::BillingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::DimensionalPriceConfiguration, - Orb::Internal::AnyHash - ) - end - - # The list of dimension values matching (in order) the dimensions of the price - # group - sig { returns(T::Array[String]) } - attr_accessor :dimension_values - - # The id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :dimensional_price_group_id - - # The external id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :external_dimensional_price_group_id - - # For dimensional price: specifies a price group and dimension values - sig do - params( - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The list of dimension values matching (in order) the dimensions of the price - # group - dimension_values:, - # The id of the dimensional price group to include this price in - dimensional_price_group_id: nil, - # The external id of the dimensional price group to include this price in - external_dimensional_price_group_id: nil - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - } - ) - end - def to_hash - end - end - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class Bulk < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk, - Orb::Internal::AnyHash - ) - end - - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::BulkConfig - ) - end - attr_reader :bulk_config - - sig do - params( - bulk_config: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::BulkConfig::OrHash - ).void - end - attr_writer :bulk_config - - # The cadence to bill for this price on. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::Cadence::OrSymbol - ) - end - attr_accessor :cadence - - # The id of the item the price will be associated with. - sig { returns(String) } - attr_accessor :item_id - - sig { returns(Symbol) } - attr_accessor :model_type - - # The name of the price. - sig { returns(String) } - attr_accessor :name - - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - sig { returns(T.nilable(String)) } - attr_accessor :billable_metric_id - - # 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. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :billed_in_advance - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::BillingCycleConfiguration - ) - ) - end - attr_reader :billing_cycle_configuration - - sig do - params( - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::BillingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :billing_cycle_configuration - - # The per unit conversion rate of the price currency to the invoicing currency. - sig { returns(T.nilable(Float)) } - attr_accessor :conversion_rate - - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - sig { returns(T.nilable(String)) } - attr_accessor :currency - - # For dimensional price: specifies a price group and dimension values - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::DimensionalPriceConfiguration - ) - ) - end - attr_reader :dimensional_price_configuration - - sig do - params( - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::DimensionalPriceConfiguration::OrHash - ) - ).void - end - attr_writer :dimensional_price_configuration - - # An alias for the price. - sig { returns(T.nilable(String)) } - attr_accessor :external_price_id - - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - sig { returns(T.nilable(Float)) } - attr_accessor :fixed_price_quantity - - # The property used to group this price on an invoice - sig { returns(T.nilable(String)) } - attr_accessor :invoice_grouping_key - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration - ) - ) - end - attr_reader :invoicing_cycle_configuration - - sig do - params( - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :invoicing_cycle_configuration - - # 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`. - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } - attr_accessor :metadata - - sig do - params( - bulk_config: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::BulkConfig::OrHash, - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::Cadence::OrSymbol, - item_id: String, - name: String, - billable_metric_id: T.nilable(String), - billed_in_advance: T.nilable(T::Boolean), - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::BillingCycleConfiguration::OrHash - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::DimensionalPriceConfiguration::OrHash - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration::OrHash - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), - model_type: Symbol - ).returns(T.attached_class) - end - def self.new( - bulk_config:, - # The cadence to bill for this price on. - cadence:, - # The id of the item the price will be associated with. - item_id:, - # The name of the price. - name:, - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - billable_metric_id: nil, - # 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. - billed_in_advance: nil, - # For custom cadence: specifies the duration of the billing period in days or - # months. - billing_cycle_configuration: nil, - # The per unit conversion rate of the price currency to the invoicing currency. - conversion_rate: nil, - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - currency: nil, - # For dimensional price: specifies a price group and dimension values - dimensional_price_configuration: nil, - # An alias for the price. - external_price_id: nil, - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - fixed_price_quantity: nil, - # The property used to group this price on an invoice - invoice_grouping_key: nil, - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - invoicing_cycle_configuration: nil, - # 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`. - metadata: nil, - model_type: :bulk - ) - end - - sig do - override.returns( - { - bulk_config: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::BulkConfig, - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::Cadence::OrSymbol, - 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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::BillingCycleConfiguration - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::DimensionalPriceConfiguration - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) - } - ) - end - def to_hash - end - - class BulkConfig < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::BulkConfig, - Orb::Internal::AnyHash - ) - end - - # Bulk tiers for rating based on total usage volume - sig do - returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::BulkConfig::Tier - ] - ) - end - attr_accessor :tiers - - sig do - params( - tiers: - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::BulkConfig::Tier::OrHash - ] - ).returns(T.attached_class) - end - def self.new( - # Bulk tiers for rating based on total usage volume - tiers: - ) - end - - sig do - override.returns( - { - tiers: - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::BulkConfig::Tier - ] - } - ) - end - def to_hash - end - - class Tier < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::BulkConfig::Tier, - Orb::Internal::AnyHash - ) - end - - # Amount per unit - sig { returns(String) } - attr_accessor :unit_amount - - # Upper bound for this tier - sig { returns(T.nilable(Float)) } - attr_accessor :maximum_units - - sig do - params( - unit_amount: String, - maximum_units: T.nilable(Float) - ).returns(T.attached_class) - end - def self.new( - # Amount per unit - unit_amount:, - # Upper bound for this tier - maximum_units: nil - ) - end - - sig do - override.returns( - { unit_amount: String, maximum_units: T.nilable(Float) } - ) - end - def to_hash - end - end - end - - # The cadence to bill for this price on. - module Cadence - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::Cadence - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ANNUAL = - T.let( - :annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::Cadence::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::Cadence::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::Cadence::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::Cadence::TaggedSymbol - ) - ONE_TIME = - T.let( - :one_time, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::Cadence::TaggedSymbol - ) - CUSTOM = - T.let( - :custom, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::Cadence::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::Cadence::TaggedSymbol - ] - ) - end - def self.values - end - end - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::BillingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::BillingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::BillingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::BillingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::BillingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::DimensionalPriceConfiguration, - Orb::Internal::AnyHash - ) - end - - # The list of dimension values matching (in order) the dimensions of the price - # group - sig { returns(T::Array[String]) } - attr_accessor :dimension_values - - # The id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :dimensional_price_group_id - - # The external id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :external_dimensional_price_group_id - - # For dimensional price: specifies a price group and dimension values - sig do - params( - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The list of dimension values matching (in order) the dimensions of the price - # group - dimension_values:, - # The id of the dimensional price group to include this price in - dimensional_price_group_id: nil, - # The external id of the dimensional price group to include this price in - external_dimensional_price_group_id: nil - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - } - ) - end - def to_hash - end - end - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class ThresholdTotalAmount < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount, - Orb::Internal::AnyHash - ) - end - - # The cadence to bill for this price on. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::Cadence::OrSymbol - ) - end - attr_accessor :cadence - - # The id of the item the price will be associated with. - sig { returns(String) } - attr_accessor :item_id - - sig { returns(Symbol) } - attr_accessor :model_type - - # The name of the price. - sig { returns(String) } - attr_accessor :name - - sig { returns(T::Hash[Symbol, T.anything]) } - attr_accessor :threshold_total_amount_config - - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - sig { returns(T.nilable(String)) } - attr_accessor :billable_metric_id - - # 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. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :billed_in_advance - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration - ) - ) - end - attr_reader :billing_cycle_configuration - - sig do - params( - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :billing_cycle_configuration - - # The per unit conversion rate of the price currency to the invoicing currency. - sig { returns(T.nilable(Float)) } - attr_accessor :conversion_rate - - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - sig { returns(T.nilable(String)) } - attr_accessor :currency - - # For dimensional price: specifies a price group and dimension values - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration - ) - ) - end - attr_reader :dimensional_price_configuration - - sig do - params( - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration::OrHash - ) - ).void - end - attr_writer :dimensional_price_configuration - - # An alias for the price. - sig { returns(T.nilable(String)) } - attr_accessor :external_price_id - - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - sig { returns(T.nilable(Float)) } - attr_accessor :fixed_price_quantity - - # The property used to group this price on an invoice - sig { returns(T.nilable(String)) } - attr_accessor :invoice_grouping_key - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration - ) - ) - end - attr_reader :invoicing_cycle_configuration - - sig do - params( - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :invoicing_cycle_configuration - - # 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`. - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } - attr_accessor :metadata - - sig do - params( - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::Cadence::OrSymbol, - item_id: String, - name: String, - threshold_total_amount_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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::OrHash - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration::OrHash - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::OrHash - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), - model_type: Symbol - ).returns(T.attached_class) - end - def self.new( - # The cadence to bill for this price on. - cadence:, - # The id of the item the price will be associated with. - item_id:, - # The name of the price. - name:, - threshold_total_amount_config:, - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - billable_metric_id: nil, - # 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. - billed_in_advance: nil, - # For custom cadence: specifies the duration of the billing period in days or - # months. - billing_cycle_configuration: nil, - # The per unit conversion rate of the price currency to the invoicing currency. - conversion_rate: nil, - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - currency: nil, - # For dimensional price: specifies a price group and dimension values - dimensional_price_configuration: nil, - # An alias for the price. - external_price_id: nil, - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - fixed_price_quantity: nil, - # The property used to group this price on an invoice - invoice_grouping_key: nil, - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - invoicing_cycle_configuration: nil, - # 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`. - metadata: nil, - model_type: :threshold_total_amount - ) - end - - sig do - override.returns( - { - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::Cadence::OrSymbol, - item_id: String, - model_type: Symbol, - name: String, - threshold_total_amount_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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) - } - ) - end - def to_hash - end - - # The cadence to bill for this price on. - module Cadence - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::Cadence - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ANNUAL = - T.let( - :annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::Cadence::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::Cadence::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::Cadence::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::Cadence::TaggedSymbol - ) - ONE_TIME = - T.let( - :one_time, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::Cadence::TaggedSymbol - ) - CUSTOM = - T.let( - :custom, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::Cadence::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::Cadence::TaggedSymbol - ] - ) - end - def self.values - end - end - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration, - Orb::Internal::AnyHash - ) - end - - # The list of dimension values matching (in order) the dimensions of the price - # group - sig { returns(T::Array[String]) } - attr_accessor :dimension_values - - # The id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :dimensional_price_group_id - - # The external id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :external_dimensional_price_group_id - - # For dimensional price: specifies a price group and dimension values - sig do - params( - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The list of dimension values matching (in order) the dimensions of the price - # group - dimension_values:, - # The id of the dimensional price group to include this price in - dimensional_price_group_id: nil, - # The external id of the dimensional price group to include this price in - external_dimensional_price_group_id: nil - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - } - ) - end - def to_hash - end - end - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class TieredPackage < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage, - Orb::Internal::AnyHash - ) - end - - # The cadence to bill for this price on. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::Cadence::OrSymbol - ) - end - attr_accessor :cadence - - # The id of the item the price will be associated with. - sig { returns(String) } - attr_accessor :item_id - - sig { returns(Symbol) } - attr_accessor :model_type - - # The name of the price. - sig { returns(String) } - attr_accessor :name - - sig { returns(T::Hash[Symbol, T.anything]) } - attr_accessor :tiered_package_config - - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - sig { returns(T.nilable(String)) } - attr_accessor :billable_metric_id - - # 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. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :billed_in_advance - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration - ) - ) - end - attr_reader :billing_cycle_configuration - - sig do - params( - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :billing_cycle_configuration - - # The per unit conversion rate of the price currency to the invoicing currency. - sig { returns(T.nilable(Float)) } - attr_accessor :conversion_rate - - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - sig { returns(T.nilable(String)) } - attr_accessor :currency - - # For dimensional price: specifies a price group and dimension values - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::DimensionalPriceConfiguration - ) - ) - end - attr_reader :dimensional_price_configuration - - sig do - params( - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::DimensionalPriceConfiguration::OrHash - ) - ).void - end - attr_writer :dimensional_price_configuration - - # An alias for the price. - sig { returns(T.nilable(String)) } - attr_accessor :external_price_id - - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - sig { returns(T.nilable(Float)) } - attr_accessor :fixed_price_quantity - - # The property used to group this price on an invoice - sig { returns(T.nilable(String)) } - attr_accessor :invoice_grouping_key - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration - ) - ) - end - attr_reader :invoicing_cycle_configuration - - sig do - params( - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :invoicing_cycle_configuration - - # 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`. - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } - attr_accessor :metadata - - sig do - params( - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::Cadence::OrSymbol, - item_id: String, - name: String, - tiered_package_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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration::OrHash - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::DimensionalPriceConfiguration::OrHash - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration::OrHash - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), - model_type: Symbol - ).returns(T.attached_class) - end - def self.new( - # The cadence to bill for this price on. - cadence:, - # The id of the item the price will be associated with. - item_id:, - # The name of the price. - name:, - tiered_package_config:, - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - billable_metric_id: nil, - # 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. - billed_in_advance: nil, - # For custom cadence: specifies the duration of the billing period in days or - # months. - billing_cycle_configuration: nil, - # The per unit conversion rate of the price currency to the invoicing currency. - conversion_rate: nil, - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - currency: nil, - # For dimensional price: specifies a price group and dimension values - dimensional_price_configuration: nil, - # An alias for the price. - external_price_id: nil, - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - fixed_price_quantity: nil, - # The property used to group this price on an invoice - invoice_grouping_key: nil, - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - invoicing_cycle_configuration: nil, - # 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`. - metadata: nil, - model_type: :tiered_package - ) - end - - sig do - override.returns( - { - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::Cadence::OrSymbol, - item_id: String, - model_type: Symbol, - name: String, - tiered_package_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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::DimensionalPriceConfiguration - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) - } - ) - end - def to_hash - end - - # The cadence to bill for this price on. - module Cadence - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::Cadence - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ANNUAL = - T.let( - :annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::Cadence::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::Cadence::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::Cadence::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::Cadence::TaggedSymbol - ) - ONE_TIME = - T.let( - :one_time, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::Cadence::TaggedSymbol - ) - CUSTOM = - T.let( - :custom, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::Cadence::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::Cadence::TaggedSymbol - ] - ) - end - def self.values - end - end - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::DimensionalPriceConfiguration, - Orb::Internal::AnyHash - ) - end - - # The list of dimension values matching (in order) the dimensions of the price - # group - sig { returns(T::Array[String]) } - attr_accessor :dimension_values - - # The id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :dimensional_price_group_id - - # The external id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :external_dimensional_price_group_id - - # For dimensional price: specifies a price group and dimension values - sig do - params( - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The list of dimension values matching (in order) the dimensions of the price - # group - dimension_values:, - # The id of the dimensional price group to include this price in - dimensional_price_group_id: nil, - # The external id of the dimensional price group to include this price in - external_dimensional_price_group_id: nil - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - } - ) - end - def to_hash - end - end - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class TieredWithMinimum < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum, - Orb::Internal::AnyHash - ) - end - - # The cadence to bill for this price on. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::Cadence::OrSymbol - ) - end - attr_accessor :cadence - - # The id of the item the price will be associated with. - sig { returns(String) } - attr_accessor :item_id - - sig { returns(Symbol) } - attr_accessor :model_type - - # The name of the price. - sig { returns(String) } - attr_accessor :name - - sig { returns(T::Hash[Symbol, T.anything]) } - attr_accessor :tiered_with_minimum_config - - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - sig { returns(T.nilable(String)) } - attr_accessor :billable_metric_id - - # 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. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :billed_in_advance - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration - ) - ) - end - attr_reader :billing_cycle_configuration - - sig do - params( - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :billing_cycle_configuration - - # The per unit conversion rate of the price currency to the invoicing currency. - sig { returns(T.nilable(Float)) } - attr_accessor :conversion_rate - - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - sig { returns(T.nilable(String)) } - attr_accessor :currency - - # For dimensional price: specifies a price group and dimension values - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::DimensionalPriceConfiguration - ) - ) - end - attr_reader :dimensional_price_configuration - - sig do - params( - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::DimensionalPriceConfiguration::OrHash - ) - ).void - end - attr_writer :dimensional_price_configuration - - # An alias for the price. - sig { returns(T.nilable(String)) } - attr_accessor :external_price_id - - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - sig { returns(T.nilable(Float)) } - attr_accessor :fixed_price_quantity - - # The property used to group this price on an invoice - sig { returns(T.nilable(String)) } - attr_accessor :invoice_grouping_key - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration - ) - ) - end - attr_reader :invoicing_cycle_configuration - - sig do - params( - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :invoicing_cycle_configuration - - # 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`. - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } - attr_accessor :metadata - - sig do - params( - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::Cadence::OrSymbol, - item_id: String, - name: String, - tiered_with_minimum_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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration::OrHash - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::DimensionalPriceConfiguration::OrHash - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::OrHash - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), - model_type: Symbol - ).returns(T.attached_class) - end - def self.new( - # The cadence to bill for this price on. - cadence:, - # The id of the item the price will be associated with. - item_id:, - # The name of the price. - name:, - tiered_with_minimum_config:, - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - billable_metric_id: nil, - # 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. - billed_in_advance: nil, - # For custom cadence: specifies the duration of the billing period in days or - # months. - billing_cycle_configuration: nil, - # The per unit conversion rate of the price currency to the invoicing currency. - conversion_rate: nil, - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - currency: nil, - # For dimensional price: specifies a price group and dimension values - dimensional_price_configuration: nil, - # An alias for the price. - external_price_id: nil, - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - fixed_price_quantity: nil, - # The property used to group this price on an invoice - invoice_grouping_key: nil, - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - invoicing_cycle_configuration: nil, - # 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`. - metadata: nil, - model_type: :tiered_with_minimum - ) - end - - sig do - override.returns( - { - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::Cadence::OrSymbol, - item_id: String, - model_type: Symbol, - name: String, - tiered_with_minimum_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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::DimensionalPriceConfiguration - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) - } - ) - end - def to_hash - end - - # The cadence to bill for this price on. - module Cadence - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::Cadence - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ANNUAL = - T.let( - :annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::Cadence::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::Cadence::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::Cadence::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::Cadence::TaggedSymbol - ) - ONE_TIME = - T.let( - :one_time, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::Cadence::TaggedSymbol - ) - CUSTOM = - T.let( - :custom, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::Cadence::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::Cadence::TaggedSymbol - ] - ) - end - def self.values - end - end - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::DimensionalPriceConfiguration, - Orb::Internal::AnyHash - ) - end - - # The list of dimension values matching (in order) the dimensions of the price - # group - sig { returns(T::Array[String]) } - attr_accessor :dimension_values - - # The id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :dimensional_price_group_id - - # The external id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :external_dimensional_price_group_id - - # For dimensional price: specifies a price group and dimension values - sig do - params( - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The list of dimension values matching (in order) the dimensions of the price - # group - dimension_values:, - # The id of the dimensional price group to include this price in - dimensional_price_group_id: nil, - # The external id of the dimensional price group to include this price in - external_dimensional_price_group_id: nil - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - } - ) - end - def to_hash - end - end - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class UnitWithPercent < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent, - Orb::Internal::AnyHash - ) - end - - # The cadence to bill for this price on. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::Cadence::OrSymbol - ) - end - attr_accessor :cadence - - # The id of the item the price will be associated with. - sig { returns(String) } - attr_accessor :item_id - - sig { returns(Symbol) } - attr_accessor :model_type - - # The name of the price. - sig { returns(String) } - attr_accessor :name - - sig { returns(T::Hash[Symbol, T.anything]) } - attr_accessor :unit_with_percent_config - - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - sig { returns(T.nilable(String)) } - attr_accessor :billable_metric_id - - # 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. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :billed_in_advance - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration - ) - ) - end - attr_reader :billing_cycle_configuration - - sig do - params( - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :billing_cycle_configuration - - # The per unit conversion rate of the price currency to the invoicing currency. - sig { returns(T.nilable(Float)) } - attr_accessor :conversion_rate - - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - sig { returns(T.nilable(String)) } - attr_accessor :currency - - # For dimensional price: specifies a price group and dimension values - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::DimensionalPriceConfiguration - ) - ) - end - attr_reader :dimensional_price_configuration - - sig do - params( - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::DimensionalPriceConfiguration::OrHash - ) - ).void - end - attr_writer :dimensional_price_configuration - - # An alias for the price. - sig { returns(T.nilable(String)) } - attr_accessor :external_price_id - - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - sig { returns(T.nilable(Float)) } - attr_accessor :fixed_price_quantity - - # The property used to group this price on an invoice - sig { returns(T.nilable(String)) } - attr_accessor :invoice_grouping_key - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration - ) - ) - end - attr_reader :invoicing_cycle_configuration - - sig do - params( - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :invoicing_cycle_configuration - - # 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`. - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } - attr_accessor :metadata - - sig do - params( - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::Cadence::OrSymbol, - item_id: String, - name: String, - unit_with_percent_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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration::OrHash - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::DimensionalPriceConfiguration::OrHash - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration::OrHash - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), - model_type: Symbol - ).returns(T.attached_class) - end - def self.new( - # The cadence to bill for this price on. - cadence:, - # The id of the item the price will be associated with. - item_id:, - # The name of the price. - name:, - unit_with_percent_config:, - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - billable_metric_id: nil, - # 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. - billed_in_advance: nil, - # For custom cadence: specifies the duration of the billing period in days or - # months. - billing_cycle_configuration: nil, - # The per unit conversion rate of the price currency to the invoicing currency. - conversion_rate: nil, - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - currency: nil, - # For dimensional price: specifies a price group and dimension values - dimensional_price_configuration: nil, - # An alias for the price. - external_price_id: nil, - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - fixed_price_quantity: nil, - # The property used to group this price on an invoice - invoice_grouping_key: nil, - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - invoicing_cycle_configuration: nil, - # 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`. - metadata: nil, - model_type: :unit_with_percent - ) - end - - sig do - override.returns( - { - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::Cadence::OrSymbol, - item_id: String, - model_type: Symbol, - name: String, - unit_with_percent_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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::DimensionalPriceConfiguration - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) - } - ) - end - def to_hash - end - - # The cadence to bill for this price on. - module Cadence - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::Cadence - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ANNUAL = - T.let( - :annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::Cadence::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::Cadence::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::Cadence::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::Cadence::TaggedSymbol - ) - ONE_TIME = - T.let( - :one_time, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::Cadence::TaggedSymbol - ) - CUSTOM = - T.let( - :custom, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::Cadence::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::Cadence::TaggedSymbol - ] - ) - end - def self.values - end - end - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::DimensionalPriceConfiguration, - Orb::Internal::AnyHash - ) - end - - # The list of dimension values matching (in order) the dimensions of the price - # group - sig { returns(T::Array[String]) } - attr_accessor :dimension_values - - # The id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :dimensional_price_group_id - - # The external id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :external_dimensional_price_group_id - - # For dimensional price: specifies a price group and dimension values - sig do - params( - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The list of dimension values matching (in order) the dimensions of the price - # group - dimension_values:, - # The id of the dimensional price group to include this price in - dimensional_price_group_id: nil, - # The external id of the dimensional price group to include this price in - external_dimensional_price_group_id: nil - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - } - ) - end - def to_hash - end - end - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class PackageWithAllocation < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation, - Orb::Internal::AnyHash - ) - end - - # The cadence to bill for this price on. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::Cadence::OrSymbol - ) - end - attr_accessor :cadence - - # The id of the item the price will be associated with. - sig { returns(String) } - attr_accessor :item_id - - sig { returns(Symbol) } - attr_accessor :model_type - - # The name of the price. - sig { returns(String) } - attr_accessor :name - - sig { returns(T::Hash[Symbol, T.anything]) } - attr_accessor :package_with_allocation_config - - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - sig { returns(T.nilable(String)) } - attr_accessor :billable_metric_id - - # 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. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :billed_in_advance - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration - ) - ) - end - attr_reader :billing_cycle_configuration - - sig do - params( - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :billing_cycle_configuration - - # The per unit conversion rate of the price currency to the invoicing currency. - sig { returns(T.nilable(Float)) } - attr_accessor :conversion_rate - - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - sig { returns(T.nilable(String)) } - attr_accessor :currency - - # For dimensional price: specifies a price group and dimension values - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::DimensionalPriceConfiguration - ) - ) - end - attr_reader :dimensional_price_configuration - - sig do - params( - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::DimensionalPriceConfiguration::OrHash - ) - ).void - end - attr_writer :dimensional_price_configuration - - # An alias for the price. - sig { returns(T.nilable(String)) } - attr_accessor :external_price_id - - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - sig { returns(T.nilable(Float)) } - attr_accessor :fixed_price_quantity - - # The property used to group this price on an invoice - sig { returns(T.nilable(String)) } - attr_accessor :invoice_grouping_key - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration - ) - ) - end - attr_reader :invoicing_cycle_configuration - - sig do - params( - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :invoicing_cycle_configuration - - # 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`. - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } - attr_accessor :metadata - - sig do - params( - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::Cadence::OrSymbol, - item_id: String, - name: String, - package_with_allocation_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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration::OrHash - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::DimensionalPriceConfiguration::OrHash - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::OrHash - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), - model_type: Symbol - ).returns(T.attached_class) - end - def self.new( - # The cadence to bill for this price on. - cadence:, - # The id of the item the price will be associated with. - item_id:, - # The name of the price. - name:, - package_with_allocation_config:, - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - billable_metric_id: nil, - # 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. - billed_in_advance: nil, - # For custom cadence: specifies the duration of the billing period in days or - # months. - billing_cycle_configuration: nil, - # The per unit conversion rate of the price currency to the invoicing currency. - conversion_rate: nil, - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - currency: nil, - # For dimensional price: specifies a price group and dimension values - dimensional_price_configuration: nil, - # An alias for the price. - external_price_id: nil, - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - fixed_price_quantity: nil, - # The property used to group this price on an invoice - invoice_grouping_key: nil, - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - invoicing_cycle_configuration: nil, - # 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`. - metadata: nil, - model_type: :package_with_allocation - ) - end - - sig do - override.returns( - { - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::Cadence::OrSymbol, - item_id: String, - model_type: Symbol, - name: String, - package_with_allocation_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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::DimensionalPriceConfiguration - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) - } - ) - end - def to_hash - end - - # The cadence to bill for this price on. - module Cadence - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::Cadence - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ANNUAL = - T.let( - :annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::Cadence::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::Cadence::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::Cadence::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::Cadence::TaggedSymbol - ) - ONE_TIME = - T.let( - :one_time, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::Cadence::TaggedSymbol - ) - CUSTOM = - T.let( - :custom, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::Cadence::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::Cadence::TaggedSymbol - ] - ) - end - def self.values - end - end - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::DimensionalPriceConfiguration, - Orb::Internal::AnyHash - ) - end - - # The list of dimension values matching (in order) the dimensions of the price - # group - sig { returns(T::Array[String]) } - attr_accessor :dimension_values - - # The id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :dimensional_price_group_id - - # The external id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :external_dimensional_price_group_id - - # For dimensional price: specifies a price group and dimension values - sig do - params( - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The list of dimension values matching (in order) the dimensions of the price - # group - dimension_values:, - # The id of the dimensional price group to include this price in - dimensional_price_group_id: nil, - # The external id of the dimensional price group to include this price in - external_dimensional_price_group_id: nil - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - } - ) - end - def to_hash - end - end - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class TieredWithProration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration, - Orb::Internal::AnyHash - ) - end - - # The cadence to bill for this price on. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::Cadence::OrSymbol - ) - end - attr_accessor :cadence - - # The id of the item the price will be associated with. - sig { returns(String) } - attr_accessor :item_id - - sig { returns(Symbol) } - attr_accessor :model_type - - # The name of the price. - sig { returns(String) } - attr_accessor :name - - sig { returns(T::Hash[Symbol, T.anything]) } - attr_accessor :tiered_with_proration_config - - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - sig { returns(T.nilable(String)) } - attr_accessor :billable_metric_id - - # 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. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :billed_in_advance - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration - ) - ) - end - attr_reader :billing_cycle_configuration - - sig do - params( - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :billing_cycle_configuration - - # The per unit conversion rate of the price currency to the invoicing currency. - sig { returns(T.nilable(Float)) } - attr_accessor :conversion_rate - - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - sig { returns(T.nilable(String)) } - attr_accessor :currency - - # For dimensional price: specifies a price group and dimension values - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::DimensionalPriceConfiguration - ) - ) - end - attr_reader :dimensional_price_configuration - - sig do - params( - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::DimensionalPriceConfiguration::OrHash - ) - ).void - end - attr_writer :dimensional_price_configuration - - # An alias for the price. - sig { returns(T.nilable(String)) } - attr_accessor :external_price_id - - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - sig { returns(T.nilable(Float)) } - attr_accessor :fixed_price_quantity - - # The property used to group this price on an invoice - sig { returns(T.nilable(String)) } - attr_accessor :invoice_grouping_key - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration - ) - ) - end - attr_reader :invoicing_cycle_configuration - - sig do - params( - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :invoicing_cycle_configuration - - # 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`. - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } - attr_accessor :metadata - - sig do - params( - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::Cadence::OrSymbol, - item_id: String, - name: String, - tiered_with_proration_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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration::OrHash - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::DimensionalPriceConfiguration::OrHash - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration::OrHash - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), - model_type: Symbol - ).returns(T.attached_class) - end - def self.new( - # The cadence to bill for this price on. - cadence:, - # The id of the item the price will be associated with. - item_id:, - # The name of the price. - name:, - tiered_with_proration_config:, - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - billable_metric_id: nil, - # 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. - billed_in_advance: nil, - # For custom cadence: specifies the duration of the billing period in days or - # months. - billing_cycle_configuration: nil, - # The per unit conversion rate of the price currency to the invoicing currency. - conversion_rate: nil, - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - currency: nil, - # For dimensional price: specifies a price group and dimension values - dimensional_price_configuration: nil, - # An alias for the price. - external_price_id: nil, - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - fixed_price_quantity: nil, - # The property used to group this price on an invoice - invoice_grouping_key: nil, - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - invoicing_cycle_configuration: nil, - # 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`. - metadata: nil, - model_type: :tiered_with_proration - ) - end - - sig do - override.returns( - { - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::Cadence::OrSymbol, - item_id: String, - model_type: Symbol, - name: String, - tiered_with_proration_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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::DimensionalPriceConfiguration - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) - } - ) - end - def to_hash - end - - # The cadence to bill for this price on. - module Cadence - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::Cadence - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ANNUAL = - T.let( - :annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::Cadence::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::Cadence::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::Cadence::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::Cadence::TaggedSymbol - ) - ONE_TIME = - T.let( - :one_time, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::Cadence::TaggedSymbol - ) - CUSTOM = - T.let( - :custom, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::Cadence::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::Cadence::TaggedSymbol - ] - ) - end - def self.values - end - end - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::DimensionalPriceConfiguration, - Orb::Internal::AnyHash - ) - end - - # The list of dimension values matching (in order) the dimensions of the price - # group - sig { returns(T::Array[String]) } - attr_accessor :dimension_values - - # The id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :dimensional_price_group_id - - # The external id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :external_dimensional_price_group_id - - # For dimensional price: specifies a price group and dimension values - sig do - params( - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The list of dimension values matching (in order) the dimensions of the price - # group - dimension_values:, - # The id of the dimensional price group to include this price in - dimensional_price_group_id: nil, - # The external id of the dimensional price group to include this price in - external_dimensional_price_group_id: nil - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - } - ) - end - def to_hash - end - end - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class UnitWithProration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration, - Orb::Internal::AnyHash - ) - end - - # The cadence to bill for this price on. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::Cadence::OrSymbol - ) - end - attr_accessor :cadence - - # The id of the item the price will be associated with. - sig { returns(String) } - attr_accessor :item_id - - sig { returns(Symbol) } - attr_accessor :model_type - - # The name of the price. - sig { returns(String) } - attr_accessor :name - - sig { returns(T::Hash[Symbol, T.anything]) } - attr_accessor :unit_with_proration_config - - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - sig { returns(T.nilable(String)) } - attr_accessor :billable_metric_id - - # 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. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :billed_in_advance - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration - ) - ) - end - attr_reader :billing_cycle_configuration - - sig do - params( - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :billing_cycle_configuration - - # The per unit conversion rate of the price currency to the invoicing currency. - sig { returns(T.nilable(Float)) } - attr_accessor :conversion_rate - - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - sig { returns(T.nilable(String)) } - attr_accessor :currency - - # For dimensional price: specifies a price group and dimension values - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::DimensionalPriceConfiguration - ) - ) - end - attr_reader :dimensional_price_configuration - - sig do - params( - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::DimensionalPriceConfiguration::OrHash - ) - ).void - end - attr_writer :dimensional_price_configuration - - # An alias for the price. - sig { returns(T.nilable(String)) } - attr_accessor :external_price_id - - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - sig { returns(T.nilable(Float)) } - attr_accessor :fixed_price_quantity - - # The property used to group this price on an invoice - sig { returns(T.nilable(String)) } - attr_accessor :invoice_grouping_key - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration - ) - ) - end - attr_reader :invoicing_cycle_configuration - - sig do - params( - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :invoicing_cycle_configuration - - # 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`. - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } - attr_accessor :metadata - - sig do - params( - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::Cadence::OrSymbol, - item_id: String, - name: String, - unit_with_proration_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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration::OrHash - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::DimensionalPriceConfiguration::OrHash - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration::OrHash - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), - model_type: Symbol - ).returns(T.attached_class) - end - def self.new( - # The cadence to bill for this price on. - cadence:, - # The id of the item the price will be associated with. - item_id:, - # The name of the price. - name:, - unit_with_proration_config:, - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - billable_metric_id: nil, - # 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. - billed_in_advance: nil, - # For custom cadence: specifies the duration of the billing period in days or - # months. - billing_cycle_configuration: nil, - # The per unit conversion rate of the price currency to the invoicing currency. - conversion_rate: nil, - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - currency: nil, - # For dimensional price: specifies a price group and dimension values - dimensional_price_configuration: nil, - # An alias for the price. - external_price_id: nil, - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - fixed_price_quantity: nil, - # The property used to group this price on an invoice - invoice_grouping_key: nil, - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - invoicing_cycle_configuration: nil, - # 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`. - metadata: nil, - model_type: :unit_with_proration - ) - end - - sig do - override.returns( - { - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::Cadence::OrSymbol, - item_id: String, - model_type: Symbol, - name: String, - unit_with_proration_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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::DimensionalPriceConfiguration - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) - } - ) - end - def to_hash - end - - # The cadence to bill for this price on. - module Cadence - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::Cadence - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ANNUAL = - T.let( - :annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::Cadence::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::Cadence::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::Cadence::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::Cadence::TaggedSymbol - ) - ONE_TIME = - T.let( - :one_time, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::Cadence::TaggedSymbol - ) - CUSTOM = - T.let( - :custom, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::Cadence::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::Cadence::TaggedSymbol - ] - ) - end - def self.values - end - end - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::DimensionalPriceConfiguration, - Orb::Internal::AnyHash - ) - end - - # The list of dimension values matching (in order) the dimensions of the price - # group - sig { returns(T::Array[String]) } - attr_accessor :dimension_values - - # The id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :dimensional_price_group_id - - # The external id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :external_dimensional_price_group_id - - # For dimensional price: specifies a price group and dimension values - sig do - params( - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The list of dimension values matching (in order) the dimensions of the price - # group - dimension_values:, - # The id of the dimensional price group to include this price in - dimensional_price_group_id: nil, - # The external id of the dimensional price group to include this price in - external_dimensional_price_group_id: nil - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - } - ) - end - def to_hash - end - end - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class GroupedAllocation < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation, - Orb::Internal::AnyHash - ) - end - - # The cadence to bill for this price on. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::Cadence::OrSymbol - ) - end - attr_accessor :cadence - - sig { returns(T::Hash[Symbol, T.anything]) } - attr_accessor :grouped_allocation_config - - # The id of the item the price will be associated with. - sig { returns(String) } - attr_accessor :item_id - - sig { returns(Symbol) } - attr_accessor :model_type - - # The name of the price. - sig { returns(String) } - attr_accessor :name - - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - sig { returns(T.nilable(String)) } - attr_accessor :billable_metric_id - - # 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. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :billed_in_advance - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration - ) - ) - end - attr_reader :billing_cycle_configuration - - sig do - params( - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :billing_cycle_configuration - - # The per unit conversion rate of the price currency to the invoicing currency. - sig { returns(T.nilable(Float)) } - attr_accessor :conversion_rate - - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - sig { returns(T.nilable(String)) } - attr_accessor :currency - - # For dimensional price: specifies a price group and dimension values - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::DimensionalPriceConfiguration - ) - ) - end - attr_reader :dimensional_price_configuration - - sig do - params( - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::DimensionalPriceConfiguration::OrHash - ) - ).void - end - attr_writer :dimensional_price_configuration - - # An alias for the price. - sig { returns(T.nilable(String)) } - attr_accessor :external_price_id - - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - sig { returns(T.nilable(Float)) } - attr_accessor :fixed_price_quantity - - # The property used to group this price on an invoice - sig { returns(T.nilable(String)) } - attr_accessor :invoice_grouping_key - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration - ) - ) - end - attr_reader :invoicing_cycle_configuration - - sig do - params( - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :invoicing_cycle_configuration - - # 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`. - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } - attr_accessor :metadata - - sig do - params( - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::Cadence::OrSymbol, - grouped_allocation_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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration::OrHash - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::DimensionalPriceConfiguration::OrHash - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration::OrHash - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), - model_type: Symbol - ).returns(T.attached_class) - end - def self.new( - # The cadence to bill for this price on. - cadence:, - grouped_allocation_config:, - # The id of the item the price will be associated with. - item_id:, - # The name of the price. - name:, - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - billable_metric_id: nil, - # 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. - billed_in_advance: nil, - # For custom cadence: specifies the duration of the billing period in days or - # months. - billing_cycle_configuration: nil, - # The per unit conversion rate of the price currency to the invoicing currency. - conversion_rate: nil, - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - currency: nil, - # For dimensional price: specifies a price group and dimension values - dimensional_price_configuration: nil, - # An alias for the price. - external_price_id: nil, - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - fixed_price_quantity: nil, - # The property used to group this price on an invoice - invoice_grouping_key: nil, - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - invoicing_cycle_configuration: nil, - # 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`. - metadata: nil, - model_type: :grouped_allocation - ) - end - - sig do - override.returns( - { - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::Cadence::OrSymbol, - grouped_allocation_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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::DimensionalPriceConfiguration - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) - } - ) - end - def to_hash - end - - # The cadence to bill for this price on. - module Cadence - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::Cadence - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ANNUAL = - T.let( - :annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::Cadence::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::Cadence::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::Cadence::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::Cadence::TaggedSymbol - ) - ONE_TIME = - T.let( - :one_time, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::Cadence::TaggedSymbol - ) - CUSTOM = - T.let( - :custom, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::Cadence::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::Cadence::TaggedSymbol - ] - ) - end - def self.values - end - end - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::DimensionalPriceConfiguration, - Orb::Internal::AnyHash - ) - end - - # The list of dimension values matching (in order) the dimensions of the price - # group - sig { returns(T::Array[String]) } - attr_accessor :dimension_values - - # The id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :dimensional_price_group_id - - # The external id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :external_dimensional_price_group_id - - # For dimensional price: specifies a price group and dimension values - sig do - params( - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The list of dimension values matching (in order) the dimensions of the price - # group - dimension_values:, - # The id of the dimensional price group to include this price in - dimensional_price_group_id: nil, - # The external id of the dimensional price group to include this price in - external_dimensional_price_group_id: nil - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - } - ) - end - def to_hash - end - end - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class GroupedWithProratedMinimum < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum, - Orb::Internal::AnyHash - ) - end - - # The cadence to bill for this price on. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::Cadence::OrSymbol - ) - end - attr_accessor :cadence - - sig { returns(T::Hash[Symbol, T.anything]) } - attr_accessor :grouped_with_prorated_minimum_config - - # The id of the item the price will be associated with. - sig { returns(String) } - attr_accessor :item_id - - sig { returns(Symbol) } - attr_accessor :model_type - - # The name of the price. - sig { returns(String) } - attr_accessor :name - - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - sig { returns(T.nilable(String)) } - attr_accessor :billable_metric_id - - # 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. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :billed_in_advance - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration - ) - ) - end - attr_reader :billing_cycle_configuration - - sig do - params( - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :billing_cycle_configuration - - # The per unit conversion rate of the price currency to the invoicing currency. - sig { returns(T.nilable(Float)) } - attr_accessor :conversion_rate - - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - sig { returns(T.nilable(String)) } - attr_accessor :currency - - # For dimensional price: specifies a price group and dimension values - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration - ) - ) - end - attr_reader :dimensional_price_configuration - - sig do - params( - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration::OrHash - ) - ).void - end - attr_writer :dimensional_price_configuration - - # An alias for the price. - sig { returns(T.nilable(String)) } - attr_accessor :external_price_id - - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - sig { returns(T.nilable(Float)) } - attr_accessor :fixed_price_quantity - - # The property used to group this price on an invoice - sig { returns(T.nilable(String)) } - attr_accessor :invoice_grouping_key - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration - ) - ) - end - attr_reader :invoicing_cycle_configuration - - sig do - params( - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :invoicing_cycle_configuration - - # 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`. - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } - attr_accessor :metadata - - sig do - params( - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::Cadence::OrSymbol, - grouped_with_prorated_minimum_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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::OrHash - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration::OrHash - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::OrHash - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), - model_type: Symbol - ).returns(T.attached_class) - end - def self.new( - # The cadence to bill for this price on. - cadence:, - grouped_with_prorated_minimum_config:, - # The id of the item the price will be associated with. - item_id:, - # The name of the price. - name:, - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - billable_metric_id: nil, - # 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. - billed_in_advance: nil, - # For custom cadence: specifies the duration of the billing period in days or - # months. - billing_cycle_configuration: nil, - # The per unit conversion rate of the price currency to the invoicing currency. - conversion_rate: nil, - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - currency: nil, - # For dimensional price: specifies a price group and dimension values - dimensional_price_configuration: nil, - # An alias for the price. - external_price_id: nil, - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - fixed_price_quantity: nil, - # The property used to group this price on an invoice - invoice_grouping_key: nil, - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - invoicing_cycle_configuration: nil, - # 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`. - metadata: nil, - model_type: :grouped_with_prorated_minimum - ) - end - - sig do - override.returns( - { - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::Cadence::OrSymbol, - grouped_with_prorated_minimum_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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) - } - ) - end - def to_hash - end - - # The cadence to bill for this price on. - module Cadence - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::Cadence - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ANNUAL = - T.let( - :annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::Cadence::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::Cadence::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::Cadence::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::Cadence::TaggedSymbol - ) - ONE_TIME = - T.let( - :one_time, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::Cadence::TaggedSymbol - ) - CUSTOM = - T.let( - :custom, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::Cadence::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::Cadence::TaggedSymbol - ] - ) - end - def self.values - end - end - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration, - Orb::Internal::AnyHash - ) - end - - # The list of dimension values matching (in order) the dimensions of the price - # group - sig { returns(T::Array[String]) } - attr_accessor :dimension_values - - # The id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :dimensional_price_group_id - - # The external id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :external_dimensional_price_group_id - - # For dimensional price: specifies a price group and dimension values - sig do - params( - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The list of dimension values matching (in order) the dimensions of the price - # group - dimension_values:, - # The id of the dimensional price group to include this price in - dimensional_price_group_id: nil, - # The external id of the dimensional price group to include this price in - external_dimensional_price_group_id: nil - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - } - ) - end - def to_hash - end - end - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class GroupedWithMeteredMinimum < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum, - Orb::Internal::AnyHash - ) - end - - # The cadence to bill for this price on. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::Cadence::OrSymbol - ) - end - attr_accessor :cadence - - sig { returns(T::Hash[Symbol, T.anything]) } - attr_accessor :grouped_with_metered_minimum_config - - # The id of the item the price will be associated with. - sig { returns(String) } - attr_accessor :item_id - - sig { returns(Symbol) } - attr_accessor :model_type - - # The name of the price. - sig { returns(String) } - attr_accessor :name - - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - sig { returns(T.nilable(String)) } - attr_accessor :billable_metric_id - - # 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. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :billed_in_advance - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration - ) - ) - end - attr_reader :billing_cycle_configuration - - sig do - params( - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :billing_cycle_configuration - - # The per unit conversion rate of the price currency to the invoicing currency. - sig { returns(T.nilable(Float)) } - attr_accessor :conversion_rate - - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - sig { returns(T.nilable(String)) } - attr_accessor :currency - - # For dimensional price: specifies a price group and dimension values - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration - ) - ) - end - attr_reader :dimensional_price_configuration - - sig do - params( - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration::OrHash - ) - ).void - end - attr_writer :dimensional_price_configuration - - # An alias for the price. - sig { returns(T.nilable(String)) } - attr_accessor :external_price_id - - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - sig { returns(T.nilable(Float)) } - attr_accessor :fixed_price_quantity - - # The property used to group this price on an invoice - sig { returns(T.nilable(String)) } - attr_accessor :invoice_grouping_key - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration - ) - ) - end - attr_reader :invoicing_cycle_configuration - - sig do - params( - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :invoicing_cycle_configuration - - # 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`. - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } - attr_accessor :metadata - - sig do - params( - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::Cadence::OrSymbol, - grouped_with_metered_minimum_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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::OrHash - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration::OrHash - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::OrHash - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), - model_type: Symbol - ).returns(T.attached_class) - end - def self.new( - # The cadence to bill for this price on. - cadence:, - grouped_with_metered_minimum_config:, - # The id of the item the price will be associated with. - item_id:, - # The name of the price. - name:, - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - billable_metric_id: nil, - # 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. - billed_in_advance: nil, - # For custom cadence: specifies the duration of the billing period in days or - # months. - billing_cycle_configuration: nil, - # The per unit conversion rate of the price currency to the invoicing currency. - conversion_rate: nil, - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - currency: nil, - # For dimensional price: specifies a price group and dimension values - dimensional_price_configuration: nil, - # An alias for the price. - external_price_id: nil, - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - fixed_price_quantity: nil, - # The property used to group this price on an invoice - invoice_grouping_key: nil, - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - invoicing_cycle_configuration: nil, - # 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`. - metadata: nil, - model_type: :grouped_with_metered_minimum - ) - end - - sig do - override.returns( - { - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::Cadence::OrSymbol, - grouped_with_metered_minimum_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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) - } - ) - end - def to_hash - end - - # The cadence to bill for this price on. - module Cadence - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::Cadence - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ANNUAL = - T.let( - :annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::Cadence::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::Cadence::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::Cadence::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::Cadence::TaggedSymbol - ) - ONE_TIME = - T.let( - :one_time, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::Cadence::TaggedSymbol - ) - CUSTOM = - T.let( - :custom, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::Cadence::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::Cadence::TaggedSymbol - ] - ) - end - def self.values - end - end - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration, - Orb::Internal::AnyHash - ) - end - - # The list of dimension values matching (in order) the dimensions of the price - # group - sig { returns(T::Array[String]) } - attr_accessor :dimension_values - - # The id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :dimensional_price_group_id - - # The external id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :external_dimensional_price_group_id - - # For dimensional price: specifies a price group and dimension values - sig do - params( - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The list of dimension values matching (in order) the dimensions of the price - # group - dimension_values:, - # The id of the dimensional price group to include this price in - dimensional_price_group_id: nil, - # The external id of the dimensional price group to include this price in - external_dimensional_price_group_id: nil - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - } - ) - end - def to_hash - end - end - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class MatrixWithDisplayName < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName, - Orb::Internal::AnyHash - ) - end - - # The cadence to bill for this price on. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::Cadence::OrSymbol - ) - end - attr_accessor :cadence - - # The id of the item the price will be associated with. - sig { returns(String) } - attr_accessor :item_id - - sig { returns(T::Hash[Symbol, T.anything]) } - attr_accessor :matrix_with_display_name_config - - sig { returns(Symbol) } - attr_accessor :model_type - - # The name of the price. - sig { returns(String) } - attr_accessor :name - - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - sig { returns(T.nilable(String)) } - attr_accessor :billable_metric_id - - # 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. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :billed_in_advance - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration - ) - ) - end - attr_reader :billing_cycle_configuration - - sig do - params( - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :billing_cycle_configuration - - # The per unit conversion rate of the price currency to the invoicing currency. - sig { returns(T.nilable(Float)) } - attr_accessor :conversion_rate - - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - sig { returns(T.nilable(String)) } - attr_accessor :currency - - # For dimensional price: specifies a price group and dimension values - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration - ) - ) - end - attr_reader :dimensional_price_configuration - - sig do - params( - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration::OrHash - ) - ).void - end - attr_writer :dimensional_price_configuration - - # An alias for the price. - sig { returns(T.nilable(String)) } - attr_accessor :external_price_id - - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - sig { returns(T.nilable(Float)) } - attr_accessor :fixed_price_quantity - - # The property used to group this price on an invoice - sig { returns(T.nilable(String)) } - attr_accessor :invoice_grouping_key - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration - ) - ) - end - attr_reader :invoicing_cycle_configuration - - sig do - params( - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :invoicing_cycle_configuration - - # 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`. - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } - attr_accessor :metadata - - sig do - params( - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::Cadence::OrSymbol, - item_id: String, - matrix_with_display_name_config: - T::Hash[Symbol, T.anything], - name: String, - billable_metric_id: T.nilable(String), - billed_in_advance: T.nilable(T::Boolean), - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::OrHash - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration::OrHash - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::OrHash - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), - model_type: Symbol - ).returns(T.attached_class) - end - def self.new( - # The cadence to bill for this price on. - cadence:, - # The id of the item the price will be associated with. - item_id:, - matrix_with_display_name_config:, - # The name of the price. - name:, - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - billable_metric_id: nil, - # 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. - billed_in_advance: nil, - # For custom cadence: specifies the duration of the billing period in days or - # months. - billing_cycle_configuration: nil, - # The per unit conversion rate of the price currency to the invoicing currency. - conversion_rate: nil, - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - currency: nil, - # For dimensional price: specifies a price group and dimension values - dimensional_price_configuration: nil, - # An alias for the price. - external_price_id: nil, - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - fixed_price_quantity: nil, - # The property used to group this price on an invoice - invoice_grouping_key: nil, - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - invoicing_cycle_configuration: nil, - # 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`. - metadata: nil, - model_type: :matrix_with_display_name - ) - end - - sig do - override.returns( - { - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::Cadence::OrSymbol, - item_id: String, - matrix_with_display_name_config: - T::Hash[Symbol, T.anything], - model_type: Symbol, - name: String, - billable_metric_id: T.nilable(String), - billed_in_advance: T.nilable(T::Boolean), - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) - } - ) - end - def to_hash - end - - # The cadence to bill for this price on. - module Cadence - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::Cadence - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ANNUAL = - T.let( - :annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::Cadence::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::Cadence::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::Cadence::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::Cadence::TaggedSymbol - ) - ONE_TIME = - T.let( - :one_time, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::Cadence::TaggedSymbol - ) - CUSTOM = - T.let( - :custom, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::Cadence::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::Cadence::TaggedSymbol - ] - ) - end - def self.values - end - end - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration, - Orb::Internal::AnyHash - ) - end - - # The list of dimension values matching (in order) the dimensions of the price - # group - sig { returns(T::Array[String]) } - attr_accessor :dimension_values - - # The id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :dimensional_price_group_id - - # The external id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :external_dimensional_price_group_id - - # For dimensional price: specifies a price group and dimension values - sig do - params( - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The list of dimension values matching (in order) the dimensions of the price - # group - dimension_values:, - # The id of the dimensional price group to include this price in - dimensional_price_group_id: nil, - # The external id of the dimensional price group to include this price in - external_dimensional_price_group_id: nil - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - } - ) - end - def to_hash - end - end - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class BulkWithProration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration, - Orb::Internal::AnyHash - ) - end - - sig { returns(T::Hash[Symbol, T.anything]) } - attr_accessor :bulk_with_proration_config - - # The cadence to bill for this price on. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::Cadence::OrSymbol - ) - end - attr_accessor :cadence - - # The id of the item the price will be associated with. - sig { returns(String) } - attr_accessor :item_id - - sig { returns(Symbol) } - attr_accessor :model_type - - # The name of the price. - sig { returns(String) } - attr_accessor :name - - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - sig { returns(T.nilable(String)) } - attr_accessor :billable_metric_id - - # 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. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :billed_in_advance - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration - ) - ) - end - attr_reader :billing_cycle_configuration - - sig do - params( - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :billing_cycle_configuration - - # The per unit conversion rate of the price currency to the invoicing currency. - sig { returns(T.nilable(Float)) } - attr_accessor :conversion_rate - - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - sig { returns(T.nilable(String)) } - attr_accessor :currency - - # For dimensional price: specifies a price group and dimension values - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::DimensionalPriceConfiguration - ) - ) - end - attr_reader :dimensional_price_configuration - - sig do - params( - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::DimensionalPriceConfiguration::OrHash - ) - ).void - end - attr_writer :dimensional_price_configuration - - # An alias for the price. - sig { returns(T.nilable(String)) } - attr_accessor :external_price_id - - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - sig { returns(T.nilable(Float)) } - attr_accessor :fixed_price_quantity - - # The property used to group this price on an invoice - sig { returns(T.nilable(String)) } - attr_accessor :invoice_grouping_key - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration - ) - ) - end - attr_reader :invoicing_cycle_configuration - - sig do - params( - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :invoicing_cycle_configuration - - # 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`. - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } - attr_accessor :metadata - - sig do - params( - bulk_with_proration_config: T::Hash[Symbol, T.anything], - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::Cadence::OrSymbol, - item_id: String, - name: String, - billable_metric_id: T.nilable(String), - billed_in_advance: T.nilable(T::Boolean), - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration::OrHash - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::DimensionalPriceConfiguration::OrHash - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration::OrHash - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), - model_type: Symbol - ).returns(T.attached_class) - end - def self.new( - bulk_with_proration_config:, - # The cadence to bill for this price on. - cadence:, - # The id of the item the price will be associated with. - item_id:, - # The name of the price. - name:, - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - billable_metric_id: nil, - # 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. - billed_in_advance: nil, - # For custom cadence: specifies the duration of the billing period in days or - # months. - billing_cycle_configuration: nil, - # The per unit conversion rate of the price currency to the invoicing currency. - conversion_rate: nil, - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - currency: nil, - # For dimensional price: specifies a price group and dimension values - dimensional_price_configuration: nil, - # An alias for the price. - external_price_id: nil, - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - fixed_price_quantity: nil, - # The property used to group this price on an invoice - invoice_grouping_key: nil, - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - invoicing_cycle_configuration: nil, - # 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`. - metadata: nil, - model_type: :bulk_with_proration - ) - end - - sig do - override.returns( - { - bulk_with_proration_config: T::Hash[Symbol, T.anything], - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::Cadence::OrSymbol, - 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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::DimensionalPriceConfiguration - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) - } - ) - end - def to_hash - end - - # The cadence to bill for this price on. - module Cadence - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::Cadence - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ANNUAL = - T.let( - :annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::Cadence::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::Cadence::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::Cadence::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::Cadence::TaggedSymbol - ) - ONE_TIME = - T.let( - :one_time, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::Cadence::TaggedSymbol - ) - CUSTOM = - T.let( - :custom, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::Cadence::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::Cadence::TaggedSymbol - ] - ) - end - def self.values - end - end - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::DimensionalPriceConfiguration, - Orb::Internal::AnyHash - ) - end - - # The list of dimension values matching (in order) the dimensions of the price - # group - sig { returns(T::Array[String]) } - attr_accessor :dimension_values - - # The id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :dimensional_price_group_id - - # The external id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :external_dimensional_price_group_id - - # For dimensional price: specifies a price group and dimension values - sig do - params( - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The list of dimension values matching (in order) the dimensions of the price - # group - dimension_values:, - # The id of the dimensional price group to include this price in - dimensional_price_group_id: nil, - # The external id of the dimensional price group to include this price in - external_dimensional_price_group_id: nil - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - } - ) - end - def to_hash - end - end - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class GroupedTieredPackage < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage, - Orb::Internal::AnyHash - ) - end - - # The cadence to bill for this price on. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::Cadence::OrSymbol - ) - end - attr_accessor :cadence - - sig { returns(T::Hash[Symbol, T.anything]) } - attr_accessor :grouped_tiered_package_config - - # The id of the item the price will be associated with. - sig { returns(String) } - attr_accessor :item_id - - sig { returns(Symbol) } - attr_accessor :model_type - - # The name of the price. - sig { returns(String) } - attr_accessor :name - - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - sig { returns(T.nilable(String)) } - attr_accessor :billable_metric_id - - # 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. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :billed_in_advance - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration - ) - ) - end - attr_reader :billing_cycle_configuration - - sig do - params( - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :billing_cycle_configuration - - # The per unit conversion rate of the price currency to the invoicing currency. - sig { returns(T.nilable(Float)) } - attr_accessor :conversion_rate - - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - sig { returns(T.nilable(String)) } - attr_accessor :currency - - # For dimensional price: specifies a price group and dimension values - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration - ) - ) - end - attr_reader :dimensional_price_configuration - - sig do - params( - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration::OrHash - ) - ).void - end - attr_writer :dimensional_price_configuration - - # An alias for the price. - sig { returns(T.nilable(String)) } - attr_accessor :external_price_id - - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - sig { returns(T.nilable(Float)) } - attr_accessor :fixed_price_quantity - - # The property used to group this price on an invoice - sig { returns(T.nilable(String)) } - attr_accessor :invoice_grouping_key - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration - ) - ) - end - attr_reader :invoicing_cycle_configuration - - sig do - params( - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :invoicing_cycle_configuration - - # 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`. - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } - attr_accessor :metadata - - sig do - params( - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::Cadence::OrSymbol, - grouped_tiered_package_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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration::OrHash - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration::OrHash - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::OrHash - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), - model_type: Symbol - ).returns(T.attached_class) - end - def self.new( - # The cadence to bill for this price on. - cadence:, - grouped_tiered_package_config:, - # The id of the item the price will be associated with. - item_id:, - # The name of the price. - name:, - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - billable_metric_id: nil, - # 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. - billed_in_advance: nil, - # For custom cadence: specifies the duration of the billing period in days or - # months. - billing_cycle_configuration: nil, - # The per unit conversion rate of the price currency to the invoicing currency. - conversion_rate: nil, - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - currency: nil, - # For dimensional price: specifies a price group and dimension values - dimensional_price_configuration: nil, - # An alias for the price. - external_price_id: nil, - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - fixed_price_quantity: nil, - # The property used to group this price on an invoice - invoice_grouping_key: nil, - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - invoicing_cycle_configuration: nil, - # 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`. - metadata: nil, - model_type: :grouped_tiered_package - ) - end - - sig do - override.returns( - { - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::Cadence::OrSymbol, - grouped_tiered_package_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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) - } - ) - end - def to_hash - end - - # The cadence to bill for this price on. - module Cadence - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::Cadence - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ANNUAL = - T.let( - :annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::Cadence::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::Cadence::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::Cadence::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::Cadence::TaggedSymbol - ) - ONE_TIME = - T.let( - :one_time, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::Cadence::TaggedSymbol - ) - CUSTOM = - T.let( - :custom, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::Cadence::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::Cadence::TaggedSymbol - ] - ) - end - def self.values - end - end - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration, - Orb::Internal::AnyHash - ) - end - - # The list of dimension values matching (in order) the dimensions of the price - # group - sig { returns(T::Array[String]) } - attr_accessor :dimension_values - - # The id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :dimensional_price_group_id - - # The external id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :external_dimensional_price_group_id - - # For dimensional price: specifies a price group and dimension values - sig do - params( - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The list of dimension values matching (in order) the dimensions of the price - # group - dimension_values:, - # The id of the dimensional price group to include this price in - dimensional_price_group_id: nil, - # The external id of the dimensional price group to include this price in - external_dimensional_price_group_id: nil - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - } - ) - end - def to_hash - end - end - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class MaxGroupTieredPackage < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage, - Orb::Internal::AnyHash - ) - end - - # The cadence to bill for this price on. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::Cadence::OrSymbol - ) - end - attr_accessor :cadence - - # The id of the item the price will be associated with. - sig { returns(String) } - attr_accessor :item_id - - sig { returns(T::Hash[Symbol, T.anything]) } - attr_accessor :max_group_tiered_package_config - - sig { returns(Symbol) } - attr_accessor :model_type - - # The name of the price. - sig { returns(String) } - attr_accessor :name - - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - sig { returns(T.nilable(String)) } - attr_accessor :billable_metric_id - - # 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. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :billed_in_advance - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration - ) - ) - end - attr_reader :billing_cycle_configuration - - sig do - params( - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :billing_cycle_configuration - - # The per unit conversion rate of the price currency to the invoicing currency. - sig { returns(T.nilable(Float)) } - attr_accessor :conversion_rate - - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - sig { returns(T.nilable(String)) } - attr_accessor :currency - - # For dimensional price: specifies a price group and dimension values - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration - ) - ) - end - attr_reader :dimensional_price_configuration - - sig do - params( - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration::OrHash - ) - ).void - end - attr_writer :dimensional_price_configuration - - # An alias for the price. - sig { returns(T.nilable(String)) } - attr_accessor :external_price_id - - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - sig { returns(T.nilable(Float)) } - attr_accessor :fixed_price_quantity - - # The property used to group this price on an invoice - sig { returns(T.nilable(String)) } - attr_accessor :invoice_grouping_key - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration - ) - ) - end - attr_reader :invoicing_cycle_configuration - - sig do - params( - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :invoicing_cycle_configuration - - # 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`. - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } - attr_accessor :metadata - - sig do - params( - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::Cadence::OrSymbol, - item_id: String, - max_group_tiered_package_config: - T::Hash[Symbol, T.anything], - name: String, - billable_metric_id: T.nilable(String), - billed_in_advance: T.nilable(T::Boolean), - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::OrHash - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration::OrHash - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::OrHash - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), - model_type: Symbol - ).returns(T.attached_class) - end - def self.new( - # The cadence to bill for this price on. - cadence:, - # The id of the item the price will be associated with. - item_id:, - max_group_tiered_package_config:, - # The name of the price. - name:, - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - billable_metric_id: nil, - # 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. - billed_in_advance: nil, - # For custom cadence: specifies the duration of the billing period in days or - # months. - billing_cycle_configuration: nil, - # The per unit conversion rate of the price currency to the invoicing currency. - conversion_rate: nil, - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - currency: nil, - # For dimensional price: specifies a price group and dimension values - dimensional_price_configuration: nil, - # An alias for the price. - external_price_id: nil, - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - fixed_price_quantity: nil, - # The property used to group this price on an invoice - invoice_grouping_key: nil, - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - invoicing_cycle_configuration: nil, - # 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`. - metadata: nil, - model_type: :max_group_tiered_package - ) - end - - sig do - override.returns( - { - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::Cadence::OrSymbol, - item_id: String, - max_group_tiered_package_config: - T::Hash[Symbol, T.anything], - model_type: Symbol, - name: String, - billable_metric_id: T.nilable(String), - billed_in_advance: T.nilable(T::Boolean), - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) - } - ) - end - def to_hash - end - - # The cadence to bill for this price on. - module Cadence - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::Cadence - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ANNUAL = - T.let( - :annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::Cadence::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::Cadence::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::Cadence::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::Cadence::TaggedSymbol - ) - ONE_TIME = - T.let( - :one_time, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::Cadence::TaggedSymbol - ) - CUSTOM = - T.let( - :custom, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::Cadence::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::Cadence::TaggedSymbol - ] - ) - end - def self.values - end - end - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration, - Orb::Internal::AnyHash - ) - end - - # The list of dimension values matching (in order) the dimensions of the price - # group - sig { returns(T::Array[String]) } - attr_accessor :dimension_values - - # The id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :dimensional_price_group_id - - # The external id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :external_dimensional_price_group_id - - # For dimensional price: specifies a price group and dimension values - sig do - params( - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The list of dimension values matching (in order) the dimensions of the price - # group - dimension_values:, - # The id of the dimensional price group to include this price in - dimensional_price_group_id: nil, - # The external id of the dimensional price group to include this price in - external_dimensional_price_group_id: nil - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - } - ) - end - def to_hash - end - end - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class ScalableMatrixWithUnitPricing < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing, - Orb::Internal::AnyHash - ) - end - - # The cadence to bill for this price on. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::Cadence::OrSymbol - ) - end - attr_accessor :cadence - - # The id of the item the price will be associated with. - sig { returns(String) } - attr_accessor :item_id - - sig { returns(Symbol) } - attr_accessor :model_type - - # The name of the price. - sig { returns(String) } - attr_accessor :name - - sig { returns(T::Hash[Symbol, T.anything]) } - attr_accessor :scalable_matrix_with_unit_pricing_config - - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - sig { returns(T.nilable(String)) } - attr_accessor :billable_metric_id - - # 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. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :billed_in_advance - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration - ) - ) - end - attr_reader :billing_cycle_configuration - - sig do - params( - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :billing_cycle_configuration - - # The per unit conversion rate of the price currency to the invoicing currency. - sig { returns(T.nilable(Float)) } - attr_accessor :conversion_rate - - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - sig { returns(T.nilable(String)) } - attr_accessor :currency - - # For dimensional price: specifies a price group and dimension values - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration - ) - ) - end - attr_reader :dimensional_price_configuration - - sig do - params( - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration::OrHash - ) - ).void - end - attr_writer :dimensional_price_configuration - - # An alias for the price. - sig { returns(T.nilable(String)) } - attr_accessor :external_price_id - - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - sig { returns(T.nilable(Float)) } - attr_accessor :fixed_price_quantity - - # The property used to group this price on an invoice - sig { returns(T.nilable(String)) } - attr_accessor :invoice_grouping_key - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration - ) - ) - end - attr_reader :invoicing_cycle_configuration - - sig do - params( - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :invoicing_cycle_configuration - - # 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`. - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } - attr_accessor :metadata - - sig do - params( - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::Cadence::OrSymbol, - item_id: String, - name: String, - scalable_matrix_with_unit_pricing_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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::OrHash - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration::OrHash - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::OrHash - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), - model_type: Symbol - ).returns(T.attached_class) - end - def self.new( - # The cadence to bill for this price on. - cadence:, - # The id of the item the price will be associated with. - item_id:, - # The name of the price. - name:, - scalable_matrix_with_unit_pricing_config:, - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - billable_metric_id: nil, - # 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. - billed_in_advance: nil, - # For custom cadence: specifies the duration of the billing period in days or - # months. - billing_cycle_configuration: nil, - # The per unit conversion rate of the price currency to the invoicing currency. - conversion_rate: nil, - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - currency: nil, - # For dimensional price: specifies a price group and dimension values - dimensional_price_configuration: nil, - # An alias for the price. - external_price_id: nil, - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - fixed_price_quantity: nil, - # The property used to group this price on an invoice - invoice_grouping_key: nil, - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - invoicing_cycle_configuration: nil, - # 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`. - metadata: nil, - model_type: :scalable_matrix_with_unit_pricing - ) - end - - sig do - override.returns( - { - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::Cadence::OrSymbol, - item_id: String, - model_type: Symbol, - name: String, - scalable_matrix_with_unit_pricing_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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) - } - ) - end - def to_hash - end - - # The cadence to bill for this price on. - module Cadence - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::Cadence - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ANNUAL = - T.let( - :annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::Cadence::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::Cadence::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::Cadence::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::Cadence::TaggedSymbol - ) - ONE_TIME = - T.let( - :one_time, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::Cadence::TaggedSymbol - ) - CUSTOM = - T.let( - :custom, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::Cadence::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::Cadence::TaggedSymbol - ] - ) - end - def self.values - end - end - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration, - Orb::Internal::AnyHash - ) - end - - # The list of dimension values matching (in order) the dimensions of the price - # group - sig { returns(T::Array[String]) } - attr_accessor :dimension_values - - # The id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :dimensional_price_group_id - - # The external id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :external_dimensional_price_group_id - - # For dimensional price: specifies a price group and dimension values - sig do - params( - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The list of dimension values matching (in order) the dimensions of the price - # group - dimension_values:, - # The id of the dimensional price group to include this price in - dimensional_price_group_id: nil, - # The external id of the dimensional price group to include this price in - external_dimensional_price_group_id: nil - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - } - ) - end - def to_hash - end - end - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class ScalableMatrixWithTieredPricing < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing, - Orb::Internal::AnyHash - ) - end - - # The cadence to bill for this price on. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::Cadence::OrSymbol - ) - end - attr_accessor :cadence - - # The id of the item the price will be associated with. - sig { returns(String) } - attr_accessor :item_id - - sig { returns(Symbol) } - attr_accessor :model_type - - # The name of the price. - sig { returns(String) } - attr_accessor :name - - sig { returns(T::Hash[Symbol, T.anything]) } - attr_accessor :scalable_matrix_with_tiered_pricing_config - - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - sig { returns(T.nilable(String)) } - attr_accessor :billable_metric_id - - # 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. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :billed_in_advance - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration - ) - ) - end - attr_reader :billing_cycle_configuration - - sig do - params( - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :billing_cycle_configuration - - # The per unit conversion rate of the price currency to the invoicing currency. - sig { returns(T.nilable(Float)) } - attr_accessor :conversion_rate - - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - sig { returns(T.nilable(String)) } - attr_accessor :currency - - # For dimensional price: specifies a price group and dimension values - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration - ) - ) - end - attr_reader :dimensional_price_configuration - - sig do - params( - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration::OrHash - ) - ).void - end - attr_writer :dimensional_price_configuration - - # An alias for the price. - sig { returns(T.nilable(String)) } - attr_accessor :external_price_id - - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - sig { returns(T.nilable(Float)) } - attr_accessor :fixed_price_quantity - - # The property used to group this price on an invoice - sig { returns(T.nilable(String)) } - attr_accessor :invoice_grouping_key - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration - ) - ) - end - attr_reader :invoicing_cycle_configuration - - sig do - params( - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :invoicing_cycle_configuration - - # 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`. - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } - attr_accessor :metadata - - sig do - params( - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::Cadence::OrSymbol, - item_id: String, - name: String, - scalable_matrix_with_tiered_pricing_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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::OrHash - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration::OrHash - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::OrHash - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), - model_type: Symbol - ).returns(T.attached_class) - end - def self.new( - # The cadence to bill for this price on. - cadence:, - # The id of the item the price will be associated with. - item_id:, - # The name of the price. - name:, - scalable_matrix_with_tiered_pricing_config:, - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - billable_metric_id: nil, - # 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. - billed_in_advance: nil, - # For custom cadence: specifies the duration of the billing period in days or - # months. - billing_cycle_configuration: nil, - # The per unit conversion rate of the price currency to the invoicing currency. - conversion_rate: nil, - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - currency: nil, - # For dimensional price: specifies a price group and dimension values - dimensional_price_configuration: nil, - # An alias for the price. - external_price_id: nil, - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - fixed_price_quantity: nil, - # The property used to group this price on an invoice - invoice_grouping_key: nil, - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - invoicing_cycle_configuration: nil, - # 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`. - metadata: nil, - model_type: :scalable_matrix_with_tiered_pricing - ) - end - - sig do - override.returns( - { - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::Cadence::OrSymbol, - item_id: String, - model_type: Symbol, - name: String, - scalable_matrix_with_tiered_pricing_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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) - } - ) - end - def to_hash - end - - # The cadence to bill for this price on. - module Cadence - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::Cadence - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ANNUAL = - T.let( - :annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::Cadence::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::Cadence::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::Cadence::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::Cadence::TaggedSymbol - ) - ONE_TIME = - T.let( - :one_time, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::Cadence::TaggedSymbol - ) - CUSTOM = - T.let( - :custom, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::Cadence::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::Cadence::TaggedSymbol - ] - ) - end - def self.values - end - end - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration, - Orb::Internal::AnyHash - ) - end - - # The list of dimension values matching (in order) the dimensions of the price - # group - sig { returns(T::Array[String]) } - attr_accessor :dimension_values - - # The id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :dimensional_price_group_id - - # The external id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :external_dimensional_price_group_id - - # For dimensional price: specifies a price group and dimension values - sig do - params( - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The list of dimension values matching (in order) the dimensions of the price - # group - dimension_values:, - # The id of the dimensional price group to include this price in - dimensional_price_group_id: nil, - # The external id of the dimensional price group to include this price in - external_dimensional_price_group_id: nil - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - } - ) - end - def to_hash - end - end - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class CumulativeGroupedBulk < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk, - Orb::Internal::AnyHash - ) - end - - # The cadence to bill for this price on. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::Cadence::OrSymbol - ) - end - attr_accessor :cadence - - sig { returns(T::Hash[Symbol, T.anything]) } - attr_accessor :cumulative_grouped_bulk_config - - # The id of the item the price will be associated with. - sig { returns(String) } - attr_accessor :item_id - - sig { returns(Symbol) } - attr_accessor :model_type - - # The name of the price. - sig { returns(String) } - attr_accessor :name - - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - sig { returns(T.nilable(String)) } - attr_accessor :billable_metric_id - - # 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. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :billed_in_advance - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration - ) - ) - end - attr_reader :billing_cycle_configuration - - sig do - params( - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :billing_cycle_configuration - - # The per unit conversion rate of the price currency to the invoicing currency. - sig { returns(T.nilable(Float)) } - attr_accessor :conversion_rate - - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - sig { returns(T.nilable(String)) } - attr_accessor :currency - - # For dimensional price: specifies a price group and dimension values - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration - ) - ) - end - attr_reader :dimensional_price_configuration - - sig do - params( - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration::OrHash - ) - ).void - end - attr_writer :dimensional_price_configuration - - # An alias for the price. - sig { returns(T.nilable(String)) } - attr_accessor :external_price_id - - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - sig { returns(T.nilable(Float)) } - attr_accessor :fixed_price_quantity - - # The property used to group this price on an invoice - sig { returns(T.nilable(String)) } - attr_accessor :invoice_grouping_key - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration - ) - ) - end - attr_reader :invoicing_cycle_configuration - - sig do - params( - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :invoicing_cycle_configuration - - # 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`. - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } - attr_accessor :metadata - - sig do - params( - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::Cadence::OrSymbol, - 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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::OrHash - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration::OrHash - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::OrHash - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), - model_type: Symbol - ).returns(T.attached_class) - end - def self.new( - # The cadence to bill for this price on. - cadence:, - cumulative_grouped_bulk_config:, - # The id of the item the price will be associated with. - item_id:, - # The name of the price. - name:, - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - billable_metric_id: nil, - # 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. - billed_in_advance: nil, - # For custom cadence: specifies the duration of the billing period in days or - # months. - billing_cycle_configuration: nil, - # The per unit conversion rate of the price currency to the invoicing currency. - conversion_rate: nil, - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - currency: nil, - # For dimensional price: specifies a price group and dimension values - dimensional_price_configuration: nil, - # An alias for the price. - external_price_id: nil, - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - fixed_price_quantity: nil, - # The property used to group this price on an invoice - invoice_grouping_key: nil, - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - invoicing_cycle_configuration: nil, - # 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`. - metadata: nil, - model_type: :cumulative_grouped_bulk - ) - end - - sig do - override.returns( - { - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::Cadence::OrSymbol, - 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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) - } - ) - end - def to_hash - end - - # The cadence to bill for this price on. - module Cadence - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::Cadence - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ANNUAL = - T.let( - :annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::Cadence::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::Cadence::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::Cadence::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::Cadence::TaggedSymbol - ) - ONE_TIME = - T.let( - :one_time, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::Cadence::TaggedSymbol - ) - CUSTOM = - T.let( - :custom, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::Cadence::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::Cadence::TaggedSymbol - ] - ) - end - def self.values - end - end - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration, - Orb::Internal::AnyHash - ) - end - - # The list of dimension values matching (in order) the dimensions of the price - # group - sig { returns(T::Array[String]) } - attr_accessor :dimension_values - - # The id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :dimensional_price_group_id - - # The external id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :external_dimensional_price_group_id - - # For dimensional price: specifies a price group and dimension values - sig do - params( - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The list of dimension values matching (in order) the dimensions of the price - # group - dimension_values:, - # The id of the dimensional price group to include this price in - dimensional_price_group_id: nil, - # The external id of the dimensional price group to include this price in - external_dimensional_price_group_id: nil - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - } - ) - end - def to_hash - end - end - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class TieredPackageWithMinimum < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum, - Orb::Internal::AnyHash - ) - end - - # The cadence to bill for this price on. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::Cadence::OrSymbol - ) - end - attr_accessor :cadence - - # The id of the item the price will be associated with. - sig { returns(String) } - attr_accessor :item_id - - sig { returns(Symbol) } - attr_accessor :model_type - - # The name of the price. - sig { returns(String) } - attr_accessor :name - - sig { returns(T::Hash[Symbol, T.anything]) } - attr_accessor :tiered_package_with_minimum_config - - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - sig { returns(T.nilable(String)) } - attr_accessor :billable_metric_id - - # 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. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :billed_in_advance - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration - ) - ) - end - attr_reader :billing_cycle_configuration - - sig do - params( - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :billing_cycle_configuration - - # The per unit conversion rate of the price currency to the invoicing currency. - sig { returns(T.nilable(Float)) } - attr_accessor :conversion_rate - - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - sig { returns(T.nilable(String)) } - attr_accessor :currency - - # For dimensional price: specifies a price group and dimension values - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration - ) - ) - end - attr_reader :dimensional_price_configuration - - sig do - params( - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration::OrHash - ) - ).void - end - attr_writer :dimensional_price_configuration - - # An alias for the price. - sig { returns(T.nilable(String)) } - attr_accessor :external_price_id - - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - sig { returns(T.nilable(Float)) } - attr_accessor :fixed_price_quantity - - # The property used to group this price on an invoice - sig { returns(T.nilable(String)) } - attr_accessor :invoice_grouping_key - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration - ) - ) - end - attr_reader :invoicing_cycle_configuration - - sig do - params( - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :invoicing_cycle_configuration - - # 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`. - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } - attr_accessor :metadata - - sig do - params( - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::Cadence::OrSymbol, - item_id: String, - name: String, - tiered_package_with_minimum_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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::OrHash - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration::OrHash - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::OrHash - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), - model_type: Symbol - ).returns(T.attached_class) - end - def self.new( - # The cadence to bill for this price on. - cadence:, - # The id of the item the price will be associated with. - item_id:, - # The name of the price. - name:, - tiered_package_with_minimum_config:, - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - billable_metric_id: nil, - # 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. - billed_in_advance: nil, - # For custom cadence: specifies the duration of the billing period in days or - # months. - billing_cycle_configuration: nil, - # The per unit conversion rate of the price currency to the invoicing currency. - conversion_rate: nil, - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - currency: nil, - # For dimensional price: specifies a price group and dimension values - dimensional_price_configuration: nil, - # An alias for the price. - external_price_id: nil, - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - fixed_price_quantity: nil, - # The property used to group this price on an invoice - invoice_grouping_key: nil, - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - invoicing_cycle_configuration: nil, - # 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`. - metadata: nil, - model_type: :tiered_package_with_minimum - ) - end - - sig do - override.returns( - { - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::Cadence::OrSymbol, - item_id: String, - model_type: Symbol, - name: String, - tiered_package_with_minimum_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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) - } - ) - end - def to_hash - end - - # The cadence to bill for this price on. - module Cadence - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::Cadence - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ANNUAL = - T.let( - :annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::Cadence::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::Cadence::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::Cadence::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::Cadence::TaggedSymbol - ) - ONE_TIME = - T.let( - :one_time, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::Cadence::TaggedSymbol - ) - CUSTOM = - T.let( - :custom, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::Cadence::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::Cadence::TaggedSymbol - ] - ) - end - def self.values - end - end - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration, - Orb::Internal::AnyHash - ) - end - - # The list of dimension values matching (in order) the dimensions of the price - # group - sig { returns(T::Array[String]) } - attr_accessor :dimension_values - - # The id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :dimensional_price_group_id - - # The external id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :external_dimensional_price_group_id - - # For dimensional price: specifies a price group and dimension values - sig do - params( - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The list of dimension values matching (in order) the dimensions of the price - # group - dimension_values:, - # The id of the dimensional price group to include this price in - dimensional_price_group_id: nil, - # The external id of the dimensional price group to include this price in - external_dimensional_price_group_id: nil - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - } - ) - end - def to_hash - end - end - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class MatrixWithAllocation < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation, - Orb::Internal::AnyHash - ) - end - - # The cadence to bill for this price on. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::Cadence::OrSymbol - ) - end - attr_accessor :cadence - - # The id of the item the price will be associated with. - sig { returns(String) } - attr_accessor :item_id - - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig - ) - end - attr_reader :matrix_with_allocation_config - - sig do - params( - matrix_with_allocation_config: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::OrHash - ).void - end - attr_writer :matrix_with_allocation_config - - sig { returns(Symbol) } - attr_accessor :model_type - - # The name of the price. - sig { returns(String) } - attr_accessor :name - - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - sig { returns(T.nilable(String)) } - attr_accessor :billable_metric_id - - # 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. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :billed_in_advance - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration - ) - ) - end - attr_reader :billing_cycle_configuration - - sig do - params( - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :billing_cycle_configuration - - # The per unit conversion rate of the price currency to the invoicing currency. - sig { returns(T.nilable(Float)) } - attr_accessor :conversion_rate - - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - sig { returns(T.nilable(String)) } - attr_accessor :currency - - # For dimensional price: specifies a price group and dimension values - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration - ) - ) - end - attr_reader :dimensional_price_configuration - - sig do - params( - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration::OrHash - ) - ).void - end - attr_writer :dimensional_price_configuration - - # An alias for the price. - sig { returns(T.nilable(String)) } - attr_accessor :external_price_id - - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - sig { returns(T.nilable(Float)) } - attr_accessor :fixed_price_quantity - - # The property used to group this price on an invoice - sig { returns(T.nilable(String)) } - attr_accessor :invoice_grouping_key - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration - ) - ) - end - attr_reader :invoicing_cycle_configuration - - sig do - params( - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :invoicing_cycle_configuration - - # 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`. - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } - attr_accessor :metadata - - sig do - params( - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::Cadence::OrSymbol, - item_id: String, - matrix_with_allocation_config: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::OrHash, - name: String, - billable_metric_id: T.nilable(String), - billed_in_advance: T.nilable(T::Boolean), - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration::OrHash - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration::OrHash - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::OrHash - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), - model_type: Symbol - ).returns(T.attached_class) - end - def self.new( - # The cadence to bill for this price on. - cadence:, - # The id of the item the price will be associated with. - item_id:, - matrix_with_allocation_config:, - # The name of the price. - name:, - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - billable_metric_id: nil, - # 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. - billed_in_advance: nil, - # For custom cadence: specifies the duration of the billing period in days or - # months. - billing_cycle_configuration: nil, - # The per unit conversion rate of the price currency to the invoicing currency. - conversion_rate: nil, - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - currency: nil, - # For dimensional price: specifies a price group and dimension values - dimensional_price_configuration: nil, - # An alias for the price. - external_price_id: nil, - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - fixed_price_quantity: nil, - # The property used to group this price on an invoice - invoice_grouping_key: nil, - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - invoicing_cycle_configuration: nil, - # 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`. - metadata: nil, - model_type: :matrix_with_allocation - ) - end - - sig do - override.returns( - { - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::Cadence::OrSymbol, - item_id: String, - matrix_with_allocation_config: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig, - model_type: Symbol, - name: String, - billable_metric_id: T.nilable(String), - billed_in_advance: T.nilable(T::Boolean), - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) - } - ) - end - def to_hash - end - - # The cadence to bill for this price on. - module Cadence - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::Cadence - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ANNUAL = - T.let( - :annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::Cadence::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::Cadence::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::Cadence::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::Cadence::TaggedSymbol - ) - ONE_TIME = - T.let( - :one_time, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::Cadence::TaggedSymbol - ) - CUSTOM = - T.let( - :custom, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::Cadence::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::Cadence::TaggedSymbol - ] - ) - end - def self.values - end - end - - class MatrixWithAllocationConfig < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig, - Orb::Internal::AnyHash - ) - end - - # Allocation to be used to calculate the price - sig { returns(Float) } - attr_accessor :allocation - - # Default per unit rate for any usage not bucketed into a specified matrix_value - sig { returns(String) } - attr_accessor :default_unit_amount - - # One or two event property values to evaluate matrix groups by - sig { returns(T::Array[T.nilable(String)]) } - attr_accessor :dimensions - - # Matrix values for specified matrix grouping keys - sig do - returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue - ] - ) - end - attr_accessor :matrix_values - - sig do - params( - allocation: Float, - default_unit_amount: String, - dimensions: T::Array[T.nilable(String)], - matrix_values: - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue::OrHash - ] - ).returns(T.attached_class) - end - def self.new( - # Allocation to be used to calculate the price - allocation:, - # Default per unit rate for any usage not bucketed into a specified matrix_value - default_unit_amount:, - # One or two event property values to evaluate matrix groups by - dimensions:, - # Matrix values for specified matrix grouping keys - matrix_values: - ) - end - - sig do - override.returns( - { - allocation: Float, - default_unit_amount: String, - dimensions: T::Array[T.nilable(String)], - matrix_values: - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue - ] - } - ) - end - def to_hash - end - - class MatrixValue < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue, - Orb::Internal::AnyHash - ) - end - - # One or two matrix keys to filter usage to this Matrix value by. For example, - # ["region", "tier"] could be used to filter cloud usage by a cloud region and an - # instance tier. - sig { returns(T::Array[T.nilable(String)]) } - attr_accessor :dimension_values - - # Unit price for the specified dimension_values - sig { returns(String) } - attr_accessor :unit_amount - - sig do - params( - dimension_values: T::Array[T.nilable(String)], - unit_amount: String - ).returns(T.attached_class) - end - def self.new( - # One or two matrix keys to filter usage to this Matrix value by. For example, - # ["region", "tier"] could be used to filter cloud usage by a cloud region and an - # instance tier. - dimension_values:, - # Unit price for the specified dimension_values - unit_amount: - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[T.nilable(String)], - unit_amount: String - } - ) - end - def to_hash - end - end - end - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration, - Orb::Internal::AnyHash - ) - end - - # The list of dimension values matching (in order) the dimensions of the price - # group - sig { returns(T::Array[String]) } - attr_accessor :dimension_values - - # The id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :dimensional_price_group_id - - # The external id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :external_dimensional_price_group_id - - # For dimensional price: specifies a price group and dimension values - sig do - params( - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The list of dimension values matching (in order) the dimensions of the price - # group - dimension_values:, - # The id of the dimensional price group to include this price in - dimensional_price_group_id: nil, - # The external id of the dimensional price group to include this price in - external_dimensional_price_group_id: nil - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - } - ) - end - def to_hash - end - end - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class GroupedTiered < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered, - Orb::Internal::AnyHash - ) - end - - # The cadence to bill for this price on. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::Cadence::OrSymbol - ) - end - attr_accessor :cadence - - sig { returns(T::Hash[Symbol, T.anything]) } - attr_accessor :grouped_tiered_config - - # The id of the item the price will be associated with. - sig { returns(String) } - attr_accessor :item_id - - sig { returns(Symbol) } - attr_accessor :model_type - - # The name of the price. - sig { returns(String) } - attr_accessor :name - - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - sig { returns(T.nilable(String)) } - attr_accessor :billable_metric_id - - # 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. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :billed_in_advance - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration - ) - ) - end - attr_reader :billing_cycle_configuration - - sig do - params( - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :billing_cycle_configuration - - # The per unit conversion rate of the price currency to the invoicing currency. - sig { returns(T.nilable(Float)) } - attr_accessor :conversion_rate - - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - sig { returns(T.nilable(String)) } - attr_accessor :currency - - # For dimensional price: specifies a price group and dimension values - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::DimensionalPriceConfiguration - ) - ) - end - attr_reader :dimensional_price_configuration - - sig do - params( - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::DimensionalPriceConfiguration::OrHash - ) - ).void - end - attr_writer :dimensional_price_configuration - - # An alias for the price. - sig { returns(T.nilable(String)) } - attr_accessor :external_price_id - - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - sig { returns(T.nilable(Float)) } - attr_accessor :fixed_price_quantity - - # The property used to group this price on an invoice - sig { returns(T.nilable(String)) } - attr_accessor :invoice_grouping_key - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration - ) - ) - end - attr_reader :invoicing_cycle_configuration - - sig do - params( - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :invoicing_cycle_configuration - - # 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`. - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } - attr_accessor :metadata - - sig do - params( - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::Cadence::OrSymbol, - grouped_tiered_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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration::OrHash - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::DimensionalPriceConfiguration::OrHash - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration::OrHash - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), - model_type: Symbol - ).returns(T.attached_class) - end - def self.new( - # The cadence to bill for this price on. - cadence:, - grouped_tiered_config:, - # The id of the item the price will be associated with. - item_id:, - # The name of the price. - name:, - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - billable_metric_id: nil, - # 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. - billed_in_advance: nil, - # For custom cadence: specifies the duration of the billing period in days or - # months. - billing_cycle_configuration: nil, - # The per unit conversion rate of the price currency to the invoicing currency. - conversion_rate: nil, - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - currency: nil, - # For dimensional price: specifies a price group and dimension values - dimensional_price_configuration: nil, - # An alias for the price. - external_price_id: nil, - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - fixed_price_quantity: nil, - # The property used to group this price on an invoice - invoice_grouping_key: nil, - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - invoicing_cycle_configuration: nil, - # 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`. - metadata: nil, - model_type: :grouped_tiered - ) - end - - sig do - override.returns( - { - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::Cadence::OrSymbol, - grouped_tiered_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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::DimensionalPriceConfiguration - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) - } - ) - end - def to_hash - end - - # The cadence to bill for this price on. - module Cadence - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::Cadence - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ANNUAL = - T.let( - :annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::Cadence::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::Cadence::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::Cadence::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::Cadence::TaggedSymbol - ) - ONE_TIME = - T.let( - :one_time, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::Cadence::TaggedSymbol - ) - CUSTOM = - T.let( - :custom, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::Cadence::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::Cadence::TaggedSymbol - ] - ) - end - def self.values - end - end - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::DimensionalPriceConfiguration, - Orb::Internal::AnyHash - ) - end - - # The list of dimension values matching (in order) the dimensions of the price - # group - sig { returns(T::Array[String]) } - attr_accessor :dimension_values - - # The id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :dimensional_price_group_id - - # The external id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :external_dimensional_price_group_id - - # For dimensional price: specifies a price group and dimension values - sig do - params( - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The list of dimension values matching (in order) the dimensions of the price - # group - dimension_values:, - # The id of the dimensional price group to include this price in - dimensional_price_group_id: nil, - # The external id of the dimensional price group to include this price in - external_dimensional_price_group_id: nil - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - } - ) - end - def to_hash - end - end - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Variants - ] - ) - end - def self.variants - end - end - end - - class RemoveAdjustment < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::RemoveAdjustment, - Orb::Internal::AnyHash - ) - end - - # The id of the adjustment to remove from on the plan. - sig { returns(String) } - attr_accessor :adjustment_id - - # The phase to remove this adjustment from. - sig { returns(T.nilable(Integer)) } - attr_accessor :plan_phase_order - - sig do - params( - adjustment_id: String, - plan_phase_order: T.nilable(Integer) - ).returns(T.attached_class) - end - def self.new( - # The id of the adjustment to remove from on the plan. - adjustment_id:, - # The phase to remove this adjustment from. - plan_phase_order: nil - ) - end - - sig do - override.returns( - { adjustment_id: String, plan_phase_order: T.nilable(Integer) } - ) - end - def to_hash - end - end - - class RemovePrice < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::RemovePrice, - Orb::Internal::AnyHash - ) - end - - # The id of the price to remove from the plan. - sig { returns(String) } - attr_accessor :price_id - - # The phase to remove this price from. - sig { returns(T.nilable(Integer)) } - attr_accessor :plan_phase_order - - sig do - params( - price_id: String, - plan_phase_order: T.nilable(Integer) - ).returns(T.attached_class) - end - def self.new( - # The id of the price to remove from the plan. - price_id:, - # The phase to remove this price from. - plan_phase_order: nil - ) - end - - sig do - override.returns( - { price_id: String, plan_phase_order: T.nilable(Integer) } - ) - end - def to_hash - end - end - - class ReplaceAdjustment < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplaceAdjustment, - Orb::Internal::AnyHash - ) - end - - # The definition of a new adjustment to create and add to the plan. - sig do - returns( - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplaceAdjustment::Adjustment::PercentageDiscount, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplaceAdjustment::Adjustment::UsageDiscount, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplaceAdjustment::Adjustment::AmountDiscount, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplaceAdjustment::Adjustment::Minimum, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplaceAdjustment::Adjustment::Maximum - ) - ) - end - attr_accessor :adjustment - - # The id of the adjustment on the plan to replace in the plan. - sig { returns(String) } - attr_accessor :replaces_adjustment_id - - # The phase to replace this adjustment from. - sig { returns(T.nilable(Integer)) } - attr_accessor :plan_phase_order - - sig do - params( - adjustment: - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplaceAdjustment::Adjustment::PercentageDiscount::OrHash, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplaceAdjustment::Adjustment::UsageDiscount::OrHash, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplaceAdjustment::Adjustment::AmountDiscount::OrHash, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplaceAdjustment::Adjustment::Minimum::OrHash, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplaceAdjustment::Adjustment::Maximum::OrHash - ), - replaces_adjustment_id: String, - plan_phase_order: T.nilable(Integer) - ).returns(T.attached_class) - end - def self.new( - # The definition of a new adjustment to create and add to the plan. - adjustment:, - # The id of the adjustment on the plan to replace in the plan. - replaces_adjustment_id:, - # The phase to replace this adjustment from. - plan_phase_order: nil - ) - end - - sig do - override.returns( - { - adjustment: - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplaceAdjustment::Adjustment::PercentageDiscount, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplaceAdjustment::Adjustment::UsageDiscount, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplaceAdjustment::Adjustment::AmountDiscount, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplaceAdjustment::Adjustment::Minimum, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplaceAdjustment::Adjustment::Maximum - ), - replaces_adjustment_id: String, - plan_phase_order: T.nilable(Integer) - } - ) - end - def to_hash - end - - # The definition of a new adjustment to create and add to the plan. - module Adjustment - extend Orb::Internal::Type::Union - - Variants = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplaceAdjustment::Adjustment::PercentageDiscount, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplaceAdjustment::Adjustment::UsageDiscount, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplaceAdjustment::Adjustment::AmountDiscount, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplaceAdjustment::Adjustment::Minimum, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplaceAdjustment::Adjustment::Maximum - ) - end - - class PercentageDiscount < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplaceAdjustment::Adjustment::PercentageDiscount, - Orb::Internal::AnyHash - ) - end - - sig { returns(Symbol) } - attr_accessor :adjustment_type - - sig { returns(Float) } - attr_accessor :percentage_discount - - # The set of price IDs to which this adjustment applies. - sig { returns(T.nilable(T::Array[String])) } - attr_accessor :applies_to_price_ids - - # When false, this adjustment will be applied to a single price. Otherwise, it - # will be applied at the invoice level, possibly to multiple prices. - sig { returns(T.nilable(T::Boolean)) } - attr_reader :is_invoice_level - - sig { params(is_invoice_level: T::Boolean).void } - attr_writer :is_invoice_level - - sig do - params( - percentage_discount: Float, - applies_to_price_ids: T.nilable(T::Array[String]), - is_invoice_level: T::Boolean, - adjustment_type: Symbol - ).returns(T.attached_class) - end - def self.new( - percentage_discount:, - # The set of price IDs to which this adjustment applies. - applies_to_price_ids: nil, - # When false, this adjustment will be applied to a single price. Otherwise, it - # will be applied at the invoice level, possibly to multiple prices. - is_invoice_level: nil, - adjustment_type: :percentage_discount - ) - end - - sig do - override.returns( - { - adjustment_type: Symbol, - percentage_discount: Float, - applies_to_price_ids: T.nilable(T::Array[String]), - is_invoice_level: T::Boolean - } - ) - end - def to_hash - end - end - - class UsageDiscount < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplaceAdjustment::Adjustment::UsageDiscount, - Orb::Internal::AnyHash - ) - end - - sig { returns(Symbol) } - attr_accessor :adjustment_type - - sig { returns(Float) } - attr_accessor :usage_discount - - # The set of price IDs to which this adjustment applies. - sig { returns(T.nilable(T::Array[String])) } - attr_accessor :applies_to_price_ids - - # When false, this adjustment will be applied to a single price. Otherwise, it - # will be applied at the invoice level, possibly to multiple prices. - sig { returns(T.nilable(T::Boolean)) } - attr_reader :is_invoice_level - - sig { params(is_invoice_level: T::Boolean).void } - attr_writer :is_invoice_level - - sig do - params( - usage_discount: Float, - applies_to_price_ids: T.nilable(T::Array[String]), - is_invoice_level: T::Boolean, - adjustment_type: Symbol - ).returns(T.attached_class) - end - def self.new( - usage_discount:, - # The set of price IDs to which this adjustment applies. - applies_to_price_ids: nil, - # When false, this adjustment will be applied to a single price. Otherwise, it - # will be applied at the invoice level, possibly to multiple prices. - is_invoice_level: nil, - adjustment_type: :usage_discount - ) - end - - sig do - override.returns( - { - adjustment_type: Symbol, - usage_discount: Float, - applies_to_price_ids: T.nilable(T::Array[String]), - is_invoice_level: T::Boolean - } - ) - end - def to_hash - end - end - - class AmountDiscount < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplaceAdjustment::Adjustment::AmountDiscount, - Orb::Internal::AnyHash - ) - end - - sig { returns(Symbol) } - attr_accessor :adjustment_type - - sig { returns(String) } - attr_accessor :amount_discount - - # The set of price IDs to which this adjustment applies. - sig { returns(T.nilable(T::Array[String])) } - attr_accessor :applies_to_price_ids - - # When false, this adjustment will be applied to a single price. Otherwise, it - # will be applied at the invoice level, possibly to multiple prices. - sig { returns(T.nilable(T::Boolean)) } - attr_reader :is_invoice_level - - sig { params(is_invoice_level: T::Boolean).void } - attr_writer :is_invoice_level - - sig do - params( - amount_discount: String, - applies_to_price_ids: T.nilable(T::Array[String]), - is_invoice_level: T::Boolean, - adjustment_type: Symbol - ).returns(T.attached_class) - end - def self.new( - amount_discount:, - # The set of price IDs to which this adjustment applies. - applies_to_price_ids: nil, - # When false, this adjustment will be applied to a single price. Otherwise, it - # will be applied at the invoice level, possibly to multiple prices. - is_invoice_level: nil, - adjustment_type: :amount_discount - ) - end - - sig do - override.returns( - { - adjustment_type: Symbol, - amount_discount: String, - applies_to_price_ids: T.nilable(T::Array[String]), - is_invoice_level: T::Boolean - } - ) - end - def to_hash - end - end - - class Minimum < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplaceAdjustment::Adjustment::Minimum, - Orb::Internal::AnyHash - ) - end - - sig { returns(Symbol) } - attr_accessor :adjustment_type - - # The item ID that revenue from this minimum will be attributed to. - sig { returns(String) } - attr_accessor :item_id - - sig { returns(String) } - attr_accessor :minimum_amount - - # The set of price IDs to which this adjustment applies. - sig { returns(T.nilable(T::Array[String])) } - attr_accessor :applies_to_price_ids - - # When false, this adjustment will be applied to a single price. Otherwise, it - # will be applied at the invoice level, possibly to multiple prices. - sig { returns(T.nilable(T::Boolean)) } - attr_reader :is_invoice_level - - sig { params(is_invoice_level: T::Boolean).void } - attr_writer :is_invoice_level - - sig do - params( - item_id: String, - minimum_amount: String, - applies_to_price_ids: T.nilable(T::Array[String]), - is_invoice_level: T::Boolean, - adjustment_type: Symbol - ).returns(T.attached_class) - end - def self.new( - # The item ID that revenue from this minimum will be attributed to. - item_id:, - minimum_amount:, - # The set of price IDs to which this adjustment applies. - applies_to_price_ids: nil, - # When false, this adjustment will be applied to a single price. Otherwise, it - # will be applied at the invoice level, possibly to multiple prices. - is_invoice_level: nil, - adjustment_type: :minimum - ) - end - - sig do - override.returns( - { - adjustment_type: Symbol, - item_id: String, - minimum_amount: String, - applies_to_price_ids: T.nilable(T::Array[String]), - is_invoice_level: T::Boolean - } - ) - end - def to_hash - end - end - - class Maximum < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplaceAdjustment::Adjustment::Maximum, - Orb::Internal::AnyHash - ) - end - - sig { returns(Symbol) } - attr_accessor :adjustment_type - - sig { returns(String) } - attr_accessor :maximum_amount - - # The set of price IDs to which this adjustment applies. - sig { returns(T.nilable(T::Array[String])) } - attr_accessor :applies_to_price_ids - - # When false, this adjustment will be applied to a single price. Otherwise, it - # will be applied at the invoice level, possibly to multiple prices. - sig { returns(T.nilable(T::Boolean)) } - attr_reader :is_invoice_level - - sig { params(is_invoice_level: T::Boolean).void } - attr_writer :is_invoice_level - - sig do - params( - maximum_amount: String, - applies_to_price_ids: T.nilable(T::Array[String]), - is_invoice_level: T::Boolean, - adjustment_type: Symbol - ).returns(T.attached_class) - end - def self.new( - maximum_amount:, - # The set of price IDs to which this adjustment applies. - applies_to_price_ids: nil, - # When false, this adjustment will be applied to a single price. Otherwise, it - # will be applied at the invoice level, possibly to multiple prices. - is_invoice_level: nil, - adjustment_type: :maximum - ) - end - - sig do - override.returns( - { - adjustment_type: Symbol, - maximum_amount: String, - applies_to_price_ids: T.nilable(T::Array[String]), - is_invoice_level: T::Boolean - } - ) - end - def to_hash - end - end - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplaceAdjustment::Adjustment::Variants - ] - ) - end - def self.variants - end - end - end - - class ReplacePrice < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice, - Orb::Internal::AnyHash - ) - end - - # The id of the price on the plan to replace in the plan. - sig { returns(String) } - attr_accessor :replaces_price_id - - # The allocation price to add to the plan. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::AllocationPrice - ) - ) - end - attr_reader :allocation_price - - sig do - params( - allocation_price: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::AllocationPrice::OrHash - ) - ).void - end - attr_writer :allocation_price - - # The phase to replace this price from. - sig { returns(T.nilable(Integer)) } - attr_accessor :plan_phase_order - - # The price to add to the plan - sig do - returns( - T.nilable( - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered - ) - ) - ) - end - attr_accessor :price - - sig do - params( - replaces_price_id: String, - allocation_price: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::AllocationPrice::OrHash - ), - plan_phase_order: T.nilable(Integer), - price: - T.nilable( - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::OrHash, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::OrHash, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::OrHash, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::OrHash, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::OrHash, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::OrHash, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::OrHash, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::OrHash, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::OrHash, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::OrHash, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::OrHash, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::OrHash, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::OrHash, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::OrHash, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::OrHash, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::OrHash, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::OrHash, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::OrHash, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::OrHash, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::OrHash, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::OrHash, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::OrHash, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::OrHash, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::OrHash, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::OrHash, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::OrHash, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::OrHash, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::OrHash - ) - ) - ).returns(T.attached_class) - end - def self.new( - # The id of the price on the plan to replace in the plan. - replaces_price_id:, - # The allocation price to add to the plan. - allocation_price: nil, - # The phase to replace this price from. - plan_phase_order: nil, - # The price to add to the plan - price: nil - ) - end - - sig do - override.returns( - { - replaces_price_id: String, - allocation_price: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::AllocationPrice - ), - plan_phase_order: T.nilable(Integer), - price: - T.nilable( - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered - ) - ) - } - ) - end - def to_hash - end - - class AllocationPrice < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::AllocationPrice, - Orb::Internal::AnyHash - ) - end - - # An amount of the currency to allocate to the customer at the specified cadence. - sig { returns(String) } - attr_accessor :amount - - # The cadence at which to allocate the amount to the customer. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::AllocationPrice::Cadence::OrSymbol - ) - end - attr_accessor :cadence - - # An ISO 4217 currency string or a custom pricing unit identifier in which to bill - # this price. - sig { returns(String) } - attr_accessor :currency - - # Whether the allocated amount should expire at the end of the cadence or roll - # over to the next period. - sig { returns(T::Boolean) } - attr_accessor :expires_at_end_of_cadence - - # The allocation price to add to the plan. - sig do - params( - amount: String, - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::AllocationPrice::Cadence::OrSymbol, - currency: String, - expires_at_end_of_cadence: T::Boolean - ).returns(T.attached_class) - end - def self.new( - # An amount of the currency to allocate to the customer at the specified cadence. - amount:, - # The cadence at which to allocate the amount to the customer. - cadence:, - # An ISO 4217 currency string or a custom pricing unit identifier in which to bill - # this price. - currency:, - # Whether the allocated amount should expire at the end of the cadence or roll - # over to the next period. - expires_at_end_of_cadence: - ) - end - - sig do - override.returns( - { - amount: String, - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::AllocationPrice::Cadence::OrSymbol, - currency: String, - expires_at_end_of_cadence: T::Boolean - } - ) - end - def to_hash - end - - # The cadence at which to allocate the amount to the customer. - module Cadence - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::AllocationPrice::Cadence - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ONE_TIME = - T.let( - :one_time, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::AllocationPrice::Cadence::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::AllocationPrice::Cadence::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::AllocationPrice::Cadence::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::AllocationPrice::Cadence::TaggedSymbol - ) - ANNUAL = - T.let( - :annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::AllocationPrice::Cadence::TaggedSymbol - ) - CUSTOM = - T.let( - :custom, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::AllocationPrice::Cadence::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::AllocationPrice::Cadence::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - # The price to add to the plan - module Price - extend Orb::Internal::Type::Union - - Variants = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered - ) - end - - class Unit < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit, - Orb::Internal::AnyHash - ) - end - - # The cadence to bill for this price on. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::Cadence::OrSymbol - ) - end - attr_accessor :cadence - - # The id of the item the price will be associated with. - sig { returns(String) } - attr_accessor :item_id - - sig { returns(Symbol) } - attr_accessor :model_type - - # The name of the price. - sig { returns(String) } - attr_accessor :name - - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::UnitConfig - ) - end - attr_reader :unit_config - - sig do - params( - unit_config: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::UnitConfig::OrHash - ).void - end - attr_writer :unit_config - - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - sig { returns(T.nilable(String)) } - attr_accessor :billable_metric_id - - # 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. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :billed_in_advance - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::BillingCycleConfiguration - ) - ) - end - attr_reader :billing_cycle_configuration - - sig do - params( - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::BillingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :billing_cycle_configuration - - # The per unit conversion rate of the price currency to the invoicing currency. - sig { returns(T.nilable(Float)) } - attr_accessor :conversion_rate - - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - sig { returns(T.nilable(String)) } - attr_accessor :currency - - # For dimensional price: specifies a price group and dimension values - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::DimensionalPriceConfiguration - ) - ) - end - attr_reader :dimensional_price_configuration - - sig do - params( - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::DimensionalPriceConfiguration::OrHash - ) - ).void - end - attr_writer :dimensional_price_configuration - - # An alias for the price. - sig { returns(T.nilable(String)) } - attr_accessor :external_price_id - - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - sig { returns(T.nilable(Float)) } - attr_accessor :fixed_price_quantity - - # The property used to group this price on an invoice - sig { returns(T.nilable(String)) } - attr_accessor :invoice_grouping_key - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration - ) - ) - end - attr_reader :invoicing_cycle_configuration - - sig do - params( - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :invoicing_cycle_configuration - - # 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`. - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } - attr_accessor :metadata - - sig do - params( - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::Cadence::OrSymbol, - item_id: String, - name: String, - unit_config: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::UnitConfig::OrHash, - billable_metric_id: T.nilable(String), - billed_in_advance: T.nilable(T::Boolean), - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::BillingCycleConfiguration::OrHash - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::DimensionalPriceConfiguration::OrHash - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration::OrHash - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), - model_type: Symbol - ).returns(T.attached_class) - end - def self.new( - # The cadence to bill for this price on. - cadence:, - # The id of the item the price will be associated with. - item_id:, - # The name of the price. - name:, - unit_config:, - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - billable_metric_id: nil, - # 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. - billed_in_advance: nil, - # For custom cadence: specifies the duration of the billing period in days or - # months. - billing_cycle_configuration: nil, - # The per unit conversion rate of the price currency to the invoicing currency. - conversion_rate: nil, - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - currency: nil, - # For dimensional price: specifies a price group and dimension values - dimensional_price_configuration: nil, - # An alias for the price. - external_price_id: nil, - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - fixed_price_quantity: nil, - # The property used to group this price on an invoice - invoice_grouping_key: nil, - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - invoicing_cycle_configuration: nil, - # 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`. - metadata: nil, - model_type: :unit - ) - end - - sig do - override.returns( - { - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::Cadence::OrSymbol, - item_id: String, - model_type: Symbol, - name: String, - unit_config: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::UnitConfig, - billable_metric_id: T.nilable(String), - billed_in_advance: T.nilable(T::Boolean), - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::BillingCycleConfiguration - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::DimensionalPriceConfiguration - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) - } - ) - end - def to_hash - end - - # The cadence to bill for this price on. - module Cadence - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::Cadence - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ANNUAL = - T.let( - :annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::Cadence::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::Cadence::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::Cadence::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::Cadence::TaggedSymbol - ) - ONE_TIME = - T.let( - :one_time, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::Cadence::TaggedSymbol - ) - CUSTOM = - T.let( - :custom, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::Cadence::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::Cadence::TaggedSymbol - ] - ) - end - def self.values - end - end - - class UnitConfig < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::UnitConfig, - Orb::Internal::AnyHash - ) - end - - # Rate per unit of usage - sig { returns(String) } - attr_accessor :unit_amount - - sig { params(unit_amount: String).returns(T.attached_class) } - def self.new( - # Rate per unit of usage - unit_amount: - ) - end - - sig { override.returns({ unit_amount: String }) } - def to_hash - end - end - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::BillingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::BillingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::BillingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::BillingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::BillingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::DimensionalPriceConfiguration, - Orb::Internal::AnyHash - ) - end - - # The list of dimension values matching (in order) the dimensions of the price - # group - sig { returns(T::Array[String]) } - attr_accessor :dimension_values - - # The id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :dimensional_price_group_id - - # The external id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :external_dimensional_price_group_id - - # For dimensional price: specifies a price group and dimension values - sig do - params( - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The list of dimension values matching (in order) the dimensions of the price - # group - dimension_values:, - # The id of the dimensional price group to include this price in - dimensional_price_group_id: nil, - # The external id of the dimensional price group to include this price in - external_dimensional_price_group_id: nil - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - } - ) - end - def to_hash - end - end - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class Package < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package, - Orb::Internal::AnyHash - ) - end - - # The cadence to bill for this price on. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::Cadence::OrSymbol - ) - end - attr_accessor :cadence - - # The id of the item the price will be associated with. - sig { returns(String) } - attr_accessor :item_id - - sig { returns(Symbol) } - attr_accessor :model_type - - # The name of the price. - sig { returns(String) } - attr_accessor :name - - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::PackageConfig - ) - end - attr_reader :package_config - - sig do - params( - package_config: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::PackageConfig::OrHash - ).void - end - attr_writer :package_config - - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - sig { returns(T.nilable(String)) } - attr_accessor :billable_metric_id - - # 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. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :billed_in_advance - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::BillingCycleConfiguration - ) - ) - end - attr_reader :billing_cycle_configuration - - sig do - params( - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::BillingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :billing_cycle_configuration - - # The per unit conversion rate of the price currency to the invoicing currency. - sig { returns(T.nilable(Float)) } - attr_accessor :conversion_rate - - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - sig { returns(T.nilable(String)) } - attr_accessor :currency - - # For dimensional price: specifies a price group and dimension values - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::DimensionalPriceConfiguration - ) - ) - end - attr_reader :dimensional_price_configuration - - sig do - params( - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::DimensionalPriceConfiguration::OrHash - ) - ).void - end - attr_writer :dimensional_price_configuration - - # An alias for the price. - sig { returns(T.nilable(String)) } - attr_accessor :external_price_id - - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - sig { returns(T.nilable(Float)) } - attr_accessor :fixed_price_quantity - - # The property used to group this price on an invoice - sig { returns(T.nilable(String)) } - attr_accessor :invoice_grouping_key - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration - ) - ) - end - attr_reader :invoicing_cycle_configuration - - sig do - params( - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :invoicing_cycle_configuration - - # 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`. - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } - attr_accessor :metadata - - sig do - params( - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::Cadence::OrSymbol, - item_id: String, - name: String, - package_config: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::PackageConfig::OrHash, - billable_metric_id: T.nilable(String), - billed_in_advance: T.nilable(T::Boolean), - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::BillingCycleConfiguration::OrHash - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::DimensionalPriceConfiguration::OrHash - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration::OrHash - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), - model_type: Symbol - ).returns(T.attached_class) - end - def self.new( - # The cadence to bill for this price on. - cadence:, - # The id of the item the price will be associated with. - item_id:, - # The name of the price. - name:, - package_config:, - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - billable_metric_id: nil, - # 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. - billed_in_advance: nil, - # For custom cadence: specifies the duration of the billing period in days or - # months. - billing_cycle_configuration: nil, - # The per unit conversion rate of the price currency to the invoicing currency. - conversion_rate: nil, - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - currency: nil, - # For dimensional price: specifies a price group and dimension values - dimensional_price_configuration: nil, - # An alias for the price. - external_price_id: nil, - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - fixed_price_quantity: nil, - # The property used to group this price on an invoice - invoice_grouping_key: nil, - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - invoicing_cycle_configuration: nil, - # 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`. - metadata: nil, - model_type: :package - ) - end - - sig do - override.returns( - { - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::Cadence::OrSymbol, - item_id: String, - model_type: Symbol, - name: String, - package_config: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::PackageConfig, - billable_metric_id: T.nilable(String), - billed_in_advance: T.nilable(T::Boolean), - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::BillingCycleConfiguration - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::DimensionalPriceConfiguration - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) - } - ) - end - def to_hash - end - - # The cadence to bill for this price on. - module Cadence - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::Cadence - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ANNUAL = - T.let( - :annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::Cadence::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::Cadence::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::Cadence::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::Cadence::TaggedSymbol - ) - ONE_TIME = - T.let( - :one_time, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::Cadence::TaggedSymbol - ) - CUSTOM = - T.let( - :custom, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::Cadence::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::Cadence::TaggedSymbol - ] - ) - end - def self.values - end - end - - class PackageConfig < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::PackageConfig, - Orb::Internal::AnyHash - ) - end - - # A currency amount to rate usage by - sig { returns(String) } - attr_accessor :package_amount - - # An integer amount to represent package size. For example, 1000 here would divide - # usage by 1000 before multiplying by package_amount in rating - sig { returns(Integer) } - attr_accessor :package_size - - sig do - params( - package_amount: String, - package_size: Integer - ).returns(T.attached_class) - end - def self.new( - # A currency amount to rate usage by - package_amount:, - # An integer amount to represent package size. For example, 1000 here would divide - # usage by 1000 before multiplying by package_amount in rating - package_size: - ) - end - - sig do - override.returns( - { package_amount: String, package_size: Integer } - ) - end - def to_hash - end - end - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::BillingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::BillingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::BillingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::BillingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::BillingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::DimensionalPriceConfiguration, - Orb::Internal::AnyHash - ) - end - - # The list of dimension values matching (in order) the dimensions of the price - # group - sig { returns(T::Array[String]) } - attr_accessor :dimension_values - - # The id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :dimensional_price_group_id - - # The external id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :external_dimensional_price_group_id - - # For dimensional price: specifies a price group and dimension values - sig do - params( - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The list of dimension values matching (in order) the dimensions of the price - # group - dimension_values:, - # The id of the dimensional price group to include this price in - dimensional_price_group_id: nil, - # The external id of the dimensional price group to include this price in - external_dimensional_price_group_id: nil - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - } - ) - end - def to_hash - end - end - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class Matrix < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix, - Orb::Internal::AnyHash - ) - end - - # The cadence to bill for this price on. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::Cadence::OrSymbol - ) - end - attr_accessor :cadence - - # The id of the item the price will be associated with. - sig { returns(String) } - attr_accessor :item_id - - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::MatrixConfig - ) - end - attr_reader :matrix_config - - sig do - params( - matrix_config: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::MatrixConfig::OrHash - ).void - end - attr_writer :matrix_config - - sig { returns(Symbol) } - attr_accessor :model_type - - # The name of the price. - sig { returns(String) } - attr_accessor :name - - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - sig { returns(T.nilable(String)) } - attr_accessor :billable_metric_id - - # 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. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :billed_in_advance - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration - ) - ) - end - attr_reader :billing_cycle_configuration - - sig do - params( - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :billing_cycle_configuration - - # The per unit conversion rate of the price currency to the invoicing currency. - sig { returns(T.nilable(Float)) } - attr_accessor :conversion_rate - - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - sig { returns(T.nilable(String)) } - attr_accessor :currency - - # For dimensional price: specifies a price group and dimension values - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::DimensionalPriceConfiguration - ) - ) - end - attr_reader :dimensional_price_configuration - - sig do - params( - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::DimensionalPriceConfiguration::OrHash - ) - ).void - end - attr_writer :dimensional_price_configuration - - # An alias for the price. - sig { returns(T.nilable(String)) } - attr_accessor :external_price_id - - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - sig { returns(T.nilable(Float)) } - attr_accessor :fixed_price_quantity - - # The property used to group this price on an invoice - sig { returns(T.nilable(String)) } - attr_accessor :invoice_grouping_key - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration - ) - ) - end - attr_reader :invoicing_cycle_configuration - - sig do - params( - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :invoicing_cycle_configuration - - # 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`. - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } - attr_accessor :metadata - - sig do - params( - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::Cadence::OrSymbol, - item_id: String, - matrix_config: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::MatrixConfig::OrHash, - name: String, - billable_metric_id: T.nilable(String), - billed_in_advance: T.nilable(T::Boolean), - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration::OrHash - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::DimensionalPriceConfiguration::OrHash - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration::OrHash - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), - model_type: Symbol - ).returns(T.attached_class) - end - def self.new( - # The cadence to bill for this price on. - cadence:, - # The id of the item the price will be associated with. - item_id:, - matrix_config:, - # The name of the price. - name:, - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - billable_metric_id: nil, - # 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. - billed_in_advance: nil, - # For custom cadence: specifies the duration of the billing period in days or - # months. - billing_cycle_configuration: nil, - # The per unit conversion rate of the price currency to the invoicing currency. - conversion_rate: nil, - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - currency: nil, - # For dimensional price: specifies a price group and dimension values - dimensional_price_configuration: nil, - # An alias for the price. - external_price_id: nil, - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - fixed_price_quantity: nil, - # The property used to group this price on an invoice - invoice_grouping_key: nil, - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - invoicing_cycle_configuration: nil, - # 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`. - metadata: nil, - model_type: :matrix - ) - end - - sig do - override.returns( - { - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::Cadence::OrSymbol, - item_id: String, - matrix_config: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::MatrixConfig, - model_type: Symbol, - name: String, - billable_metric_id: T.nilable(String), - billed_in_advance: T.nilable(T::Boolean), - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::DimensionalPriceConfiguration - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) - } - ) - end - def to_hash - end - - # The cadence to bill for this price on. - module Cadence - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::Cadence - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ANNUAL = - T.let( - :annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::Cadence::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::Cadence::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::Cadence::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::Cadence::TaggedSymbol - ) - ONE_TIME = - T.let( - :one_time, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::Cadence::TaggedSymbol - ) - CUSTOM = - T.let( - :custom, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::Cadence::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::Cadence::TaggedSymbol - ] - ) - end - def self.values - end - end - - class MatrixConfig < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::MatrixConfig, - Orb::Internal::AnyHash - ) - end - - # Default per unit rate for any usage not bucketed into a specified matrix_value - sig { returns(String) } - attr_accessor :default_unit_amount - - # One or two event property values to evaluate matrix groups by - sig { returns(T::Array[T.nilable(String)]) } - attr_accessor :dimensions - - # Matrix values for specified matrix grouping keys - sig do - returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::MatrixConfig::MatrixValue - ] - ) - end - attr_accessor :matrix_values - - sig do - params( - default_unit_amount: String, - dimensions: T::Array[T.nilable(String)], - matrix_values: - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::MatrixConfig::MatrixValue::OrHash - ] - ).returns(T.attached_class) - end - def self.new( - # Default per unit rate for any usage not bucketed into a specified matrix_value - default_unit_amount:, - # One or two event property values to evaluate matrix groups by - dimensions:, - # Matrix values for specified matrix grouping keys - matrix_values: - ) - end - - sig do - override.returns( - { - default_unit_amount: String, - dimensions: T::Array[T.nilable(String)], - matrix_values: - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::MatrixConfig::MatrixValue - ] - } - ) - end - def to_hash - end - - class MatrixValue < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::MatrixConfig::MatrixValue, - Orb::Internal::AnyHash - ) - end - - # One or two matrix keys to filter usage to this Matrix value by. For example, - # ["region", "tier"] could be used to filter cloud usage by a cloud region and an - # instance tier. - sig { returns(T::Array[T.nilable(String)]) } - attr_accessor :dimension_values - - # Unit price for the specified dimension_values - sig { returns(String) } - attr_accessor :unit_amount - - sig do - params( - dimension_values: T::Array[T.nilable(String)], - unit_amount: String - ).returns(T.attached_class) - end - def self.new( - # One or two matrix keys to filter usage to this Matrix value by. For example, - # ["region", "tier"] could be used to filter cloud usage by a cloud region and an - # instance tier. - dimension_values:, - # Unit price for the specified dimension_values - unit_amount: - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[T.nilable(String)], - unit_amount: String - } - ) - end - def to_hash - end - end - end - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::DimensionalPriceConfiguration, - Orb::Internal::AnyHash - ) - end - - # The list of dimension values matching (in order) the dimensions of the price - # group - sig { returns(T::Array[String]) } - attr_accessor :dimension_values - - # The id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :dimensional_price_group_id - - # The external id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :external_dimensional_price_group_id - - # For dimensional price: specifies a price group and dimension values - sig do - params( - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The list of dimension values matching (in order) the dimensions of the price - # group - dimension_values:, - # The id of the dimensional price group to include this price in - dimensional_price_group_id: nil, - # The external id of the dimensional price group to include this price in - external_dimensional_price_group_id: nil - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - } - ) - end - def to_hash - end - end - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class Tiered < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered, - Orb::Internal::AnyHash - ) - end - - # The cadence to bill for this price on. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::Cadence::OrSymbol - ) - end - attr_accessor :cadence - - # The id of the item the price will be associated with. - sig { returns(String) } - attr_accessor :item_id - - sig { returns(Symbol) } - attr_accessor :model_type - - # The name of the price. - sig { returns(String) } - attr_accessor :name - - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::TieredConfig - ) - end - attr_reader :tiered_config - - sig do - params( - tiered_config: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::TieredConfig::OrHash - ).void - end - attr_writer :tiered_config - - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - sig { returns(T.nilable(String)) } - attr_accessor :billable_metric_id - - # 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. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :billed_in_advance - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration - ) - ) - end - attr_reader :billing_cycle_configuration - - sig do - params( - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :billing_cycle_configuration - - # The per unit conversion rate of the price currency to the invoicing currency. - sig { returns(T.nilable(Float)) } - attr_accessor :conversion_rate - - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - sig { returns(T.nilable(String)) } - attr_accessor :currency - - # For dimensional price: specifies a price group and dimension values - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::DimensionalPriceConfiguration - ) - ) - end - attr_reader :dimensional_price_configuration - - sig do - params( - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::DimensionalPriceConfiguration::OrHash - ) - ).void - end - attr_writer :dimensional_price_configuration - - # An alias for the price. - sig { returns(T.nilable(String)) } - attr_accessor :external_price_id - - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - sig { returns(T.nilable(Float)) } - attr_accessor :fixed_price_quantity - - # The property used to group this price on an invoice - sig { returns(T.nilable(String)) } - attr_accessor :invoice_grouping_key - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration - ) - ) - end - attr_reader :invoicing_cycle_configuration - - sig do - params( - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :invoicing_cycle_configuration - - # 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`. - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } - attr_accessor :metadata - - sig do - params( - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::Cadence::OrSymbol, - item_id: String, - name: String, - tiered_config: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::TieredConfig::OrHash, - billable_metric_id: T.nilable(String), - billed_in_advance: T.nilable(T::Boolean), - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration::OrHash - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::DimensionalPriceConfiguration::OrHash - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration::OrHash - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), - model_type: Symbol - ).returns(T.attached_class) - end - def self.new( - # The cadence to bill for this price on. - cadence:, - # The id of the item the price will be associated with. - item_id:, - # The name of the price. - name:, - tiered_config:, - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - billable_metric_id: nil, - # 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. - billed_in_advance: nil, - # For custom cadence: specifies the duration of the billing period in days or - # months. - billing_cycle_configuration: nil, - # The per unit conversion rate of the price currency to the invoicing currency. - conversion_rate: nil, - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - currency: nil, - # For dimensional price: specifies a price group and dimension values - dimensional_price_configuration: nil, - # An alias for the price. - external_price_id: nil, - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - fixed_price_quantity: nil, - # The property used to group this price on an invoice - invoice_grouping_key: nil, - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - invoicing_cycle_configuration: nil, - # 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`. - metadata: nil, - model_type: :tiered - ) - end - - sig do - override.returns( - { - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::Cadence::OrSymbol, - item_id: String, - model_type: Symbol, - name: String, - tiered_config: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::TieredConfig, - billable_metric_id: T.nilable(String), - billed_in_advance: T.nilable(T::Boolean), - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::DimensionalPriceConfiguration - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) - } - ) - end - def to_hash - end - - # The cadence to bill for this price on. - module Cadence - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::Cadence - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ANNUAL = - T.let( - :annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::Cadence::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::Cadence::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::Cadence::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::Cadence::TaggedSymbol - ) - ONE_TIME = - T.let( - :one_time, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::Cadence::TaggedSymbol - ) - CUSTOM = - T.let( - :custom, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::Cadence::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::Cadence::TaggedSymbol - ] - ) - end - def self.values - end - end - - class TieredConfig < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::TieredConfig, - Orb::Internal::AnyHash - ) - end - - # Tiers for rating based on total usage quantities into the specified tier - sig do - returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::TieredConfig::Tier - ] - ) - end - attr_accessor :tiers - - sig do - params( - tiers: - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::TieredConfig::Tier::OrHash - ] - ).returns(T.attached_class) - end - def self.new( - # Tiers for rating based on total usage quantities into the specified tier - tiers: - ) - end - - sig do - override.returns( - { - tiers: - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::TieredConfig::Tier - ] - } - ) - end - def to_hash - end - - class Tier < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::TieredConfig::Tier, - Orb::Internal::AnyHash - ) - end - - # Exclusive tier starting value - sig { returns(Float) } - attr_accessor :first_unit - - # Amount per unit - sig { returns(String) } - attr_accessor :unit_amount - - # Inclusive tier ending value. If null, this is treated as the last tier - sig { returns(T.nilable(Float)) } - attr_accessor :last_unit - - sig do - params( - first_unit: Float, - unit_amount: String, - last_unit: T.nilable(Float) - ).returns(T.attached_class) - end - def self.new( - # Exclusive tier starting value - first_unit:, - # Amount per unit - unit_amount:, - # Inclusive tier ending value. If null, this is treated as the last tier - last_unit: nil - ) - end - - sig do - override.returns( - { - first_unit: Float, - unit_amount: String, - last_unit: T.nilable(Float) - } - ) - end - def to_hash - end - end - end - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::DimensionalPriceConfiguration, - Orb::Internal::AnyHash - ) - end - - # The list of dimension values matching (in order) the dimensions of the price - # group - sig { returns(T::Array[String]) } - attr_accessor :dimension_values - - # The id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :dimensional_price_group_id - - # The external id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :external_dimensional_price_group_id - - # For dimensional price: specifies a price group and dimension values - sig do - params( - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The list of dimension values matching (in order) the dimensions of the price - # group - dimension_values:, - # The id of the dimensional price group to include this price in - dimensional_price_group_id: nil, - # The external id of the dimensional price group to include this price in - external_dimensional_price_group_id: nil - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - } - ) - end - def to_hash - end - end - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class TieredBps < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps, - Orb::Internal::AnyHash - ) - end - - # The cadence to bill for this price on. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::Cadence::OrSymbol - ) - end - attr_accessor :cadence - - # The id of the item the price will be associated with. - sig { returns(String) } - attr_accessor :item_id - - sig { returns(Symbol) } - attr_accessor :model_type - - # The name of the price. - sig { returns(String) } - attr_accessor :name - - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::TieredBpsConfig - ) - end - attr_reader :tiered_bps_config - - sig do - params( - tiered_bps_config: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::TieredBpsConfig::OrHash - ).void - end - attr_writer :tiered_bps_config - - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - sig { returns(T.nilable(String)) } - attr_accessor :billable_metric_id - - # 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. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :billed_in_advance - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration - ) - ) - end - attr_reader :billing_cycle_configuration - - sig do - params( - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :billing_cycle_configuration - - # The per unit conversion rate of the price currency to the invoicing currency. - sig { returns(T.nilable(Float)) } - attr_accessor :conversion_rate - - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - sig { returns(T.nilable(String)) } - attr_accessor :currency - - # For dimensional price: specifies a price group and dimension values - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::DimensionalPriceConfiguration - ) - ) - end - attr_reader :dimensional_price_configuration - - sig do - params( - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::DimensionalPriceConfiguration::OrHash - ) - ).void - end - attr_writer :dimensional_price_configuration - - # An alias for the price. - sig { returns(T.nilable(String)) } - attr_accessor :external_price_id - - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - sig { returns(T.nilable(Float)) } - attr_accessor :fixed_price_quantity - - # The property used to group this price on an invoice - sig { returns(T.nilable(String)) } - attr_accessor :invoice_grouping_key - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration - ) - ) - end - attr_reader :invoicing_cycle_configuration - - sig do - params( - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :invoicing_cycle_configuration - - # 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`. - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } - attr_accessor :metadata - - sig do - params( - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::Cadence::OrSymbol, - item_id: String, - name: String, - tiered_bps_config: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::TieredBpsConfig::OrHash, - billable_metric_id: T.nilable(String), - billed_in_advance: T.nilable(T::Boolean), - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration::OrHash - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::DimensionalPriceConfiguration::OrHash - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration::OrHash - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), - model_type: Symbol - ).returns(T.attached_class) - end - def self.new( - # The cadence to bill for this price on. - cadence:, - # The id of the item the price will be associated with. - item_id:, - # The name of the price. - name:, - tiered_bps_config:, - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - billable_metric_id: nil, - # 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. - billed_in_advance: nil, - # For custom cadence: specifies the duration of the billing period in days or - # months. - billing_cycle_configuration: nil, - # The per unit conversion rate of the price currency to the invoicing currency. - conversion_rate: nil, - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - currency: nil, - # For dimensional price: specifies a price group and dimension values - dimensional_price_configuration: nil, - # An alias for the price. - external_price_id: nil, - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - fixed_price_quantity: nil, - # The property used to group this price on an invoice - invoice_grouping_key: nil, - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - invoicing_cycle_configuration: nil, - # 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`. - metadata: nil, - model_type: :tiered_bps - ) - end - - sig do - override.returns( - { - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::Cadence::OrSymbol, - item_id: String, - model_type: Symbol, - name: String, - tiered_bps_config: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::TieredBpsConfig, - billable_metric_id: T.nilable(String), - billed_in_advance: T.nilable(T::Boolean), - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::DimensionalPriceConfiguration - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) - } - ) - end - def to_hash - end - - # The cadence to bill for this price on. - module Cadence - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::Cadence - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ANNUAL = - T.let( - :annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::Cadence::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::Cadence::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::Cadence::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::Cadence::TaggedSymbol - ) - ONE_TIME = - T.let( - :one_time, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::Cadence::TaggedSymbol - ) - CUSTOM = - T.let( - :custom, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::Cadence::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::Cadence::TaggedSymbol - ] - ) - end - def self.values - end - end - - class TieredBpsConfig < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::TieredBpsConfig, - Orb::Internal::AnyHash - ) - end - - # Tiers for a Graduated BPS pricing model, where usage is bucketed into specified - # tiers - sig do - returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::TieredBpsConfig::Tier - ] - ) - end - attr_accessor :tiers - - sig do - params( - tiers: - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::TieredBpsConfig::Tier::OrHash - ] - ).returns(T.attached_class) - end - def self.new( - # Tiers for a Graduated BPS pricing model, where usage is bucketed into specified - # tiers - tiers: - ) - end - - sig do - override.returns( - { - tiers: - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::TieredBpsConfig::Tier - ] - } - ) - end - def to_hash - end - - class Tier < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::TieredBpsConfig::Tier, - Orb::Internal::AnyHash - ) - end - - # Per-event basis point rate - sig { returns(Float) } - attr_accessor :bps - - # Exclusive tier starting value - sig { returns(String) } - attr_accessor :minimum_amount - - # Inclusive tier ending value - sig { returns(T.nilable(String)) } - attr_accessor :maximum_amount - - # Per unit maximum to charge - sig { returns(T.nilable(String)) } - attr_accessor :per_unit_maximum - - sig do - params( - bps: Float, - minimum_amount: String, - maximum_amount: T.nilable(String), - per_unit_maximum: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # Per-event basis point rate - bps:, - # Exclusive tier starting value - minimum_amount:, - # Inclusive tier ending value - maximum_amount: nil, - # Per unit maximum to charge - per_unit_maximum: nil - ) - end - - sig do - override.returns( - { - bps: Float, - minimum_amount: String, - maximum_amount: T.nilable(String), - per_unit_maximum: T.nilable(String) - } - ) - end - def to_hash - end - end - end - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::DimensionalPriceConfiguration, - Orb::Internal::AnyHash - ) - end - - # The list of dimension values matching (in order) the dimensions of the price - # group - sig { returns(T::Array[String]) } - attr_accessor :dimension_values - - # The id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :dimensional_price_group_id - - # The external id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :external_dimensional_price_group_id - - # For dimensional price: specifies a price group and dimension values - sig do - params( - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The list of dimension values matching (in order) the dimensions of the price - # group - dimension_values:, - # The id of the dimensional price group to include this price in - dimensional_price_group_id: nil, - # The external id of the dimensional price group to include this price in - external_dimensional_price_group_id: nil - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - } - ) - end - def to_hash - end - end - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class Bps < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps, - Orb::Internal::AnyHash - ) - end - - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::BpsConfig - ) - end - attr_reader :bps_config - - sig do - params( - bps_config: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::BpsConfig::OrHash - ).void - end - attr_writer :bps_config - - # The cadence to bill for this price on. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::Cadence::OrSymbol - ) - end - attr_accessor :cadence - - # The id of the item the price will be associated with. - sig { returns(String) } - attr_accessor :item_id - - sig { returns(Symbol) } - attr_accessor :model_type - - # The name of the price. - sig { returns(String) } - attr_accessor :name - - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - sig { returns(T.nilable(String)) } - attr_accessor :billable_metric_id - - # 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. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :billed_in_advance - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::BillingCycleConfiguration - ) - ) - end - attr_reader :billing_cycle_configuration - - sig do - params( - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::BillingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :billing_cycle_configuration - - # The per unit conversion rate of the price currency to the invoicing currency. - sig { returns(T.nilable(Float)) } - attr_accessor :conversion_rate - - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - sig { returns(T.nilable(String)) } - attr_accessor :currency - - # For dimensional price: specifies a price group and dimension values - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::DimensionalPriceConfiguration - ) - ) - end - attr_reader :dimensional_price_configuration - - sig do - params( - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::DimensionalPriceConfiguration::OrHash - ) - ).void - end - attr_writer :dimensional_price_configuration - - # An alias for the price. - sig { returns(T.nilable(String)) } - attr_accessor :external_price_id - - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - sig { returns(T.nilable(Float)) } - attr_accessor :fixed_price_quantity - - # The property used to group this price on an invoice - sig { returns(T.nilable(String)) } - attr_accessor :invoice_grouping_key - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration - ) - ) - end - attr_reader :invoicing_cycle_configuration - - sig do - params( - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :invoicing_cycle_configuration - - # 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`. - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } - attr_accessor :metadata - - sig do - params( - bps_config: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::BpsConfig::OrHash, - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::Cadence::OrSymbol, - item_id: String, - name: String, - billable_metric_id: T.nilable(String), - billed_in_advance: T.nilable(T::Boolean), - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::BillingCycleConfiguration::OrHash - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::DimensionalPriceConfiguration::OrHash - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration::OrHash - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), - model_type: Symbol - ).returns(T.attached_class) - end - def self.new( - bps_config:, - # The cadence to bill for this price on. - cadence:, - # The id of the item the price will be associated with. - item_id:, - # The name of the price. - name:, - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - billable_metric_id: nil, - # 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. - billed_in_advance: nil, - # For custom cadence: specifies the duration of the billing period in days or - # months. - billing_cycle_configuration: nil, - # The per unit conversion rate of the price currency to the invoicing currency. - conversion_rate: nil, - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - currency: nil, - # For dimensional price: specifies a price group and dimension values - dimensional_price_configuration: nil, - # An alias for the price. - external_price_id: nil, - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - fixed_price_quantity: nil, - # The property used to group this price on an invoice - invoice_grouping_key: nil, - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - invoicing_cycle_configuration: nil, - # 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`. - metadata: nil, - model_type: :bps - ) - end - - sig do - override.returns( - { - bps_config: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::BpsConfig, - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::Cadence::OrSymbol, - 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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::BillingCycleConfiguration - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::DimensionalPriceConfiguration - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) - } - ) - end - def to_hash - end - - class BpsConfig < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::BpsConfig, - Orb::Internal::AnyHash - ) - end - - # Basis point take rate per event - sig { returns(Float) } - attr_accessor :bps - - # Optional currency amount maximum to cap spend per event - sig { returns(T.nilable(String)) } - attr_accessor :per_unit_maximum - - sig do - params( - bps: Float, - per_unit_maximum: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # Basis point take rate per event - bps:, - # Optional currency amount maximum to cap spend per event - per_unit_maximum: nil - ) - end - - sig do - override.returns( - { bps: Float, per_unit_maximum: T.nilable(String) } - ) - end - def to_hash - end - end - - # The cadence to bill for this price on. - module Cadence - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::Cadence - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ANNUAL = - T.let( - :annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::Cadence::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::Cadence::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::Cadence::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::Cadence::TaggedSymbol - ) - ONE_TIME = - T.let( - :one_time, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::Cadence::TaggedSymbol - ) - CUSTOM = - T.let( - :custom, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::Cadence::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::Cadence::TaggedSymbol - ] - ) - end - def self.values - end - end - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::BillingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::BillingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::BillingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::BillingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::BillingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::DimensionalPriceConfiguration, - Orb::Internal::AnyHash - ) - end - - # The list of dimension values matching (in order) the dimensions of the price - # group - sig { returns(T::Array[String]) } - attr_accessor :dimension_values - - # The id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :dimensional_price_group_id - - # The external id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :external_dimensional_price_group_id - - # For dimensional price: specifies a price group and dimension values - sig do - params( - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The list of dimension values matching (in order) the dimensions of the price - # group - dimension_values:, - # The id of the dimensional price group to include this price in - dimensional_price_group_id: nil, - # The external id of the dimensional price group to include this price in - external_dimensional_price_group_id: nil - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - } - ) - end - def to_hash - end - end - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class BulkBps < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps, - Orb::Internal::AnyHash - ) - end - - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::BulkBpsConfig - ) - end - attr_reader :bulk_bps_config - - sig do - params( - bulk_bps_config: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::BulkBpsConfig::OrHash - ).void - end - attr_writer :bulk_bps_config - - # The cadence to bill for this price on. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::Cadence::OrSymbol - ) - end - attr_accessor :cadence - - # The id of the item the price will be associated with. - sig { returns(String) } - attr_accessor :item_id - - sig { returns(Symbol) } - attr_accessor :model_type - - # The name of the price. - sig { returns(String) } - attr_accessor :name - - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - sig { returns(T.nilable(String)) } - attr_accessor :billable_metric_id - - # 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. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :billed_in_advance - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration - ) - ) - end - attr_reader :billing_cycle_configuration - - sig do - params( - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :billing_cycle_configuration - - # The per unit conversion rate of the price currency to the invoicing currency. - sig { returns(T.nilable(Float)) } - attr_accessor :conversion_rate - - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - sig { returns(T.nilable(String)) } - attr_accessor :currency - - # For dimensional price: specifies a price group and dimension values - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::DimensionalPriceConfiguration - ) - ) - end - attr_reader :dimensional_price_configuration - - sig do - params( - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::DimensionalPriceConfiguration::OrHash - ) - ).void - end - attr_writer :dimensional_price_configuration - - # An alias for the price. - sig { returns(T.nilable(String)) } - attr_accessor :external_price_id - - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - sig { returns(T.nilable(Float)) } - attr_accessor :fixed_price_quantity - - # The property used to group this price on an invoice - sig { returns(T.nilable(String)) } - attr_accessor :invoice_grouping_key - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration - ) - ) - end - attr_reader :invoicing_cycle_configuration - - sig do - params( - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :invoicing_cycle_configuration - - # 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`. - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } - attr_accessor :metadata - - sig do - params( - bulk_bps_config: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::BulkBpsConfig::OrHash, - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::Cadence::OrSymbol, - item_id: String, - name: String, - billable_metric_id: T.nilable(String), - billed_in_advance: T.nilable(T::Boolean), - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration::OrHash - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::DimensionalPriceConfiguration::OrHash - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration::OrHash - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), - model_type: Symbol - ).returns(T.attached_class) - end - def self.new( - bulk_bps_config:, - # The cadence to bill for this price on. - cadence:, - # The id of the item the price will be associated with. - item_id:, - # The name of the price. - name:, - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - billable_metric_id: nil, - # 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. - billed_in_advance: nil, - # For custom cadence: specifies the duration of the billing period in days or - # months. - billing_cycle_configuration: nil, - # The per unit conversion rate of the price currency to the invoicing currency. - conversion_rate: nil, - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - currency: nil, - # For dimensional price: specifies a price group and dimension values - dimensional_price_configuration: nil, - # An alias for the price. - external_price_id: nil, - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - fixed_price_quantity: nil, - # The property used to group this price on an invoice - invoice_grouping_key: nil, - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - invoicing_cycle_configuration: nil, - # 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`. - metadata: nil, - model_type: :bulk_bps - ) - end - - sig do - override.returns( - { - bulk_bps_config: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::BulkBpsConfig, - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::Cadence::OrSymbol, - 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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::DimensionalPriceConfiguration - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) - } - ) - end - def to_hash - end - - class BulkBpsConfig < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::BulkBpsConfig, - Orb::Internal::AnyHash - ) - end - - # Tiers for a bulk BPS pricing model where all usage is aggregated to a single - # tier based on total volume - sig do - returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::BulkBpsConfig::Tier - ] - ) - end - attr_accessor :tiers - - sig do - params( - tiers: - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::BulkBpsConfig::Tier::OrHash - ] - ).returns(T.attached_class) - end - def self.new( - # Tiers for a bulk BPS pricing model where all usage is aggregated to a single - # tier based on total volume - tiers: - ) - end - - sig do - override.returns( - { - tiers: - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::BulkBpsConfig::Tier - ] - } - ) - end - def to_hash - end - - class Tier < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::BulkBpsConfig::Tier, - Orb::Internal::AnyHash - ) - end - - # Basis points to rate on - sig { returns(Float) } - attr_accessor :bps - - # Upper bound for tier - sig { returns(T.nilable(String)) } - attr_accessor :maximum_amount - - # The maximum amount to charge for any one event - sig { returns(T.nilable(String)) } - attr_accessor :per_unit_maximum - - sig do - params( - bps: Float, - maximum_amount: T.nilable(String), - per_unit_maximum: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # Basis points to rate on - bps:, - # Upper bound for tier - maximum_amount: nil, - # The maximum amount to charge for any one event - per_unit_maximum: nil - ) - end - - sig do - override.returns( - { - bps: Float, - maximum_amount: T.nilable(String), - per_unit_maximum: T.nilable(String) - } - ) - end - def to_hash - end - end - end - - # The cadence to bill for this price on. - module Cadence - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::Cadence - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ANNUAL = - T.let( - :annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::Cadence::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::Cadence::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::Cadence::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::Cadence::TaggedSymbol - ) - ONE_TIME = - T.let( - :one_time, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::Cadence::TaggedSymbol - ) - CUSTOM = - T.let( - :custom, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::Cadence::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::Cadence::TaggedSymbol - ] - ) - end - def self.values - end - end - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::DimensionalPriceConfiguration, - Orb::Internal::AnyHash - ) - end - - # The list of dimension values matching (in order) the dimensions of the price - # group - sig { returns(T::Array[String]) } - attr_accessor :dimension_values - - # The id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :dimensional_price_group_id - - # The external id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :external_dimensional_price_group_id - - # For dimensional price: specifies a price group and dimension values - sig do - params( - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The list of dimension values matching (in order) the dimensions of the price - # group - dimension_values:, - # The id of the dimensional price group to include this price in - dimensional_price_group_id: nil, - # The external id of the dimensional price group to include this price in - external_dimensional_price_group_id: nil - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - } - ) - end - def to_hash - end - end - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class Bulk < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk, - Orb::Internal::AnyHash - ) - end - - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::BulkConfig - ) - end - attr_reader :bulk_config - - sig do - params( - bulk_config: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::BulkConfig::OrHash - ).void - end - attr_writer :bulk_config - - # The cadence to bill for this price on. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::Cadence::OrSymbol - ) - end - attr_accessor :cadence - - # The id of the item the price will be associated with. - sig { returns(String) } - attr_accessor :item_id - - sig { returns(Symbol) } - attr_accessor :model_type - - # The name of the price. - sig { returns(String) } - attr_accessor :name - - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - sig { returns(T.nilable(String)) } - attr_accessor :billable_metric_id - - # 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. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :billed_in_advance - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration - ) - ) - end - attr_reader :billing_cycle_configuration - - sig do - params( - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :billing_cycle_configuration - - # The per unit conversion rate of the price currency to the invoicing currency. - sig { returns(T.nilable(Float)) } - attr_accessor :conversion_rate - - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - sig { returns(T.nilable(String)) } - attr_accessor :currency - - # For dimensional price: specifies a price group and dimension values - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::DimensionalPriceConfiguration - ) - ) - end - attr_reader :dimensional_price_configuration - - sig do - params( - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::DimensionalPriceConfiguration::OrHash - ) - ).void - end - attr_writer :dimensional_price_configuration - - # An alias for the price. - sig { returns(T.nilable(String)) } - attr_accessor :external_price_id - - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - sig { returns(T.nilable(Float)) } - attr_accessor :fixed_price_quantity - - # The property used to group this price on an invoice - sig { returns(T.nilable(String)) } - attr_accessor :invoice_grouping_key - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration - ) - ) - end - attr_reader :invoicing_cycle_configuration - - sig do - params( - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :invoicing_cycle_configuration - - # 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`. - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } - attr_accessor :metadata - - sig do - params( - bulk_config: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::BulkConfig::OrHash, - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::Cadence::OrSymbol, - item_id: String, - name: String, - billable_metric_id: T.nilable(String), - billed_in_advance: T.nilable(T::Boolean), - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration::OrHash - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::DimensionalPriceConfiguration::OrHash - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration::OrHash - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), - model_type: Symbol - ).returns(T.attached_class) - end - def self.new( - bulk_config:, - # The cadence to bill for this price on. - cadence:, - # The id of the item the price will be associated with. - item_id:, - # The name of the price. - name:, - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - billable_metric_id: nil, - # 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. - billed_in_advance: nil, - # For custom cadence: specifies the duration of the billing period in days or - # months. - billing_cycle_configuration: nil, - # The per unit conversion rate of the price currency to the invoicing currency. - conversion_rate: nil, - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - currency: nil, - # For dimensional price: specifies a price group and dimension values - dimensional_price_configuration: nil, - # An alias for the price. - external_price_id: nil, - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - fixed_price_quantity: nil, - # The property used to group this price on an invoice - invoice_grouping_key: nil, - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - invoicing_cycle_configuration: nil, - # 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`. - metadata: nil, - model_type: :bulk - ) - end - - sig do - override.returns( - { - bulk_config: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::BulkConfig, - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::Cadence::OrSymbol, - 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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::DimensionalPriceConfiguration - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) - } - ) - end - def to_hash - end - - class BulkConfig < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::BulkConfig, - Orb::Internal::AnyHash - ) - end - - # Bulk tiers for rating based on total usage volume - sig do - returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::BulkConfig::Tier - ] - ) - end - attr_accessor :tiers - - sig do - params( - tiers: - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::BulkConfig::Tier::OrHash - ] - ).returns(T.attached_class) - end - def self.new( - # Bulk tiers for rating based on total usage volume - tiers: - ) - end - - sig do - override.returns( - { - tiers: - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::BulkConfig::Tier - ] - } - ) - end - def to_hash - end - - class Tier < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::BulkConfig::Tier, - Orb::Internal::AnyHash - ) - end - - # Amount per unit - sig { returns(String) } - attr_accessor :unit_amount - - # Upper bound for this tier - sig { returns(T.nilable(Float)) } - attr_accessor :maximum_units - - sig do - params( - unit_amount: String, - maximum_units: T.nilable(Float) - ).returns(T.attached_class) - end - def self.new( - # Amount per unit - unit_amount:, - # Upper bound for this tier - maximum_units: nil - ) - end - - sig do - override.returns( - { unit_amount: String, maximum_units: T.nilable(Float) } - ) - end - def to_hash - end - end - end - - # The cadence to bill for this price on. - module Cadence - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::Cadence - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ANNUAL = - T.let( - :annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::Cadence::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::Cadence::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::Cadence::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::Cadence::TaggedSymbol - ) - ONE_TIME = - T.let( - :one_time, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::Cadence::TaggedSymbol - ) - CUSTOM = - T.let( - :custom, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::Cadence::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::Cadence::TaggedSymbol - ] - ) - end - def self.values - end - end - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::DimensionalPriceConfiguration, - Orb::Internal::AnyHash - ) - end - - # The list of dimension values matching (in order) the dimensions of the price - # group - sig { returns(T::Array[String]) } - attr_accessor :dimension_values - - # The id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :dimensional_price_group_id - - # The external id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :external_dimensional_price_group_id - - # For dimensional price: specifies a price group and dimension values - sig do - params( - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The list of dimension values matching (in order) the dimensions of the price - # group - dimension_values:, - # The id of the dimensional price group to include this price in - dimensional_price_group_id: nil, - # The external id of the dimensional price group to include this price in - external_dimensional_price_group_id: nil - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - } - ) - end - def to_hash - end - end - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class ThresholdTotalAmount < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount, - Orb::Internal::AnyHash - ) - end - - # The cadence to bill for this price on. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::Cadence::OrSymbol - ) - end - attr_accessor :cadence - - # The id of the item the price will be associated with. - sig { returns(String) } - attr_accessor :item_id - - sig { returns(Symbol) } - attr_accessor :model_type - - # The name of the price. - sig { returns(String) } - attr_accessor :name - - sig { returns(T::Hash[Symbol, T.anything]) } - attr_accessor :threshold_total_amount_config - - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - sig { returns(T.nilable(String)) } - attr_accessor :billable_metric_id - - # 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. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :billed_in_advance - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration - ) - ) - end - attr_reader :billing_cycle_configuration - - sig do - params( - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :billing_cycle_configuration - - # The per unit conversion rate of the price currency to the invoicing currency. - sig { returns(T.nilable(Float)) } - attr_accessor :conversion_rate - - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - sig { returns(T.nilable(String)) } - attr_accessor :currency - - # For dimensional price: specifies a price group and dimension values - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration - ) - ) - end - attr_reader :dimensional_price_configuration - - sig do - params( - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration::OrHash - ) - ).void - end - attr_writer :dimensional_price_configuration - - # An alias for the price. - sig { returns(T.nilable(String)) } - attr_accessor :external_price_id - - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - sig { returns(T.nilable(Float)) } - attr_accessor :fixed_price_quantity - - # The property used to group this price on an invoice - sig { returns(T.nilable(String)) } - attr_accessor :invoice_grouping_key - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration - ) - ) - end - attr_reader :invoicing_cycle_configuration - - sig do - params( - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :invoicing_cycle_configuration - - # 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`. - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } - attr_accessor :metadata - - sig do - params( - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::Cadence::OrSymbol, - item_id: String, - name: String, - threshold_total_amount_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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::OrHash - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration::OrHash - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::OrHash - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), - model_type: Symbol - ).returns(T.attached_class) - end - def self.new( - # The cadence to bill for this price on. - cadence:, - # The id of the item the price will be associated with. - item_id:, - # The name of the price. - name:, - threshold_total_amount_config:, - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - billable_metric_id: nil, - # 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. - billed_in_advance: nil, - # For custom cadence: specifies the duration of the billing period in days or - # months. - billing_cycle_configuration: nil, - # The per unit conversion rate of the price currency to the invoicing currency. - conversion_rate: nil, - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - currency: nil, - # For dimensional price: specifies a price group and dimension values - dimensional_price_configuration: nil, - # An alias for the price. - external_price_id: nil, - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - fixed_price_quantity: nil, - # The property used to group this price on an invoice - invoice_grouping_key: nil, - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - invoicing_cycle_configuration: nil, - # 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`. - metadata: nil, - model_type: :threshold_total_amount - ) - end - - sig do - override.returns( - { - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::Cadence::OrSymbol, - item_id: String, - model_type: Symbol, - name: String, - threshold_total_amount_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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) - } - ) - end - def to_hash - end - - # The cadence to bill for this price on. - module Cadence - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::Cadence - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ANNUAL = - T.let( - :annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::Cadence::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::Cadence::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::Cadence::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::Cadence::TaggedSymbol - ) - ONE_TIME = - T.let( - :one_time, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::Cadence::TaggedSymbol - ) - CUSTOM = - T.let( - :custom, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::Cadence::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::Cadence::TaggedSymbol - ] - ) - end - def self.values - end - end - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration, - Orb::Internal::AnyHash - ) - end - - # The list of dimension values matching (in order) the dimensions of the price - # group - sig { returns(T::Array[String]) } - attr_accessor :dimension_values - - # The id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :dimensional_price_group_id - - # The external id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :external_dimensional_price_group_id - - # For dimensional price: specifies a price group and dimension values - sig do - params( - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The list of dimension values matching (in order) the dimensions of the price - # group - dimension_values:, - # The id of the dimensional price group to include this price in - dimensional_price_group_id: nil, - # The external id of the dimensional price group to include this price in - external_dimensional_price_group_id: nil - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - } - ) - end - def to_hash - end - end - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class TieredPackage < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage, - Orb::Internal::AnyHash - ) - end - - # The cadence to bill for this price on. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::Cadence::OrSymbol - ) - end - attr_accessor :cadence - - # The id of the item the price will be associated with. - sig { returns(String) } - attr_accessor :item_id - - sig { returns(Symbol) } - attr_accessor :model_type - - # The name of the price. - sig { returns(String) } - attr_accessor :name - - sig { returns(T::Hash[Symbol, T.anything]) } - attr_accessor :tiered_package_config - - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - sig { returns(T.nilable(String)) } - attr_accessor :billable_metric_id - - # 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. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :billed_in_advance - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration - ) - ) - end - attr_reader :billing_cycle_configuration - - sig do - params( - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :billing_cycle_configuration - - # The per unit conversion rate of the price currency to the invoicing currency. - sig { returns(T.nilable(Float)) } - attr_accessor :conversion_rate - - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - sig { returns(T.nilable(String)) } - attr_accessor :currency - - # For dimensional price: specifies a price group and dimension values - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::DimensionalPriceConfiguration - ) - ) - end - attr_reader :dimensional_price_configuration - - sig do - params( - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::DimensionalPriceConfiguration::OrHash - ) - ).void - end - attr_writer :dimensional_price_configuration - - # An alias for the price. - sig { returns(T.nilable(String)) } - attr_accessor :external_price_id - - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - sig { returns(T.nilable(Float)) } - attr_accessor :fixed_price_quantity - - # The property used to group this price on an invoice - sig { returns(T.nilable(String)) } - attr_accessor :invoice_grouping_key - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration - ) - ) - end - attr_reader :invoicing_cycle_configuration - - sig do - params( - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :invoicing_cycle_configuration - - # 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`. - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } - attr_accessor :metadata - - sig do - params( - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::Cadence::OrSymbol, - item_id: String, - name: String, - tiered_package_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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration::OrHash - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::DimensionalPriceConfiguration::OrHash - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration::OrHash - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), - model_type: Symbol - ).returns(T.attached_class) - end - def self.new( - # The cadence to bill for this price on. - cadence:, - # The id of the item the price will be associated with. - item_id:, - # The name of the price. - name:, - tiered_package_config:, - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - billable_metric_id: nil, - # 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. - billed_in_advance: nil, - # For custom cadence: specifies the duration of the billing period in days or - # months. - billing_cycle_configuration: nil, - # The per unit conversion rate of the price currency to the invoicing currency. - conversion_rate: nil, - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - currency: nil, - # For dimensional price: specifies a price group and dimension values - dimensional_price_configuration: nil, - # An alias for the price. - external_price_id: nil, - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - fixed_price_quantity: nil, - # The property used to group this price on an invoice - invoice_grouping_key: nil, - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - invoicing_cycle_configuration: nil, - # 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`. - metadata: nil, - model_type: :tiered_package - ) - end - - sig do - override.returns( - { - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::Cadence::OrSymbol, - item_id: String, - model_type: Symbol, - name: String, - tiered_package_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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::DimensionalPriceConfiguration - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) - } - ) - end - def to_hash - end - - # The cadence to bill for this price on. - module Cadence - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::Cadence - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ANNUAL = - T.let( - :annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::Cadence::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::Cadence::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::Cadence::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::Cadence::TaggedSymbol - ) - ONE_TIME = - T.let( - :one_time, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::Cadence::TaggedSymbol - ) - CUSTOM = - T.let( - :custom, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::Cadence::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::Cadence::TaggedSymbol - ] - ) - end - def self.values - end - end - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::DimensionalPriceConfiguration, - Orb::Internal::AnyHash - ) - end - - # The list of dimension values matching (in order) the dimensions of the price - # group - sig { returns(T::Array[String]) } - attr_accessor :dimension_values - - # The id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :dimensional_price_group_id - - # The external id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :external_dimensional_price_group_id - - # For dimensional price: specifies a price group and dimension values - sig do - params( - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The list of dimension values matching (in order) the dimensions of the price - # group - dimension_values:, - # The id of the dimensional price group to include this price in - dimensional_price_group_id: nil, - # The external id of the dimensional price group to include this price in - external_dimensional_price_group_id: nil - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - } - ) - end - def to_hash - end - end - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class TieredWithMinimum < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum, - Orb::Internal::AnyHash - ) - end - - # The cadence to bill for this price on. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::Cadence::OrSymbol - ) - end - attr_accessor :cadence - - # The id of the item the price will be associated with. - sig { returns(String) } - attr_accessor :item_id - - sig { returns(Symbol) } - attr_accessor :model_type - - # The name of the price. - sig { returns(String) } - attr_accessor :name - - sig { returns(T::Hash[Symbol, T.anything]) } - attr_accessor :tiered_with_minimum_config - - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - sig { returns(T.nilable(String)) } - attr_accessor :billable_metric_id - - # 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. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :billed_in_advance - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration - ) - ) - end - attr_reader :billing_cycle_configuration - - sig do - params( - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :billing_cycle_configuration - - # The per unit conversion rate of the price currency to the invoicing currency. - sig { returns(T.nilable(Float)) } - attr_accessor :conversion_rate - - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - sig { returns(T.nilable(String)) } - attr_accessor :currency - - # For dimensional price: specifies a price group and dimension values - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::DimensionalPriceConfiguration - ) - ) - end - attr_reader :dimensional_price_configuration - - sig do - params( - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::DimensionalPriceConfiguration::OrHash - ) - ).void - end - attr_writer :dimensional_price_configuration - - # An alias for the price. - sig { returns(T.nilable(String)) } - attr_accessor :external_price_id - - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - sig { returns(T.nilable(Float)) } - attr_accessor :fixed_price_quantity - - # The property used to group this price on an invoice - sig { returns(T.nilable(String)) } - attr_accessor :invoice_grouping_key - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration - ) - ) - end - attr_reader :invoicing_cycle_configuration - - sig do - params( - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :invoicing_cycle_configuration - - # 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`. - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } - attr_accessor :metadata - - sig do - params( - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::Cadence::OrSymbol, - item_id: String, - name: String, - tiered_with_minimum_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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration::OrHash - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::DimensionalPriceConfiguration::OrHash - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::OrHash - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), - model_type: Symbol - ).returns(T.attached_class) - end - def self.new( - # The cadence to bill for this price on. - cadence:, - # The id of the item the price will be associated with. - item_id:, - # The name of the price. - name:, - tiered_with_minimum_config:, - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - billable_metric_id: nil, - # 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. - billed_in_advance: nil, - # For custom cadence: specifies the duration of the billing period in days or - # months. - billing_cycle_configuration: nil, - # The per unit conversion rate of the price currency to the invoicing currency. - conversion_rate: nil, - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - currency: nil, - # For dimensional price: specifies a price group and dimension values - dimensional_price_configuration: nil, - # An alias for the price. - external_price_id: nil, - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - fixed_price_quantity: nil, - # The property used to group this price on an invoice - invoice_grouping_key: nil, - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - invoicing_cycle_configuration: nil, - # 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`. - metadata: nil, - model_type: :tiered_with_minimum - ) - end - - sig do - override.returns( - { - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::Cadence::OrSymbol, - item_id: String, - model_type: Symbol, - name: String, - tiered_with_minimum_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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::DimensionalPriceConfiguration - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) - } - ) - end - def to_hash - end - - # The cadence to bill for this price on. - module Cadence - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::Cadence - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ANNUAL = - T.let( - :annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::Cadence::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::Cadence::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::Cadence::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::Cadence::TaggedSymbol - ) - ONE_TIME = - T.let( - :one_time, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::Cadence::TaggedSymbol - ) - CUSTOM = - T.let( - :custom, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::Cadence::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::Cadence::TaggedSymbol - ] - ) - end - def self.values - end - end - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::DimensionalPriceConfiguration, - Orb::Internal::AnyHash - ) - end - - # The list of dimension values matching (in order) the dimensions of the price - # group - sig { returns(T::Array[String]) } - attr_accessor :dimension_values - - # The id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :dimensional_price_group_id - - # The external id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :external_dimensional_price_group_id - - # For dimensional price: specifies a price group and dimension values - sig do - params( - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The list of dimension values matching (in order) the dimensions of the price - # group - dimension_values:, - # The id of the dimensional price group to include this price in - dimensional_price_group_id: nil, - # The external id of the dimensional price group to include this price in - external_dimensional_price_group_id: nil - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - } - ) - end - def to_hash - end - end - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class UnitWithPercent < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent, - Orb::Internal::AnyHash - ) - end - - # The cadence to bill for this price on. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::Cadence::OrSymbol - ) - end - attr_accessor :cadence - - # The id of the item the price will be associated with. - sig { returns(String) } - attr_accessor :item_id - - sig { returns(Symbol) } - attr_accessor :model_type - - # The name of the price. - sig { returns(String) } - attr_accessor :name - - sig { returns(T::Hash[Symbol, T.anything]) } - attr_accessor :unit_with_percent_config - - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - sig { returns(T.nilable(String)) } - attr_accessor :billable_metric_id - - # 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. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :billed_in_advance - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration - ) - ) - end - attr_reader :billing_cycle_configuration - - sig do - params( - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :billing_cycle_configuration - - # The per unit conversion rate of the price currency to the invoicing currency. - sig { returns(T.nilable(Float)) } - attr_accessor :conversion_rate - - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - sig { returns(T.nilable(String)) } - attr_accessor :currency - - # For dimensional price: specifies a price group and dimension values - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::DimensionalPriceConfiguration - ) - ) - end - attr_reader :dimensional_price_configuration - - sig do - params( - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::DimensionalPriceConfiguration::OrHash - ) - ).void - end - attr_writer :dimensional_price_configuration - - # An alias for the price. - sig { returns(T.nilable(String)) } - attr_accessor :external_price_id - - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - sig { returns(T.nilable(Float)) } - attr_accessor :fixed_price_quantity - - # The property used to group this price on an invoice - sig { returns(T.nilable(String)) } - attr_accessor :invoice_grouping_key - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration - ) - ) - end - attr_reader :invoicing_cycle_configuration - - sig do - params( - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :invoicing_cycle_configuration - - # 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`. - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } - attr_accessor :metadata - - sig do - params( - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::Cadence::OrSymbol, - item_id: String, - name: String, - unit_with_percent_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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration::OrHash - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::DimensionalPriceConfiguration::OrHash - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration::OrHash - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), - model_type: Symbol - ).returns(T.attached_class) - end - def self.new( - # The cadence to bill for this price on. - cadence:, - # The id of the item the price will be associated with. - item_id:, - # The name of the price. - name:, - unit_with_percent_config:, - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - billable_metric_id: nil, - # 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. - billed_in_advance: nil, - # For custom cadence: specifies the duration of the billing period in days or - # months. - billing_cycle_configuration: nil, - # The per unit conversion rate of the price currency to the invoicing currency. - conversion_rate: nil, - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - currency: nil, - # For dimensional price: specifies a price group and dimension values - dimensional_price_configuration: nil, - # An alias for the price. - external_price_id: nil, - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - fixed_price_quantity: nil, - # The property used to group this price on an invoice - invoice_grouping_key: nil, - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - invoicing_cycle_configuration: nil, - # 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`. - metadata: nil, - model_type: :unit_with_percent - ) - end - - sig do - override.returns( - { - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::Cadence::OrSymbol, - item_id: String, - model_type: Symbol, - name: String, - unit_with_percent_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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::DimensionalPriceConfiguration - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) - } - ) - end - def to_hash - end - - # The cadence to bill for this price on. - module Cadence - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::Cadence - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ANNUAL = - T.let( - :annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::Cadence::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::Cadence::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::Cadence::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::Cadence::TaggedSymbol - ) - ONE_TIME = - T.let( - :one_time, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::Cadence::TaggedSymbol - ) - CUSTOM = - T.let( - :custom, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::Cadence::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::Cadence::TaggedSymbol - ] - ) - end - def self.values - end - end - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::DimensionalPriceConfiguration, - Orb::Internal::AnyHash - ) - end - - # The list of dimension values matching (in order) the dimensions of the price - # group - sig { returns(T::Array[String]) } - attr_accessor :dimension_values - - # The id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :dimensional_price_group_id - - # The external id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :external_dimensional_price_group_id - - # For dimensional price: specifies a price group and dimension values - sig do - params( - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The list of dimension values matching (in order) the dimensions of the price - # group - dimension_values:, - # The id of the dimensional price group to include this price in - dimensional_price_group_id: nil, - # The external id of the dimensional price group to include this price in - external_dimensional_price_group_id: nil - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - } - ) - end - def to_hash - end - end - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class PackageWithAllocation < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation, - Orb::Internal::AnyHash - ) - end - - # The cadence to bill for this price on. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::Cadence::OrSymbol - ) - end - attr_accessor :cadence - - # The id of the item the price will be associated with. - sig { returns(String) } - attr_accessor :item_id - - sig { returns(Symbol) } - attr_accessor :model_type - - # The name of the price. - sig { returns(String) } - attr_accessor :name - - sig { returns(T::Hash[Symbol, T.anything]) } - attr_accessor :package_with_allocation_config - - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - sig { returns(T.nilable(String)) } - attr_accessor :billable_metric_id - - # 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. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :billed_in_advance - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration - ) - ) - end - attr_reader :billing_cycle_configuration - - sig do - params( - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :billing_cycle_configuration - - # The per unit conversion rate of the price currency to the invoicing currency. - sig { returns(T.nilable(Float)) } - attr_accessor :conversion_rate - - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - sig { returns(T.nilable(String)) } - attr_accessor :currency - - # For dimensional price: specifies a price group and dimension values - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::DimensionalPriceConfiguration - ) - ) - end - attr_reader :dimensional_price_configuration - - sig do - params( - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::DimensionalPriceConfiguration::OrHash - ) - ).void - end - attr_writer :dimensional_price_configuration - - # An alias for the price. - sig { returns(T.nilable(String)) } - attr_accessor :external_price_id - - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - sig { returns(T.nilable(Float)) } - attr_accessor :fixed_price_quantity - - # The property used to group this price on an invoice - sig { returns(T.nilable(String)) } - attr_accessor :invoice_grouping_key - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration - ) - ) - end - attr_reader :invoicing_cycle_configuration - - sig do - params( - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :invoicing_cycle_configuration - - # 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`. - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } - attr_accessor :metadata - - sig do - params( - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::Cadence::OrSymbol, - item_id: String, - name: String, - package_with_allocation_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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration::OrHash - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::DimensionalPriceConfiguration::OrHash - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::OrHash - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), - model_type: Symbol - ).returns(T.attached_class) - end - def self.new( - # The cadence to bill for this price on. - cadence:, - # The id of the item the price will be associated with. - item_id:, - # The name of the price. - name:, - package_with_allocation_config:, - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - billable_metric_id: nil, - # 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. - billed_in_advance: nil, - # For custom cadence: specifies the duration of the billing period in days or - # months. - billing_cycle_configuration: nil, - # The per unit conversion rate of the price currency to the invoicing currency. - conversion_rate: nil, - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - currency: nil, - # For dimensional price: specifies a price group and dimension values - dimensional_price_configuration: nil, - # An alias for the price. - external_price_id: nil, - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - fixed_price_quantity: nil, - # The property used to group this price on an invoice - invoice_grouping_key: nil, - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - invoicing_cycle_configuration: nil, - # 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`. - metadata: nil, - model_type: :package_with_allocation - ) - end - - sig do - override.returns( - { - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::Cadence::OrSymbol, - item_id: String, - model_type: Symbol, - name: String, - package_with_allocation_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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::DimensionalPriceConfiguration - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) - } - ) - end - def to_hash - end - - # The cadence to bill for this price on. - module Cadence - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::Cadence - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ANNUAL = - T.let( - :annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::Cadence::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::Cadence::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::Cadence::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::Cadence::TaggedSymbol - ) - ONE_TIME = - T.let( - :one_time, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::Cadence::TaggedSymbol - ) - CUSTOM = - T.let( - :custom, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::Cadence::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::Cadence::TaggedSymbol - ] - ) - end - def self.values - end - end - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::DimensionalPriceConfiguration, - Orb::Internal::AnyHash - ) - end - - # The list of dimension values matching (in order) the dimensions of the price - # group - sig { returns(T::Array[String]) } - attr_accessor :dimension_values - - # The id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :dimensional_price_group_id - - # The external id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :external_dimensional_price_group_id - - # For dimensional price: specifies a price group and dimension values - sig do - params( - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The list of dimension values matching (in order) the dimensions of the price - # group - dimension_values:, - # The id of the dimensional price group to include this price in - dimensional_price_group_id: nil, - # The external id of the dimensional price group to include this price in - external_dimensional_price_group_id: nil - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - } - ) - end - def to_hash - end - end - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class TieredWithProration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration, - Orb::Internal::AnyHash - ) - end - - # The cadence to bill for this price on. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::Cadence::OrSymbol - ) - end - attr_accessor :cadence - - # The id of the item the price will be associated with. - sig { returns(String) } - attr_accessor :item_id - - sig { returns(Symbol) } - attr_accessor :model_type - - # The name of the price. - sig { returns(String) } - attr_accessor :name - - sig { returns(T::Hash[Symbol, T.anything]) } - attr_accessor :tiered_with_proration_config - - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - sig { returns(T.nilable(String)) } - attr_accessor :billable_metric_id - - # 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. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :billed_in_advance - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration - ) - ) - end - attr_reader :billing_cycle_configuration - - sig do - params( - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :billing_cycle_configuration - - # The per unit conversion rate of the price currency to the invoicing currency. - sig { returns(T.nilable(Float)) } - attr_accessor :conversion_rate - - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - sig { returns(T.nilable(String)) } - attr_accessor :currency - - # For dimensional price: specifies a price group and dimension values - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::DimensionalPriceConfiguration - ) - ) - end - attr_reader :dimensional_price_configuration - - sig do - params( - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::DimensionalPriceConfiguration::OrHash - ) - ).void - end - attr_writer :dimensional_price_configuration - - # An alias for the price. - sig { returns(T.nilable(String)) } - attr_accessor :external_price_id - - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - sig { returns(T.nilable(Float)) } - attr_accessor :fixed_price_quantity - - # The property used to group this price on an invoice - sig { returns(T.nilable(String)) } - attr_accessor :invoice_grouping_key - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration - ) - ) - end - attr_reader :invoicing_cycle_configuration - - sig do - params( - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :invoicing_cycle_configuration - - # 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`. - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } - attr_accessor :metadata - - sig do - params( - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::Cadence::OrSymbol, - item_id: String, - name: String, - tiered_with_proration_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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration::OrHash - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::DimensionalPriceConfiguration::OrHash - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration::OrHash - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), - model_type: Symbol - ).returns(T.attached_class) - end - def self.new( - # The cadence to bill for this price on. - cadence:, - # The id of the item the price will be associated with. - item_id:, - # The name of the price. - name:, - tiered_with_proration_config:, - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - billable_metric_id: nil, - # 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. - billed_in_advance: nil, - # For custom cadence: specifies the duration of the billing period in days or - # months. - billing_cycle_configuration: nil, - # The per unit conversion rate of the price currency to the invoicing currency. - conversion_rate: nil, - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - currency: nil, - # For dimensional price: specifies a price group and dimension values - dimensional_price_configuration: nil, - # An alias for the price. - external_price_id: nil, - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - fixed_price_quantity: nil, - # The property used to group this price on an invoice - invoice_grouping_key: nil, - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - invoicing_cycle_configuration: nil, - # 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`. - metadata: nil, - model_type: :tiered_with_proration - ) - end - - sig do - override.returns( - { - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::Cadence::OrSymbol, - item_id: String, - model_type: Symbol, - name: String, - tiered_with_proration_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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::DimensionalPriceConfiguration - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) - } - ) - end - def to_hash - end - - # The cadence to bill for this price on. - module Cadence - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::Cadence - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ANNUAL = - T.let( - :annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::Cadence::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::Cadence::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::Cadence::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::Cadence::TaggedSymbol - ) - ONE_TIME = - T.let( - :one_time, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::Cadence::TaggedSymbol - ) - CUSTOM = - T.let( - :custom, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::Cadence::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::Cadence::TaggedSymbol - ] - ) - end - def self.values - end - end - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::DimensionalPriceConfiguration, - Orb::Internal::AnyHash - ) - end - - # The list of dimension values matching (in order) the dimensions of the price - # group - sig { returns(T::Array[String]) } - attr_accessor :dimension_values - - # The id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :dimensional_price_group_id - - # The external id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :external_dimensional_price_group_id - - # For dimensional price: specifies a price group and dimension values - sig do - params( - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The list of dimension values matching (in order) the dimensions of the price - # group - dimension_values:, - # The id of the dimensional price group to include this price in - dimensional_price_group_id: nil, - # The external id of the dimensional price group to include this price in - external_dimensional_price_group_id: nil - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - } - ) - end - def to_hash - end - end - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class UnitWithProration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration, - Orb::Internal::AnyHash - ) - end - - # The cadence to bill for this price on. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::Cadence::OrSymbol - ) - end - attr_accessor :cadence - - # The id of the item the price will be associated with. - sig { returns(String) } - attr_accessor :item_id - - sig { returns(Symbol) } - attr_accessor :model_type - - # The name of the price. - sig { returns(String) } - attr_accessor :name - - sig { returns(T::Hash[Symbol, T.anything]) } - attr_accessor :unit_with_proration_config - - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - sig { returns(T.nilable(String)) } - attr_accessor :billable_metric_id - - # 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. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :billed_in_advance - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration - ) - ) - end - attr_reader :billing_cycle_configuration - - sig do - params( - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :billing_cycle_configuration - - # The per unit conversion rate of the price currency to the invoicing currency. - sig { returns(T.nilable(Float)) } - attr_accessor :conversion_rate - - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - sig { returns(T.nilable(String)) } - attr_accessor :currency - - # For dimensional price: specifies a price group and dimension values - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::DimensionalPriceConfiguration - ) - ) - end - attr_reader :dimensional_price_configuration - - sig do - params( - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::DimensionalPriceConfiguration::OrHash - ) - ).void - end - attr_writer :dimensional_price_configuration - - # An alias for the price. - sig { returns(T.nilable(String)) } - attr_accessor :external_price_id - - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - sig { returns(T.nilable(Float)) } - attr_accessor :fixed_price_quantity - - # The property used to group this price on an invoice - sig { returns(T.nilable(String)) } - attr_accessor :invoice_grouping_key - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration - ) - ) - end - attr_reader :invoicing_cycle_configuration - - sig do - params( - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :invoicing_cycle_configuration - - # 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`. - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } - attr_accessor :metadata - - sig do - params( - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::Cadence::OrSymbol, - item_id: String, - name: String, - unit_with_proration_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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration::OrHash - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::DimensionalPriceConfiguration::OrHash - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration::OrHash - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), - model_type: Symbol - ).returns(T.attached_class) - end - def self.new( - # The cadence to bill for this price on. - cadence:, - # The id of the item the price will be associated with. - item_id:, - # The name of the price. - name:, - unit_with_proration_config:, - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - billable_metric_id: nil, - # 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. - billed_in_advance: nil, - # For custom cadence: specifies the duration of the billing period in days or - # months. - billing_cycle_configuration: nil, - # The per unit conversion rate of the price currency to the invoicing currency. - conversion_rate: nil, - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - currency: nil, - # For dimensional price: specifies a price group and dimension values - dimensional_price_configuration: nil, - # An alias for the price. - external_price_id: nil, - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - fixed_price_quantity: nil, - # The property used to group this price on an invoice - invoice_grouping_key: nil, - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - invoicing_cycle_configuration: nil, - # 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`. - metadata: nil, - model_type: :unit_with_proration - ) - end - - sig do - override.returns( - { - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::Cadence::OrSymbol, - item_id: String, - model_type: Symbol, - name: String, - unit_with_proration_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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::DimensionalPriceConfiguration - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) - } - ) - end - def to_hash - end - - # The cadence to bill for this price on. - module Cadence - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::Cadence - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ANNUAL = - T.let( - :annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::Cadence::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::Cadence::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::Cadence::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::Cadence::TaggedSymbol - ) - ONE_TIME = - T.let( - :one_time, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::Cadence::TaggedSymbol - ) - CUSTOM = - T.let( - :custom, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::Cadence::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::Cadence::TaggedSymbol - ] - ) - end - def self.values - end - end - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::DimensionalPriceConfiguration, - Orb::Internal::AnyHash - ) - end - - # The list of dimension values matching (in order) the dimensions of the price - # group - sig { returns(T::Array[String]) } - attr_accessor :dimension_values - - # The id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :dimensional_price_group_id - - # The external id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :external_dimensional_price_group_id - - # For dimensional price: specifies a price group and dimension values - sig do - params( - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The list of dimension values matching (in order) the dimensions of the price - # group - dimension_values:, - # The id of the dimensional price group to include this price in - dimensional_price_group_id: nil, - # The external id of the dimensional price group to include this price in - external_dimensional_price_group_id: nil - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - } - ) - end - def to_hash - end - end - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class GroupedAllocation < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation, - Orb::Internal::AnyHash - ) - end - - # The cadence to bill for this price on. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::Cadence::OrSymbol - ) - end - attr_accessor :cadence - - sig { returns(T::Hash[Symbol, T.anything]) } - attr_accessor :grouped_allocation_config - - # The id of the item the price will be associated with. - sig { returns(String) } - attr_accessor :item_id - - sig { returns(Symbol) } - attr_accessor :model_type - - # The name of the price. - sig { returns(String) } - attr_accessor :name - - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - sig { returns(T.nilable(String)) } - attr_accessor :billable_metric_id - - # 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. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :billed_in_advance - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration - ) - ) - end - attr_reader :billing_cycle_configuration - - sig do - params( - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :billing_cycle_configuration - - # The per unit conversion rate of the price currency to the invoicing currency. - sig { returns(T.nilable(Float)) } - attr_accessor :conversion_rate - - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - sig { returns(T.nilable(String)) } - attr_accessor :currency - - # For dimensional price: specifies a price group and dimension values - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::DimensionalPriceConfiguration - ) - ) - end - attr_reader :dimensional_price_configuration - - sig do - params( - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::DimensionalPriceConfiguration::OrHash - ) - ).void - end - attr_writer :dimensional_price_configuration - - # An alias for the price. - sig { returns(T.nilable(String)) } - attr_accessor :external_price_id - - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - sig { returns(T.nilable(Float)) } - attr_accessor :fixed_price_quantity - - # The property used to group this price on an invoice - sig { returns(T.nilable(String)) } - attr_accessor :invoice_grouping_key - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration - ) - ) - end - attr_reader :invoicing_cycle_configuration - - sig do - params( - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :invoicing_cycle_configuration - - # 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`. - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } - attr_accessor :metadata - - sig do - params( - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::Cadence::OrSymbol, - grouped_allocation_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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration::OrHash - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::DimensionalPriceConfiguration::OrHash - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration::OrHash - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), - model_type: Symbol - ).returns(T.attached_class) - end - def self.new( - # The cadence to bill for this price on. - cadence:, - grouped_allocation_config:, - # The id of the item the price will be associated with. - item_id:, - # The name of the price. - name:, - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - billable_metric_id: nil, - # 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. - billed_in_advance: nil, - # For custom cadence: specifies the duration of the billing period in days or - # months. - billing_cycle_configuration: nil, - # The per unit conversion rate of the price currency to the invoicing currency. - conversion_rate: nil, - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - currency: nil, - # For dimensional price: specifies a price group and dimension values - dimensional_price_configuration: nil, - # An alias for the price. - external_price_id: nil, - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - fixed_price_quantity: nil, - # The property used to group this price on an invoice - invoice_grouping_key: nil, - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - invoicing_cycle_configuration: nil, - # 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`. - metadata: nil, - model_type: :grouped_allocation - ) - end - - sig do - override.returns( - { - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::Cadence::OrSymbol, - grouped_allocation_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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::DimensionalPriceConfiguration - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) - } - ) - end - def to_hash - end - - # The cadence to bill for this price on. - module Cadence - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::Cadence - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ANNUAL = - T.let( - :annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::Cadence::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::Cadence::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::Cadence::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::Cadence::TaggedSymbol - ) - ONE_TIME = - T.let( - :one_time, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::Cadence::TaggedSymbol - ) - CUSTOM = - T.let( - :custom, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::Cadence::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::Cadence::TaggedSymbol - ] - ) - end - def self.values - end - end - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::DimensionalPriceConfiguration, - Orb::Internal::AnyHash - ) - end - - # The list of dimension values matching (in order) the dimensions of the price - # group - sig { returns(T::Array[String]) } - attr_accessor :dimension_values - - # The id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :dimensional_price_group_id - - # The external id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :external_dimensional_price_group_id - - # For dimensional price: specifies a price group and dimension values - sig do - params( - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The list of dimension values matching (in order) the dimensions of the price - # group - dimension_values:, - # The id of the dimensional price group to include this price in - dimensional_price_group_id: nil, - # The external id of the dimensional price group to include this price in - external_dimensional_price_group_id: nil - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - } - ) - end - def to_hash - end - end - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class GroupedWithProratedMinimum < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum, - Orb::Internal::AnyHash - ) - end - - # The cadence to bill for this price on. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::Cadence::OrSymbol - ) - end - attr_accessor :cadence - - sig { returns(T::Hash[Symbol, T.anything]) } - attr_accessor :grouped_with_prorated_minimum_config - - # The id of the item the price will be associated with. - sig { returns(String) } - attr_accessor :item_id - - sig { returns(Symbol) } - attr_accessor :model_type - - # The name of the price. - sig { returns(String) } - attr_accessor :name - - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - sig { returns(T.nilable(String)) } - attr_accessor :billable_metric_id - - # 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. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :billed_in_advance - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration - ) - ) - end - attr_reader :billing_cycle_configuration - - sig do - params( - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :billing_cycle_configuration - - # The per unit conversion rate of the price currency to the invoicing currency. - sig { returns(T.nilable(Float)) } - attr_accessor :conversion_rate - - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - sig { returns(T.nilable(String)) } - attr_accessor :currency - - # For dimensional price: specifies a price group and dimension values - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration - ) - ) - end - attr_reader :dimensional_price_configuration - - sig do - params( - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration::OrHash - ) - ).void - end - attr_writer :dimensional_price_configuration - - # An alias for the price. - sig { returns(T.nilable(String)) } - attr_accessor :external_price_id - - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - sig { returns(T.nilable(Float)) } - attr_accessor :fixed_price_quantity - - # The property used to group this price on an invoice - sig { returns(T.nilable(String)) } - attr_accessor :invoice_grouping_key - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration - ) - ) - end - attr_reader :invoicing_cycle_configuration - - sig do - params( - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :invoicing_cycle_configuration - - # 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`. - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } - attr_accessor :metadata - - sig do - params( - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::Cadence::OrSymbol, - grouped_with_prorated_minimum_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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::OrHash - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration::OrHash - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::OrHash - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), - model_type: Symbol - ).returns(T.attached_class) - end - def self.new( - # The cadence to bill for this price on. - cadence:, - grouped_with_prorated_minimum_config:, - # The id of the item the price will be associated with. - item_id:, - # The name of the price. - name:, - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - billable_metric_id: nil, - # 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. - billed_in_advance: nil, - # For custom cadence: specifies the duration of the billing period in days or - # months. - billing_cycle_configuration: nil, - # The per unit conversion rate of the price currency to the invoicing currency. - conversion_rate: nil, - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - currency: nil, - # For dimensional price: specifies a price group and dimension values - dimensional_price_configuration: nil, - # An alias for the price. - external_price_id: nil, - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - fixed_price_quantity: nil, - # The property used to group this price on an invoice - invoice_grouping_key: nil, - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - invoicing_cycle_configuration: nil, - # 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`. - metadata: nil, - model_type: :grouped_with_prorated_minimum - ) - end - - sig do - override.returns( - { - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::Cadence::OrSymbol, - grouped_with_prorated_minimum_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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) - } - ) - end - def to_hash - end - - # The cadence to bill for this price on. - module Cadence - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::Cadence - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ANNUAL = - T.let( - :annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::Cadence::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::Cadence::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::Cadence::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::Cadence::TaggedSymbol - ) - ONE_TIME = - T.let( - :one_time, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::Cadence::TaggedSymbol - ) - CUSTOM = - T.let( - :custom, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::Cadence::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::Cadence::TaggedSymbol - ] - ) - end - def self.values - end - end - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration, - Orb::Internal::AnyHash - ) - end - - # The list of dimension values matching (in order) the dimensions of the price - # group - sig { returns(T::Array[String]) } - attr_accessor :dimension_values - - # The id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :dimensional_price_group_id - - # The external id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :external_dimensional_price_group_id - - # For dimensional price: specifies a price group and dimension values - sig do - params( - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The list of dimension values matching (in order) the dimensions of the price - # group - dimension_values:, - # The id of the dimensional price group to include this price in - dimensional_price_group_id: nil, - # The external id of the dimensional price group to include this price in - external_dimensional_price_group_id: nil - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - } - ) - end - def to_hash - end - end - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class GroupedWithMeteredMinimum < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum, - Orb::Internal::AnyHash - ) - end - - # The cadence to bill for this price on. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::Cadence::OrSymbol - ) - end - attr_accessor :cadence - - sig { returns(T::Hash[Symbol, T.anything]) } - attr_accessor :grouped_with_metered_minimum_config - - # The id of the item the price will be associated with. - sig { returns(String) } - attr_accessor :item_id - - sig { returns(Symbol) } - attr_accessor :model_type - - # The name of the price. - sig { returns(String) } - attr_accessor :name - - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - sig { returns(T.nilable(String)) } - attr_accessor :billable_metric_id - - # 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. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :billed_in_advance - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration - ) - ) - end - attr_reader :billing_cycle_configuration - - sig do - params( - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :billing_cycle_configuration - - # The per unit conversion rate of the price currency to the invoicing currency. - sig { returns(T.nilable(Float)) } - attr_accessor :conversion_rate - - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - sig { returns(T.nilable(String)) } - attr_accessor :currency - - # For dimensional price: specifies a price group and dimension values - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration - ) - ) - end - attr_reader :dimensional_price_configuration - - sig do - params( - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration::OrHash - ) - ).void - end - attr_writer :dimensional_price_configuration - - # An alias for the price. - sig { returns(T.nilable(String)) } - attr_accessor :external_price_id - - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - sig { returns(T.nilable(Float)) } - attr_accessor :fixed_price_quantity - - # The property used to group this price on an invoice - sig { returns(T.nilable(String)) } - attr_accessor :invoice_grouping_key - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration - ) - ) - end - attr_reader :invoicing_cycle_configuration - - sig do - params( - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :invoicing_cycle_configuration - - # 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`. - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } - attr_accessor :metadata - - sig do - params( - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::Cadence::OrSymbol, - grouped_with_metered_minimum_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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::OrHash - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration::OrHash - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::OrHash - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), - model_type: Symbol - ).returns(T.attached_class) - end - def self.new( - # The cadence to bill for this price on. - cadence:, - grouped_with_metered_minimum_config:, - # The id of the item the price will be associated with. - item_id:, - # The name of the price. - name:, - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - billable_metric_id: nil, - # 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. - billed_in_advance: nil, - # For custom cadence: specifies the duration of the billing period in days or - # months. - billing_cycle_configuration: nil, - # The per unit conversion rate of the price currency to the invoicing currency. - conversion_rate: nil, - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - currency: nil, - # For dimensional price: specifies a price group and dimension values - dimensional_price_configuration: nil, - # An alias for the price. - external_price_id: nil, - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - fixed_price_quantity: nil, - # The property used to group this price on an invoice - invoice_grouping_key: nil, - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - invoicing_cycle_configuration: nil, - # 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`. - metadata: nil, - model_type: :grouped_with_metered_minimum - ) - end - - sig do - override.returns( - { - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::Cadence::OrSymbol, - grouped_with_metered_minimum_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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) - } - ) - end - def to_hash - end - - # The cadence to bill for this price on. - module Cadence - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::Cadence - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ANNUAL = - T.let( - :annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::Cadence::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::Cadence::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::Cadence::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::Cadence::TaggedSymbol - ) - ONE_TIME = - T.let( - :one_time, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::Cadence::TaggedSymbol - ) - CUSTOM = - T.let( - :custom, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::Cadence::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::Cadence::TaggedSymbol - ] - ) - end - def self.values - end - end - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration, - Orb::Internal::AnyHash - ) - end - - # The list of dimension values matching (in order) the dimensions of the price - # group - sig { returns(T::Array[String]) } - attr_accessor :dimension_values - - # The id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :dimensional_price_group_id - - # The external id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :external_dimensional_price_group_id - - # For dimensional price: specifies a price group and dimension values - sig do - params( - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The list of dimension values matching (in order) the dimensions of the price - # group - dimension_values:, - # The id of the dimensional price group to include this price in - dimensional_price_group_id: nil, - # The external id of the dimensional price group to include this price in - external_dimensional_price_group_id: nil - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - } - ) - end - def to_hash - end - end - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class MatrixWithDisplayName < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName, - Orb::Internal::AnyHash - ) - end - - # The cadence to bill for this price on. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::Cadence::OrSymbol - ) - end - attr_accessor :cadence - - # The id of the item the price will be associated with. - sig { returns(String) } - attr_accessor :item_id - - sig { returns(T::Hash[Symbol, T.anything]) } - attr_accessor :matrix_with_display_name_config - - sig { returns(Symbol) } - attr_accessor :model_type - - # The name of the price. - sig { returns(String) } - attr_accessor :name - - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - sig { returns(T.nilable(String)) } - attr_accessor :billable_metric_id - - # 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. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :billed_in_advance - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration - ) - ) - end - attr_reader :billing_cycle_configuration - - sig do - params( - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :billing_cycle_configuration - - # The per unit conversion rate of the price currency to the invoicing currency. - sig { returns(T.nilable(Float)) } - attr_accessor :conversion_rate - - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - sig { returns(T.nilable(String)) } - attr_accessor :currency - - # For dimensional price: specifies a price group and dimension values - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration - ) - ) - end - attr_reader :dimensional_price_configuration - - sig do - params( - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration::OrHash - ) - ).void - end - attr_writer :dimensional_price_configuration - - # An alias for the price. - sig { returns(T.nilable(String)) } - attr_accessor :external_price_id - - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - sig { returns(T.nilable(Float)) } - attr_accessor :fixed_price_quantity - - # The property used to group this price on an invoice - sig { returns(T.nilable(String)) } - attr_accessor :invoice_grouping_key - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration - ) - ) - end - attr_reader :invoicing_cycle_configuration - - sig do - params( - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :invoicing_cycle_configuration - - # 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`. - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } - attr_accessor :metadata - - sig do - params( - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::Cadence::OrSymbol, - item_id: String, - matrix_with_display_name_config: - T::Hash[Symbol, T.anything], - name: String, - billable_metric_id: T.nilable(String), - billed_in_advance: T.nilable(T::Boolean), - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::OrHash - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration::OrHash - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::OrHash - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), - model_type: Symbol - ).returns(T.attached_class) - end - def self.new( - # The cadence to bill for this price on. - cadence:, - # The id of the item the price will be associated with. - item_id:, - matrix_with_display_name_config:, - # The name of the price. - name:, - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - billable_metric_id: nil, - # 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. - billed_in_advance: nil, - # For custom cadence: specifies the duration of the billing period in days or - # months. - billing_cycle_configuration: nil, - # The per unit conversion rate of the price currency to the invoicing currency. - conversion_rate: nil, - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - currency: nil, - # For dimensional price: specifies a price group and dimension values - dimensional_price_configuration: nil, - # An alias for the price. - external_price_id: nil, - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - fixed_price_quantity: nil, - # The property used to group this price on an invoice - invoice_grouping_key: nil, - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - invoicing_cycle_configuration: nil, - # 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`. - metadata: nil, - model_type: :matrix_with_display_name - ) - end - - sig do - override.returns( - { - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::Cadence::OrSymbol, - item_id: String, - matrix_with_display_name_config: - T::Hash[Symbol, T.anything], - model_type: Symbol, - name: String, - billable_metric_id: T.nilable(String), - billed_in_advance: T.nilable(T::Boolean), - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) - } - ) - end - def to_hash - end - - # The cadence to bill for this price on. - module Cadence - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::Cadence - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ANNUAL = - T.let( - :annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::Cadence::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::Cadence::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::Cadence::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::Cadence::TaggedSymbol - ) - ONE_TIME = - T.let( - :one_time, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::Cadence::TaggedSymbol - ) - CUSTOM = - T.let( - :custom, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::Cadence::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::Cadence::TaggedSymbol - ] - ) - end - def self.values - end - end - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration, - Orb::Internal::AnyHash - ) - end - - # The list of dimension values matching (in order) the dimensions of the price - # group - sig { returns(T::Array[String]) } - attr_accessor :dimension_values - - # The id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :dimensional_price_group_id - - # The external id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :external_dimensional_price_group_id - - # For dimensional price: specifies a price group and dimension values - sig do - params( - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The list of dimension values matching (in order) the dimensions of the price - # group - dimension_values:, - # The id of the dimensional price group to include this price in - dimensional_price_group_id: nil, - # The external id of the dimensional price group to include this price in - external_dimensional_price_group_id: nil - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - } - ) - end - def to_hash - end - end - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class BulkWithProration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration, - Orb::Internal::AnyHash - ) - end - - sig { returns(T::Hash[Symbol, T.anything]) } - attr_accessor :bulk_with_proration_config - - # The cadence to bill for this price on. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::Cadence::OrSymbol - ) - end - attr_accessor :cadence - - # The id of the item the price will be associated with. - sig { returns(String) } - attr_accessor :item_id - - sig { returns(Symbol) } - attr_accessor :model_type - - # The name of the price. - sig { returns(String) } - attr_accessor :name - - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - sig { returns(T.nilable(String)) } - attr_accessor :billable_metric_id - - # 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. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :billed_in_advance - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration - ) - ) - end - attr_reader :billing_cycle_configuration - - sig do - params( - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :billing_cycle_configuration - - # The per unit conversion rate of the price currency to the invoicing currency. - sig { returns(T.nilable(Float)) } - attr_accessor :conversion_rate - - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - sig { returns(T.nilable(String)) } - attr_accessor :currency - - # For dimensional price: specifies a price group and dimension values - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::DimensionalPriceConfiguration - ) - ) - end - attr_reader :dimensional_price_configuration - - sig do - params( - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::DimensionalPriceConfiguration::OrHash - ) - ).void - end - attr_writer :dimensional_price_configuration - - # An alias for the price. - sig { returns(T.nilable(String)) } - attr_accessor :external_price_id - - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - sig { returns(T.nilable(Float)) } - attr_accessor :fixed_price_quantity - - # The property used to group this price on an invoice - sig { returns(T.nilable(String)) } - attr_accessor :invoice_grouping_key - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration - ) - ) - end - attr_reader :invoicing_cycle_configuration - - sig do - params( - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :invoicing_cycle_configuration - - # 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`. - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } - attr_accessor :metadata - - sig do - params( - bulk_with_proration_config: T::Hash[Symbol, T.anything], - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::Cadence::OrSymbol, - item_id: String, - name: String, - billable_metric_id: T.nilable(String), - billed_in_advance: T.nilable(T::Boolean), - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration::OrHash - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::DimensionalPriceConfiguration::OrHash - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration::OrHash - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), - model_type: Symbol - ).returns(T.attached_class) - end - def self.new( - bulk_with_proration_config:, - # The cadence to bill for this price on. - cadence:, - # The id of the item the price will be associated with. - item_id:, - # The name of the price. - name:, - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - billable_metric_id: nil, - # 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. - billed_in_advance: nil, - # For custom cadence: specifies the duration of the billing period in days or - # months. - billing_cycle_configuration: nil, - # The per unit conversion rate of the price currency to the invoicing currency. - conversion_rate: nil, - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - currency: nil, - # For dimensional price: specifies a price group and dimension values - dimensional_price_configuration: nil, - # An alias for the price. - external_price_id: nil, - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - fixed_price_quantity: nil, - # The property used to group this price on an invoice - invoice_grouping_key: nil, - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - invoicing_cycle_configuration: nil, - # 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`. - metadata: nil, - model_type: :bulk_with_proration - ) - end - - sig do - override.returns( - { - bulk_with_proration_config: T::Hash[Symbol, T.anything], - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::Cadence::OrSymbol, - 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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::DimensionalPriceConfiguration - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) - } - ) - end - def to_hash - end - - # The cadence to bill for this price on. - module Cadence - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::Cadence - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ANNUAL = - T.let( - :annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::Cadence::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::Cadence::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::Cadence::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::Cadence::TaggedSymbol - ) - ONE_TIME = - T.let( - :one_time, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::Cadence::TaggedSymbol - ) - CUSTOM = - T.let( - :custom, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::Cadence::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::Cadence::TaggedSymbol - ] - ) - end - def self.values - end - end - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::DimensionalPriceConfiguration, - Orb::Internal::AnyHash - ) - end - - # The list of dimension values matching (in order) the dimensions of the price - # group - sig { returns(T::Array[String]) } - attr_accessor :dimension_values - - # The id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :dimensional_price_group_id - - # The external id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :external_dimensional_price_group_id - - # For dimensional price: specifies a price group and dimension values - sig do - params( - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The list of dimension values matching (in order) the dimensions of the price - # group - dimension_values:, - # The id of the dimensional price group to include this price in - dimensional_price_group_id: nil, - # The external id of the dimensional price group to include this price in - external_dimensional_price_group_id: nil - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - } - ) - end - def to_hash - end - end - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class GroupedTieredPackage < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage, - Orb::Internal::AnyHash - ) - end - - # The cadence to bill for this price on. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::Cadence::OrSymbol - ) - end - attr_accessor :cadence - - sig { returns(T::Hash[Symbol, T.anything]) } - attr_accessor :grouped_tiered_package_config - - # The id of the item the price will be associated with. - sig { returns(String) } - attr_accessor :item_id - - sig { returns(Symbol) } - attr_accessor :model_type - - # The name of the price. - sig { returns(String) } - attr_accessor :name - - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - sig { returns(T.nilable(String)) } - attr_accessor :billable_metric_id - - # 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. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :billed_in_advance - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration - ) - ) - end - attr_reader :billing_cycle_configuration - - sig do - params( - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :billing_cycle_configuration - - # The per unit conversion rate of the price currency to the invoicing currency. - sig { returns(T.nilable(Float)) } - attr_accessor :conversion_rate - - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - sig { returns(T.nilable(String)) } - attr_accessor :currency - - # For dimensional price: specifies a price group and dimension values - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration - ) - ) - end - attr_reader :dimensional_price_configuration - - sig do - params( - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration::OrHash - ) - ).void - end - attr_writer :dimensional_price_configuration - - # An alias for the price. - sig { returns(T.nilable(String)) } - attr_accessor :external_price_id - - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - sig { returns(T.nilable(Float)) } - attr_accessor :fixed_price_quantity - - # The property used to group this price on an invoice - sig { returns(T.nilable(String)) } - attr_accessor :invoice_grouping_key - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration - ) - ) - end - attr_reader :invoicing_cycle_configuration - - sig do - params( - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :invoicing_cycle_configuration - - # 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`. - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } - attr_accessor :metadata - - sig do - params( - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::Cadence::OrSymbol, - grouped_tiered_package_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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration::OrHash - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration::OrHash - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::OrHash - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), - model_type: Symbol - ).returns(T.attached_class) - end - def self.new( - # The cadence to bill for this price on. - cadence:, - grouped_tiered_package_config:, - # The id of the item the price will be associated with. - item_id:, - # The name of the price. - name:, - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - billable_metric_id: nil, - # 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. - billed_in_advance: nil, - # For custom cadence: specifies the duration of the billing period in days or - # months. - billing_cycle_configuration: nil, - # The per unit conversion rate of the price currency to the invoicing currency. - conversion_rate: nil, - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - currency: nil, - # For dimensional price: specifies a price group and dimension values - dimensional_price_configuration: nil, - # An alias for the price. - external_price_id: nil, - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - fixed_price_quantity: nil, - # The property used to group this price on an invoice - invoice_grouping_key: nil, - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - invoicing_cycle_configuration: nil, - # 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`. - metadata: nil, - model_type: :grouped_tiered_package - ) - end - - sig do - override.returns( - { - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::Cadence::OrSymbol, - grouped_tiered_package_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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) - } - ) - end - def to_hash - end - - # The cadence to bill for this price on. - module Cadence - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::Cadence - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ANNUAL = - T.let( - :annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::Cadence::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::Cadence::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::Cadence::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::Cadence::TaggedSymbol - ) - ONE_TIME = - T.let( - :one_time, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::Cadence::TaggedSymbol - ) - CUSTOM = - T.let( - :custom, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::Cadence::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::Cadence::TaggedSymbol - ] - ) - end - def self.values - end - end - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration, - Orb::Internal::AnyHash - ) - end - - # The list of dimension values matching (in order) the dimensions of the price - # group - sig { returns(T::Array[String]) } - attr_accessor :dimension_values - - # The id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :dimensional_price_group_id - - # The external id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :external_dimensional_price_group_id - - # For dimensional price: specifies a price group and dimension values - sig do - params( - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The list of dimension values matching (in order) the dimensions of the price - # group - dimension_values:, - # The id of the dimensional price group to include this price in - dimensional_price_group_id: nil, - # The external id of the dimensional price group to include this price in - external_dimensional_price_group_id: nil - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - } - ) - end - def to_hash - end - end - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class MaxGroupTieredPackage < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage, - Orb::Internal::AnyHash - ) - end - - # The cadence to bill for this price on. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::Cadence::OrSymbol - ) - end - attr_accessor :cadence - - # The id of the item the price will be associated with. - sig { returns(String) } - attr_accessor :item_id - - sig { returns(T::Hash[Symbol, T.anything]) } - attr_accessor :max_group_tiered_package_config - - sig { returns(Symbol) } - attr_accessor :model_type - - # The name of the price. - sig { returns(String) } - attr_accessor :name - - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - sig { returns(T.nilable(String)) } - attr_accessor :billable_metric_id - - # 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. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :billed_in_advance - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration - ) - ) - end - attr_reader :billing_cycle_configuration - - sig do - params( - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :billing_cycle_configuration - - # The per unit conversion rate of the price currency to the invoicing currency. - sig { returns(T.nilable(Float)) } - attr_accessor :conversion_rate - - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - sig { returns(T.nilable(String)) } - attr_accessor :currency - - # For dimensional price: specifies a price group and dimension values - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration - ) - ) - end - attr_reader :dimensional_price_configuration - - sig do - params( - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration::OrHash - ) - ).void - end - attr_writer :dimensional_price_configuration - - # An alias for the price. - sig { returns(T.nilable(String)) } - attr_accessor :external_price_id - - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - sig { returns(T.nilable(Float)) } - attr_accessor :fixed_price_quantity - - # The property used to group this price on an invoice - sig { returns(T.nilable(String)) } - attr_accessor :invoice_grouping_key - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration - ) - ) - end - attr_reader :invoicing_cycle_configuration - - sig do - params( - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :invoicing_cycle_configuration - - # 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`. - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } - attr_accessor :metadata - - sig do - params( - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::Cadence::OrSymbol, - item_id: String, - max_group_tiered_package_config: - T::Hash[Symbol, T.anything], - name: String, - billable_metric_id: T.nilable(String), - billed_in_advance: T.nilable(T::Boolean), - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::OrHash - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration::OrHash - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::OrHash - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), - model_type: Symbol - ).returns(T.attached_class) - end - def self.new( - # The cadence to bill for this price on. - cadence:, - # The id of the item the price will be associated with. - item_id:, - max_group_tiered_package_config:, - # The name of the price. - name:, - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - billable_metric_id: nil, - # 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. - billed_in_advance: nil, - # For custom cadence: specifies the duration of the billing period in days or - # months. - billing_cycle_configuration: nil, - # The per unit conversion rate of the price currency to the invoicing currency. - conversion_rate: nil, - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - currency: nil, - # For dimensional price: specifies a price group and dimension values - dimensional_price_configuration: nil, - # An alias for the price. - external_price_id: nil, - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - fixed_price_quantity: nil, - # The property used to group this price on an invoice - invoice_grouping_key: nil, - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - invoicing_cycle_configuration: nil, - # 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`. - metadata: nil, - model_type: :max_group_tiered_package - ) - end - - sig do - override.returns( - { - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::Cadence::OrSymbol, - item_id: String, - max_group_tiered_package_config: - T::Hash[Symbol, T.anything], - model_type: Symbol, - name: String, - billable_metric_id: T.nilable(String), - billed_in_advance: T.nilable(T::Boolean), - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) - } - ) - end - def to_hash - end - - # The cadence to bill for this price on. - module Cadence - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::Cadence - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ANNUAL = - T.let( - :annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::Cadence::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::Cadence::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::Cadence::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::Cadence::TaggedSymbol - ) - ONE_TIME = - T.let( - :one_time, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::Cadence::TaggedSymbol - ) - CUSTOM = - T.let( - :custom, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::Cadence::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::Cadence::TaggedSymbol - ] - ) - end - def self.values - end - end - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration, - Orb::Internal::AnyHash - ) - end - - # The list of dimension values matching (in order) the dimensions of the price - # group - sig { returns(T::Array[String]) } - attr_accessor :dimension_values - - # The id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :dimensional_price_group_id - - # The external id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :external_dimensional_price_group_id - - # For dimensional price: specifies a price group and dimension values - sig do - params( - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The list of dimension values matching (in order) the dimensions of the price - # group - dimension_values:, - # The id of the dimensional price group to include this price in - dimensional_price_group_id: nil, - # The external id of the dimensional price group to include this price in - external_dimensional_price_group_id: nil - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - } - ) - end - def to_hash - end - end - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class ScalableMatrixWithUnitPricing < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing, - Orb::Internal::AnyHash - ) - end - - # The cadence to bill for this price on. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::Cadence::OrSymbol - ) - end - attr_accessor :cadence - - # The id of the item the price will be associated with. - sig { returns(String) } - attr_accessor :item_id - - sig { returns(Symbol) } - attr_accessor :model_type - - # The name of the price. - sig { returns(String) } - attr_accessor :name - - sig { returns(T::Hash[Symbol, T.anything]) } - attr_accessor :scalable_matrix_with_unit_pricing_config - - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - sig { returns(T.nilable(String)) } - attr_accessor :billable_metric_id - - # 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. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :billed_in_advance - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration - ) - ) - end - attr_reader :billing_cycle_configuration - - sig do - params( - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :billing_cycle_configuration - - # The per unit conversion rate of the price currency to the invoicing currency. - sig { returns(T.nilable(Float)) } - attr_accessor :conversion_rate - - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - sig { returns(T.nilable(String)) } - attr_accessor :currency - - # For dimensional price: specifies a price group and dimension values - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration - ) - ) - end - attr_reader :dimensional_price_configuration - - sig do - params( - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration::OrHash - ) - ).void - end - attr_writer :dimensional_price_configuration - - # An alias for the price. - sig { returns(T.nilable(String)) } - attr_accessor :external_price_id - - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - sig { returns(T.nilable(Float)) } - attr_accessor :fixed_price_quantity - - # The property used to group this price on an invoice - sig { returns(T.nilable(String)) } - attr_accessor :invoice_grouping_key - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration - ) - ) - end - attr_reader :invoicing_cycle_configuration - - sig do - params( - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :invoicing_cycle_configuration - - # 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`. - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } - attr_accessor :metadata - - sig do - params( - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::Cadence::OrSymbol, - item_id: String, - name: String, - scalable_matrix_with_unit_pricing_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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::OrHash - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration::OrHash - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::OrHash - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), - model_type: Symbol - ).returns(T.attached_class) - end - def self.new( - # The cadence to bill for this price on. - cadence:, - # The id of the item the price will be associated with. - item_id:, - # The name of the price. - name:, - scalable_matrix_with_unit_pricing_config:, - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - billable_metric_id: nil, - # 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. - billed_in_advance: nil, - # For custom cadence: specifies the duration of the billing period in days or - # months. - billing_cycle_configuration: nil, - # The per unit conversion rate of the price currency to the invoicing currency. - conversion_rate: nil, - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - currency: nil, - # For dimensional price: specifies a price group and dimension values - dimensional_price_configuration: nil, - # An alias for the price. - external_price_id: nil, - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - fixed_price_quantity: nil, - # The property used to group this price on an invoice - invoice_grouping_key: nil, - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - invoicing_cycle_configuration: nil, - # 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`. - metadata: nil, - model_type: :scalable_matrix_with_unit_pricing - ) - end - - sig do - override.returns( - { - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::Cadence::OrSymbol, - item_id: String, - model_type: Symbol, - name: String, - scalable_matrix_with_unit_pricing_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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) - } - ) - end - def to_hash - end - - # The cadence to bill for this price on. - module Cadence - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::Cadence - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ANNUAL = - T.let( - :annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::Cadence::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::Cadence::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::Cadence::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::Cadence::TaggedSymbol - ) - ONE_TIME = - T.let( - :one_time, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::Cadence::TaggedSymbol - ) - CUSTOM = - T.let( - :custom, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::Cadence::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::Cadence::TaggedSymbol - ] - ) - end - def self.values - end - end - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration, - Orb::Internal::AnyHash - ) - end - - # The list of dimension values matching (in order) the dimensions of the price - # group - sig { returns(T::Array[String]) } - attr_accessor :dimension_values - - # The id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :dimensional_price_group_id - - # The external id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :external_dimensional_price_group_id - - # For dimensional price: specifies a price group and dimension values - sig do - params( - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The list of dimension values matching (in order) the dimensions of the price - # group - dimension_values:, - # The id of the dimensional price group to include this price in - dimensional_price_group_id: nil, - # The external id of the dimensional price group to include this price in - external_dimensional_price_group_id: nil - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - } - ) - end - def to_hash - end - end - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class ScalableMatrixWithTieredPricing < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing, - Orb::Internal::AnyHash - ) - end - - # The cadence to bill for this price on. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::Cadence::OrSymbol - ) - end - attr_accessor :cadence - - # The id of the item the price will be associated with. - sig { returns(String) } - attr_accessor :item_id - - sig { returns(Symbol) } - attr_accessor :model_type - - # The name of the price. - sig { returns(String) } - attr_accessor :name - - sig { returns(T::Hash[Symbol, T.anything]) } - attr_accessor :scalable_matrix_with_tiered_pricing_config - - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - sig { returns(T.nilable(String)) } - attr_accessor :billable_metric_id - - # 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. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :billed_in_advance - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration - ) - ) - end - attr_reader :billing_cycle_configuration - - sig do - params( - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :billing_cycle_configuration - - # The per unit conversion rate of the price currency to the invoicing currency. - sig { returns(T.nilable(Float)) } - attr_accessor :conversion_rate - - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - sig { returns(T.nilable(String)) } - attr_accessor :currency - - # For dimensional price: specifies a price group and dimension values - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration - ) - ) - end - attr_reader :dimensional_price_configuration - - sig do - params( - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration::OrHash - ) - ).void - end - attr_writer :dimensional_price_configuration - - # An alias for the price. - sig { returns(T.nilable(String)) } - attr_accessor :external_price_id - - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - sig { returns(T.nilable(Float)) } - attr_accessor :fixed_price_quantity - - # The property used to group this price on an invoice - sig { returns(T.nilable(String)) } - attr_accessor :invoice_grouping_key - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration - ) - ) - end - attr_reader :invoicing_cycle_configuration - - sig do - params( - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :invoicing_cycle_configuration - - # 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`. - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } - attr_accessor :metadata - - sig do - params( - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::Cadence::OrSymbol, - item_id: String, - name: String, - scalable_matrix_with_tiered_pricing_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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::OrHash - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration::OrHash - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::OrHash - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), - model_type: Symbol - ).returns(T.attached_class) - end - def self.new( - # The cadence to bill for this price on. - cadence:, - # The id of the item the price will be associated with. - item_id:, - # The name of the price. - name:, - scalable_matrix_with_tiered_pricing_config:, - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - billable_metric_id: nil, - # 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. - billed_in_advance: nil, - # For custom cadence: specifies the duration of the billing period in days or - # months. - billing_cycle_configuration: nil, - # The per unit conversion rate of the price currency to the invoicing currency. - conversion_rate: nil, - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - currency: nil, - # For dimensional price: specifies a price group and dimension values - dimensional_price_configuration: nil, - # An alias for the price. - external_price_id: nil, - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - fixed_price_quantity: nil, - # The property used to group this price on an invoice - invoice_grouping_key: nil, - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - invoicing_cycle_configuration: nil, - # 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`. - metadata: nil, - model_type: :scalable_matrix_with_tiered_pricing - ) - end - - sig do - override.returns( - { - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::Cadence::OrSymbol, - item_id: String, - model_type: Symbol, - name: String, - scalable_matrix_with_tiered_pricing_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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) - } - ) - end - def to_hash - end - - # The cadence to bill for this price on. - module Cadence - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::Cadence - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ANNUAL = - T.let( - :annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::Cadence::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::Cadence::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::Cadence::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::Cadence::TaggedSymbol - ) - ONE_TIME = - T.let( - :one_time, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::Cadence::TaggedSymbol - ) - CUSTOM = - T.let( - :custom, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::Cadence::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::Cadence::TaggedSymbol - ] - ) - end - def self.values - end - end - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration, - Orb::Internal::AnyHash - ) - end - - # The list of dimension values matching (in order) the dimensions of the price - # group - sig { returns(T::Array[String]) } - attr_accessor :dimension_values - - # The id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :dimensional_price_group_id - - # The external id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :external_dimensional_price_group_id - - # For dimensional price: specifies a price group and dimension values - sig do - params( - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The list of dimension values matching (in order) the dimensions of the price - # group - dimension_values:, - # The id of the dimensional price group to include this price in - dimensional_price_group_id: nil, - # The external id of the dimensional price group to include this price in - external_dimensional_price_group_id: nil - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - } - ) - end - def to_hash - end - end - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class CumulativeGroupedBulk < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk, - Orb::Internal::AnyHash - ) - end - - # The cadence to bill for this price on. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::Cadence::OrSymbol - ) - end - attr_accessor :cadence - - sig { returns(T::Hash[Symbol, T.anything]) } - attr_accessor :cumulative_grouped_bulk_config - - # The id of the item the price will be associated with. - sig { returns(String) } - attr_accessor :item_id - - sig { returns(Symbol) } - attr_accessor :model_type - - # The name of the price. - sig { returns(String) } - attr_accessor :name - - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - sig { returns(T.nilable(String)) } - attr_accessor :billable_metric_id - - # 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. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :billed_in_advance - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration - ) - ) - end - attr_reader :billing_cycle_configuration - - sig do - params( - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :billing_cycle_configuration - - # The per unit conversion rate of the price currency to the invoicing currency. - sig { returns(T.nilable(Float)) } - attr_accessor :conversion_rate - - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - sig { returns(T.nilable(String)) } - attr_accessor :currency - - # For dimensional price: specifies a price group and dimension values - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration - ) - ) - end - attr_reader :dimensional_price_configuration - - sig do - params( - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration::OrHash - ) - ).void - end - attr_writer :dimensional_price_configuration - - # An alias for the price. - sig { returns(T.nilable(String)) } - attr_accessor :external_price_id - - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - sig { returns(T.nilable(Float)) } - attr_accessor :fixed_price_quantity - - # The property used to group this price on an invoice - sig { returns(T.nilable(String)) } - attr_accessor :invoice_grouping_key - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration - ) - ) - end - attr_reader :invoicing_cycle_configuration - - sig do - params( - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :invoicing_cycle_configuration - - # 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`. - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } - attr_accessor :metadata - - sig do - params( - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::Cadence::OrSymbol, - 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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::OrHash - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration::OrHash - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::OrHash - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), - model_type: Symbol - ).returns(T.attached_class) - end - def self.new( - # The cadence to bill for this price on. - cadence:, - cumulative_grouped_bulk_config:, - # The id of the item the price will be associated with. - item_id:, - # The name of the price. - name:, - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - billable_metric_id: nil, - # 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. - billed_in_advance: nil, - # For custom cadence: specifies the duration of the billing period in days or - # months. - billing_cycle_configuration: nil, - # The per unit conversion rate of the price currency to the invoicing currency. - conversion_rate: nil, - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - currency: nil, - # For dimensional price: specifies a price group and dimension values - dimensional_price_configuration: nil, - # An alias for the price. - external_price_id: nil, - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - fixed_price_quantity: nil, - # The property used to group this price on an invoice - invoice_grouping_key: nil, - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - invoicing_cycle_configuration: nil, - # 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`. - metadata: nil, - model_type: :cumulative_grouped_bulk - ) - end - - sig do - override.returns( - { - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::Cadence::OrSymbol, - 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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) - } - ) - end - def to_hash - end - - # The cadence to bill for this price on. - module Cadence - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::Cadence - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ANNUAL = - T.let( - :annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::Cadence::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::Cadence::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::Cadence::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::Cadence::TaggedSymbol - ) - ONE_TIME = - T.let( - :one_time, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::Cadence::TaggedSymbol - ) - CUSTOM = - T.let( - :custom, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::Cadence::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::Cadence::TaggedSymbol - ] - ) - end - def self.values - end - end - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration, - Orb::Internal::AnyHash - ) - end - - # The list of dimension values matching (in order) the dimensions of the price - # group - sig { returns(T::Array[String]) } - attr_accessor :dimension_values - - # The id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :dimensional_price_group_id - - # The external id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :external_dimensional_price_group_id - - # For dimensional price: specifies a price group and dimension values - sig do - params( - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The list of dimension values matching (in order) the dimensions of the price - # group - dimension_values:, - # The id of the dimensional price group to include this price in - dimensional_price_group_id: nil, - # The external id of the dimensional price group to include this price in - external_dimensional_price_group_id: nil - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - } - ) - end - def to_hash - end - end - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class TieredPackageWithMinimum < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum, - Orb::Internal::AnyHash - ) - end - - # The cadence to bill for this price on. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::Cadence::OrSymbol - ) - end - attr_accessor :cadence - - # The id of the item the price will be associated with. - sig { returns(String) } - attr_accessor :item_id - - sig { returns(Symbol) } - attr_accessor :model_type - - # The name of the price. - sig { returns(String) } - attr_accessor :name - - sig { returns(T::Hash[Symbol, T.anything]) } - attr_accessor :tiered_package_with_minimum_config - - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - sig { returns(T.nilable(String)) } - attr_accessor :billable_metric_id - - # 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. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :billed_in_advance - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration - ) - ) - end - attr_reader :billing_cycle_configuration - - sig do - params( - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :billing_cycle_configuration - - # The per unit conversion rate of the price currency to the invoicing currency. - sig { returns(T.nilable(Float)) } - attr_accessor :conversion_rate - - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - sig { returns(T.nilable(String)) } - attr_accessor :currency - - # For dimensional price: specifies a price group and dimension values - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration - ) - ) - end - attr_reader :dimensional_price_configuration - - sig do - params( - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration::OrHash - ) - ).void - end - attr_writer :dimensional_price_configuration - - # An alias for the price. - sig { returns(T.nilable(String)) } - attr_accessor :external_price_id - - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - sig { returns(T.nilable(Float)) } - attr_accessor :fixed_price_quantity - - # The property used to group this price on an invoice - sig { returns(T.nilable(String)) } - attr_accessor :invoice_grouping_key - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration - ) - ) - end - attr_reader :invoicing_cycle_configuration - - sig do - params( - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :invoicing_cycle_configuration - - # 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`. - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } - attr_accessor :metadata - - sig do - params( - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::Cadence::OrSymbol, - item_id: String, - name: String, - tiered_package_with_minimum_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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::OrHash - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration::OrHash - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::OrHash - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), - model_type: Symbol - ).returns(T.attached_class) - end - def self.new( - # The cadence to bill for this price on. - cadence:, - # The id of the item the price will be associated with. - item_id:, - # The name of the price. - name:, - tiered_package_with_minimum_config:, - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - billable_metric_id: nil, - # 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. - billed_in_advance: nil, - # For custom cadence: specifies the duration of the billing period in days or - # months. - billing_cycle_configuration: nil, - # The per unit conversion rate of the price currency to the invoicing currency. - conversion_rate: nil, - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - currency: nil, - # For dimensional price: specifies a price group and dimension values - dimensional_price_configuration: nil, - # An alias for the price. - external_price_id: nil, - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - fixed_price_quantity: nil, - # The property used to group this price on an invoice - invoice_grouping_key: nil, - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - invoicing_cycle_configuration: nil, - # 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`. - metadata: nil, - model_type: :tiered_package_with_minimum - ) - end - - sig do - override.returns( - { - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::Cadence::OrSymbol, - item_id: String, - model_type: Symbol, - name: String, - tiered_package_with_minimum_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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) - } - ) - end - def to_hash - end - - # The cadence to bill for this price on. - module Cadence - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::Cadence - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ANNUAL = - T.let( - :annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::Cadence::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::Cadence::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::Cadence::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::Cadence::TaggedSymbol - ) - ONE_TIME = - T.let( - :one_time, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::Cadence::TaggedSymbol - ) - CUSTOM = - T.let( - :custom, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::Cadence::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::Cadence::TaggedSymbol - ] - ) - end - def self.values - end - end - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration, - Orb::Internal::AnyHash - ) - end - - # The list of dimension values matching (in order) the dimensions of the price - # group - sig { returns(T::Array[String]) } - attr_accessor :dimension_values - - # The id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :dimensional_price_group_id - - # The external id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :external_dimensional_price_group_id - - # For dimensional price: specifies a price group and dimension values - sig do - params( - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The list of dimension values matching (in order) the dimensions of the price - # group - dimension_values:, - # The id of the dimensional price group to include this price in - dimensional_price_group_id: nil, - # The external id of the dimensional price group to include this price in - external_dimensional_price_group_id: nil - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - } - ) - end - def to_hash - end - end - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class MatrixWithAllocation < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation, - Orb::Internal::AnyHash - ) - end - - # The cadence to bill for this price on. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::Cadence::OrSymbol - ) - end - attr_accessor :cadence - - # The id of the item the price will be associated with. - sig { returns(String) } - attr_accessor :item_id - - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig - ) - end - attr_reader :matrix_with_allocation_config - - sig do - params( - matrix_with_allocation_config: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::OrHash - ).void - end - attr_writer :matrix_with_allocation_config - - sig { returns(Symbol) } - attr_accessor :model_type - - # The name of the price. - sig { returns(String) } - attr_accessor :name - - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - sig { returns(T.nilable(String)) } - attr_accessor :billable_metric_id - - # 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. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :billed_in_advance - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration - ) - ) - end - attr_reader :billing_cycle_configuration - - sig do - params( - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :billing_cycle_configuration - - # The per unit conversion rate of the price currency to the invoicing currency. - sig { returns(T.nilable(Float)) } - attr_accessor :conversion_rate - - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - sig { returns(T.nilable(String)) } - attr_accessor :currency - - # For dimensional price: specifies a price group and dimension values - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration - ) - ) - end - attr_reader :dimensional_price_configuration - - sig do - params( - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration::OrHash - ) - ).void - end - attr_writer :dimensional_price_configuration - - # An alias for the price. - sig { returns(T.nilable(String)) } - attr_accessor :external_price_id - - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - sig { returns(T.nilable(Float)) } - attr_accessor :fixed_price_quantity - - # The property used to group this price on an invoice - sig { returns(T.nilable(String)) } - attr_accessor :invoice_grouping_key - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration - ) - ) - end - attr_reader :invoicing_cycle_configuration - - sig do - params( - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :invoicing_cycle_configuration - - # 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`. - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } - attr_accessor :metadata - - sig do - params( - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::Cadence::OrSymbol, - item_id: String, - matrix_with_allocation_config: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::OrHash, - name: String, - billable_metric_id: T.nilable(String), - billed_in_advance: T.nilable(T::Boolean), - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration::OrHash - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration::OrHash - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::OrHash - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), - model_type: Symbol - ).returns(T.attached_class) - end - def self.new( - # The cadence to bill for this price on. - cadence:, - # The id of the item the price will be associated with. - item_id:, - matrix_with_allocation_config:, - # The name of the price. - name:, - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - billable_metric_id: nil, - # 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. - billed_in_advance: nil, - # For custom cadence: specifies the duration of the billing period in days or - # months. - billing_cycle_configuration: nil, - # The per unit conversion rate of the price currency to the invoicing currency. - conversion_rate: nil, - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - currency: nil, - # For dimensional price: specifies a price group and dimension values - dimensional_price_configuration: nil, - # An alias for the price. - external_price_id: nil, - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - fixed_price_quantity: nil, - # The property used to group this price on an invoice - invoice_grouping_key: nil, - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - invoicing_cycle_configuration: nil, - # 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`. - metadata: nil, - model_type: :matrix_with_allocation - ) - end - - sig do - override.returns( - { - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::Cadence::OrSymbol, - item_id: String, - matrix_with_allocation_config: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig, - model_type: Symbol, - name: String, - billable_metric_id: T.nilable(String), - billed_in_advance: T.nilable(T::Boolean), - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) - } - ) - end - def to_hash - end - - # The cadence to bill for this price on. - module Cadence - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::Cadence - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ANNUAL = - T.let( - :annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::Cadence::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::Cadence::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::Cadence::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::Cadence::TaggedSymbol - ) - ONE_TIME = - T.let( - :one_time, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::Cadence::TaggedSymbol - ) - CUSTOM = - T.let( - :custom, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::Cadence::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::Cadence::TaggedSymbol - ] - ) - end - def self.values - end - end - - class MatrixWithAllocationConfig < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig, - Orb::Internal::AnyHash - ) - end - - # Allocation to be used to calculate the price - sig { returns(Float) } - attr_accessor :allocation - - # Default per unit rate for any usage not bucketed into a specified matrix_value - sig { returns(String) } - attr_accessor :default_unit_amount - - # One or two event property values to evaluate matrix groups by - sig { returns(T::Array[T.nilable(String)]) } - attr_accessor :dimensions - - # Matrix values for specified matrix grouping keys - sig do - returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue - ] - ) - end - attr_accessor :matrix_values - - sig do - params( - allocation: Float, - default_unit_amount: String, - dimensions: T::Array[T.nilable(String)], - matrix_values: - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue::OrHash - ] - ).returns(T.attached_class) - end - def self.new( - # Allocation to be used to calculate the price - allocation:, - # Default per unit rate for any usage not bucketed into a specified matrix_value - default_unit_amount:, - # One or two event property values to evaluate matrix groups by - dimensions:, - # Matrix values for specified matrix grouping keys - matrix_values: - ) - end - - sig do - override.returns( - { - allocation: Float, - default_unit_amount: String, - dimensions: T::Array[T.nilable(String)], - matrix_values: - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue - ] - } - ) - end - def to_hash - end - - class MatrixValue < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue, - Orb::Internal::AnyHash - ) - end - - # One or two matrix keys to filter usage to this Matrix value by. For example, - # ["region", "tier"] could be used to filter cloud usage by a cloud region and an - # instance tier. - sig { returns(T::Array[T.nilable(String)]) } - attr_accessor :dimension_values - - # Unit price for the specified dimension_values - sig { returns(String) } - attr_accessor :unit_amount - - sig do - params( - dimension_values: T::Array[T.nilable(String)], - unit_amount: String - ).returns(T.attached_class) - end - def self.new( - # One or two matrix keys to filter usage to this Matrix value by. For example, - # ["region", "tier"] could be used to filter cloud usage by a cloud region and an - # instance tier. - dimension_values:, - # Unit price for the specified dimension_values - unit_amount: - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[T.nilable(String)], - unit_amount: String - } - ) - end - def to_hash - end - end - end - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration, - Orb::Internal::AnyHash - ) - end - - # The list of dimension values matching (in order) the dimensions of the price - # group - sig { returns(T::Array[String]) } - attr_accessor :dimension_values - - # The id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :dimensional_price_group_id - - # The external id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :external_dimensional_price_group_id - - # For dimensional price: specifies a price group and dimension values - sig do - params( - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The list of dimension values matching (in order) the dimensions of the price - # group - dimension_values:, - # The id of the dimensional price group to include this price in - dimensional_price_group_id: nil, - # The external id of the dimensional price group to include this price in - external_dimensional_price_group_id: nil - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - } - ) - end - def to_hash - end - end - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class GroupedTiered < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered, - Orb::Internal::AnyHash - ) - end - - # The cadence to bill for this price on. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::Cadence::OrSymbol - ) - end - attr_accessor :cadence - - sig { returns(T::Hash[Symbol, T.anything]) } - attr_accessor :grouped_tiered_config - - # The id of the item the price will be associated with. - sig { returns(String) } - attr_accessor :item_id - - sig { returns(Symbol) } - attr_accessor :model_type - - # The name of the price. - sig { returns(String) } - attr_accessor :name - - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - sig { returns(T.nilable(String)) } - attr_accessor :billable_metric_id - - # 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. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :billed_in_advance - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration - ) - ) - end - attr_reader :billing_cycle_configuration - - sig do - params( - billing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :billing_cycle_configuration - - # The per unit conversion rate of the price currency to the invoicing currency. - sig { returns(T.nilable(Float)) } - attr_accessor :conversion_rate - - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - sig { returns(T.nilable(String)) } - attr_accessor :currency - - # For dimensional price: specifies a price group and dimension values - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::DimensionalPriceConfiguration - ) - ) - end - attr_reader :dimensional_price_configuration - - sig do - params( - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::DimensionalPriceConfiguration::OrHash - ) - ).void - end - attr_writer :dimensional_price_configuration - - # An alias for the price. - sig { returns(T.nilable(String)) } - attr_accessor :external_price_id - - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - sig { returns(T.nilable(Float)) } - attr_accessor :fixed_price_quantity - - # The property used to group this price on an invoice - sig { returns(T.nilable(String)) } - attr_accessor :invoice_grouping_key - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - returns( - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration - ) - ) - end - attr_reader :invoicing_cycle_configuration - - sig do - params( - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :invoicing_cycle_configuration - - # 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`. - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } - attr_accessor :metadata - - sig do - params( - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::Cadence::OrSymbol, - grouped_tiered_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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration::OrHash - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::DimensionalPriceConfiguration::OrHash - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration::OrHash - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), - model_type: Symbol - ).returns(T.attached_class) - end - def self.new( - # The cadence to bill for this price on. - cadence:, - grouped_tiered_config:, - # The id of the item the price will be associated with. - item_id:, - # The name of the price. - name:, - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - billable_metric_id: nil, - # 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. - billed_in_advance: nil, - # For custom cadence: specifies the duration of the billing period in days or - # months. - billing_cycle_configuration: nil, - # The per unit conversion rate of the price currency to the invoicing currency. - conversion_rate: nil, - # An ISO 4217 currency string, or custom pricing unit identifier, in which this - # price is billed. - currency: nil, - # For dimensional price: specifies a price group and dimension values - dimensional_price_configuration: nil, - # An alias for the price. - external_price_id: nil, - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - fixed_price_quantity: nil, - # The property used to group this price on an invoice - invoice_grouping_key: nil, - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - invoicing_cycle_configuration: nil, - # 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`. - metadata: nil, - model_type: :grouped_tiered - ) - end - - sig do - override.returns( - { - cadence: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::Cadence::OrSymbol, - grouped_tiered_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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration - ), - conversion_rate: T.nilable(Float), - currency: T.nilable(String), - dimensional_price_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::DimensionalPriceConfiguration - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) - } - ) - end - def to_hash - end - - # The cadence to bill for this price on. - module Cadence - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::Cadence - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ANNUAL = - T.let( - :annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::Cadence::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::Cadence::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::Cadence::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::Cadence::TaggedSymbol - ) - ONE_TIME = - T.let( - :one_time, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::Cadence::TaggedSymbol - ) - CUSTOM = - T.let( - :custom, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::Cadence::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::Cadence::TaggedSymbol - ] - ) - end - def self.values - end - end - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::DimensionalPriceConfiguration, - Orb::Internal::AnyHash - ) - end - - # The list of dimension values matching (in order) the dimensions of the price - # group - sig { returns(T::Array[String]) } - attr_accessor :dimension_values - - # The id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :dimensional_price_group_id - - # The external id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :external_dimensional_price_group_id - - # For dimensional price: specifies a price group and dimension values - sig do - params( - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The list of dimension values matching (in order) the dimensions of the price - # group - dimension_values:, - # The id of the dimensional price group to include this price in - dimensional_price_group_id: nil, - # The external id of the dimensional price group to include this price in - external_dimensional_price_group_id: nil - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - } - ) - end - def to_hash - end - end - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - params( - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - sig do - override.returns( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Variants - ] - ) - end - def self.variants - end - end - end - end - end - end - end -end diff --git a/rbi/orb/models/plans/external_plan_id/version_create_response.rbi b/rbi/orb/models/plans/external_plan_id/version_create_response.rbi deleted file mode 100644 index 0a45c8f3..00000000 --- a/rbi/orb/models/plans/external_plan_id/version_create_response.rbi +++ /dev/null @@ -1,1562 +0,0 @@ -# typed: strong - -module Orb - module Models - module Plans - module ExternalPlanID - class VersionCreateResponse < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse, - Orb::Internal::AnyHash - ) - end - - # Adjustments for this plan. If the plan has phases, this includes adjustments - # across all phases of the plan. - sig do - returns( - T::Array[ - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Variants - ] - ) - end - attr_accessor :adjustments - - sig { returns(Time) } - attr_accessor :created_at - - sig do - returns( - T.nilable( - T::Array[ - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::PlanPhase - ] - ) - ) - end - attr_accessor :plan_phases - - # Prices for this plan. If the plan has phases, this includes prices across all - # phases of the plan. - sig { returns(T::Array[Orb::Price::Variants]) } - attr_accessor :prices - - sig { returns(Integer) } - attr_accessor :version - - # The PlanVersion resource represents the prices and adjustments present on a - # specific version of a plan. - sig do - params( - adjustments: - T::Array[ - T.any( - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::UsageDiscount::OrHash, - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::AmountDiscount::OrHash, - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::PercentageDiscount::OrHash, - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Minimum::OrHash, - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Maximum::OrHash - ) - ], - created_at: Time, - plan_phases: - T.nilable( - T::Array[ - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::PlanPhase::OrHash - ] - ), - prices: - T::Array[ - T.any( - Orb::Price::Unit::OrHash, - Orb::Price::Package::OrHash, - Orb::Price::Matrix::OrHash, - Orb::Price::Tiered::OrHash, - Orb::Price::TieredBps::OrHash, - Orb::Price::Bps::OrHash, - Orb::Price::BulkBps::OrHash, - Orb::Price::Bulk::OrHash, - Orb::Price::ThresholdTotalAmount::OrHash, - Orb::Price::TieredPackage::OrHash, - Orb::Price::GroupedTiered::OrHash, - Orb::Price::TieredWithMinimum::OrHash, - Orb::Price::TieredPackageWithMinimum::OrHash, - Orb::Price::PackageWithAllocation::OrHash, - Orb::Price::UnitWithPercent::OrHash, - Orb::Price::MatrixWithAllocation::OrHash, - Orb::Price::TieredWithProration::OrHash, - Orb::Price::UnitWithProration::OrHash, - Orb::Price::GroupedAllocation::OrHash, - Orb::Price::GroupedWithProratedMinimum::OrHash, - Orb::Price::GroupedWithMeteredMinimum::OrHash, - Orb::Price::MatrixWithDisplayName::OrHash, - Orb::Price::BulkWithProration::OrHash, - Orb::Price::GroupedTieredPackage::OrHash, - Orb::Price::MaxGroupTieredPackage::OrHash, - Orb::Price::ScalableMatrixWithUnitPricing::OrHash, - Orb::Price::ScalableMatrixWithTieredPricing::OrHash, - Orb::Price::CumulativeGroupedBulk::OrHash - ) - ], - version: Integer - ).returns(T.attached_class) - end - def self.new( - # Adjustments for this plan. If the plan has phases, this includes adjustments - # across all phases of the plan. - adjustments:, - created_at:, - plan_phases:, - # Prices for this plan. If the plan has phases, this includes prices across all - # phases of the plan. - prices:, - version: - ) - end - - sig do - override.returns( - { - adjustments: - T::Array[ - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Variants - ], - created_at: Time, - plan_phases: - T.nilable( - T::Array[ - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::PlanPhase - ] - ), - prices: T::Array[Orb::Price::Variants], - version: Integer - } - ) - end - def to_hash - end - - module Adjustment - extend Orb::Internal::Type::Union - - Variants = - T.type_alias do - T.any( - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::UsageDiscount, - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::AmountDiscount, - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::PercentageDiscount, - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Minimum, - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Maximum - ) - end - - class UsageDiscount < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::UsageDiscount, - Orb::Internal::AnyHash - ) - end - - sig { returns(String) } - attr_accessor :id - - sig { returns(Symbol) } - attr_accessor :adjustment_type - - # The price IDs that this adjustment applies to. - sig { returns(T::Array[String]) } - attr_accessor :applies_to_price_ids - - # The filters that determine which prices to apply this adjustment to. - sig do - returns( - T::Array[ - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::UsageDiscount::Filter - ] - ) - end - attr_accessor :filters - - # True for adjustments that apply to an entire invocice, false for adjustments - # that apply to only one price. - sig { returns(T::Boolean) } - attr_accessor :is_invoice_level - - # The plan phase in which this adjustment is active. - sig { returns(T.nilable(Integer)) } - attr_accessor :plan_phase_order - - # The reason for the adjustment. - sig { returns(T.nilable(String)) } - attr_accessor :reason - - # The number of usage units by which to discount the price this adjustment applies - # to in a given billing period. - sig { returns(Float) } - attr_accessor :usage_discount - - sig do - params( - id: String, - applies_to_price_ids: T::Array[String], - filters: - T::Array[ - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::UsageDiscount::Filter::OrHash - ], - is_invoice_level: T::Boolean, - plan_phase_order: T.nilable(Integer), - reason: T.nilable(String), - usage_discount: Float, - adjustment_type: Symbol - ).returns(T.attached_class) - end - def self.new( - id:, - # The price IDs that this adjustment applies to. - applies_to_price_ids:, - # The filters that determine which prices to apply this adjustment to. - filters:, - # True for adjustments that apply to an entire invocice, false for adjustments - # that apply to only one price. - is_invoice_level:, - # The plan phase in which this adjustment is active. - plan_phase_order:, - # The reason for the adjustment. - reason:, - # The number of usage units by which to discount the price this adjustment applies - # to in a given billing period. - usage_discount:, - adjustment_type: :usage_discount - ) - end - - sig do - override.returns( - { - id: String, - adjustment_type: Symbol, - applies_to_price_ids: T::Array[String], - filters: - T::Array[ - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::UsageDiscount::Filter - ], - is_invoice_level: T::Boolean, - plan_phase_order: T.nilable(Integer), - reason: T.nilable(String), - usage_discount: Float - } - ) - end - def to_hash - end - - class Filter < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::UsageDiscount::Filter, - Orb::Internal::AnyHash - ) - end - - # The property of the price to filter on. - sig do - returns( - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol - ) - end - attr_accessor :field - - # Should prices that match the filter be included or excluded. - sig do - returns( - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::UsageDiscount::Filter::Operator::TaggedSymbol - ) - end - attr_accessor :operator - - # The IDs or values that match this filter. - sig { returns(T::Array[String]) } - attr_accessor :values - - sig do - params( - field: - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::UsageDiscount::Filter::Field::OrSymbol, - operator: - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::UsageDiscount::Filter::Operator::OrSymbol, - values: T::Array[String] - ).returns(T.attached_class) - end - def self.new( - # The property of the price to filter on. - field:, - # Should prices that match the filter be included or excluded. - operator:, - # The IDs or values that match this filter. - values: - ) - end - - sig do - override.returns( - { - field: - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol, - operator: - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::UsageDiscount::Filter::Operator::TaggedSymbol, - values: T::Array[String] - } - ) - end - def to_hash - end - - # The property of the price to filter on. - module Field - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::UsageDiscount::Filter::Field - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - PRICE_ID = - T.let( - :price_id, - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol - ) - ITEM_ID = - T.let( - :item_id, - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol - ) - PRICE_TYPE = - T.let( - :price_type, - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol - ) - CURRENCY = - T.let( - :currency, - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol - ) - PRICING_UNIT_ID = - T.let( - :pricing_unit_id, - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol - ] - ) - end - def self.values - end - end - - # Should prices that match the filter be included or excluded. - module Operator - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::UsageDiscount::Filter::Operator - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - INCLUDES = - T.let( - :includes, - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::UsageDiscount::Filter::Operator::TaggedSymbol - ) - EXCLUDES = - T.let( - :excludes, - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::UsageDiscount::Filter::Operator::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::UsageDiscount::Filter::Operator::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class AmountDiscount < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::AmountDiscount, - Orb::Internal::AnyHash - ) - end - - sig { returns(String) } - attr_accessor :id - - sig { returns(Symbol) } - attr_accessor :adjustment_type - - # The amount by which to discount the prices this adjustment applies to in a given - # billing period. - sig { returns(String) } - attr_accessor :amount_discount - - # The price IDs that this adjustment applies to. - sig { returns(T::Array[String]) } - attr_accessor :applies_to_price_ids - - # The filters that determine which prices to apply this adjustment to. - sig do - returns( - T::Array[ - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::AmountDiscount::Filter - ] - ) - end - attr_accessor :filters - - # True for adjustments that apply to an entire invocice, false for adjustments - # that apply to only one price. - sig { returns(T::Boolean) } - attr_accessor :is_invoice_level - - # The plan phase in which this adjustment is active. - sig { returns(T.nilable(Integer)) } - attr_accessor :plan_phase_order - - # The reason for the adjustment. - sig { returns(T.nilable(String)) } - attr_accessor :reason - - sig do - params( - id: String, - amount_discount: String, - applies_to_price_ids: T::Array[String], - filters: - T::Array[ - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::AmountDiscount::Filter::OrHash - ], - is_invoice_level: T::Boolean, - plan_phase_order: T.nilable(Integer), - reason: T.nilable(String), - adjustment_type: Symbol - ).returns(T.attached_class) - end - def self.new( - id:, - # The amount by which to discount the prices this adjustment applies to in a given - # billing period. - amount_discount:, - # The price IDs that this adjustment applies to. - applies_to_price_ids:, - # The filters that determine which prices to apply this adjustment to. - filters:, - # True for adjustments that apply to an entire invocice, false for adjustments - # that apply to only one price. - is_invoice_level:, - # The plan phase in which this adjustment is active. - plan_phase_order:, - # The reason for the adjustment. - reason:, - adjustment_type: :amount_discount - ) - end - - sig do - override.returns( - { - id: String, - adjustment_type: Symbol, - amount_discount: String, - applies_to_price_ids: T::Array[String], - filters: - T::Array[ - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::AmountDiscount::Filter - ], - is_invoice_level: T::Boolean, - plan_phase_order: T.nilable(Integer), - reason: T.nilable(String) - } - ) - end - def to_hash - end - - class Filter < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::AmountDiscount::Filter, - Orb::Internal::AnyHash - ) - end - - # The property of the price to filter on. - sig do - returns( - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol - ) - end - attr_accessor :field - - # Should prices that match the filter be included or excluded. - sig do - returns( - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::AmountDiscount::Filter::Operator::TaggedSymbol - ) - end - attr_accessor :operator - - # The IDs or values that match this filter. - sig { returns(T::Array[String]) } - attr_accessor :values - - sig do - params( - field: - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::AmountDiscount::Filter::Field::OrSymbol, - operator: - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::AmountDiscount::Filter::Operator::OrSymbol, - values: T::Array[String] - ).returns(T.attached_class) - end - def self.new( - # The property of the price to filter on. - field:, - # Should prices that match the filter be included or excluded. - operator:, - # The IDs or values that match this filter. - values: - ) - end - - sig do - override.returns( - { - field: - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol, - operator: - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::AmountDiscount::Filter::Operator::TaggedSymbol, - values: T::Array[String] - } - ) - end - def to_hash - end - - # The property of the price to filter on. - module Field - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::AmountDiscount::Filter::Field - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - PRICE_ID = - T.let( - :price_id, - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol - ) - ITEM_ID = - T.let( - :item_id, - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol - ) - PRICE_TYPE = - T.let( - :price_type, - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol - ) - CURRENCY = - T.let( - :currency, - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol - ) - PRICING_UNIT_ID = - T.let( - :pricing_unit_id, - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol - ] - ) - end - def self.values - end - end - - # Should prices that match the filter be included or excluded. - module Operator - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::AmountDiscount::Filter::Operator - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - INCLUDES = - T.let( - :includes, - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::AmountDiscount::Filter::Operator::TaggedSymbol - ) - EXCLUDES = - T.let( - :excludes, - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::AmountDiscount::Filter::Operator::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::AmountDiscount::Filter::Operator::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class PercentageDiscount < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::PercentageDiscount, - Orb::Internal::AnyHash - ) - end - - sig { returns(String) } - attr_accessor :id - - sig { returns(Symbol) } - attr_accessor :adjustment_type - - # The price IDs that this adjustment applies to. - sig { returns(T::Array[String]) } - attr_accessor :applies_to_price_ids - - # The filters that determine which prices to apply this adjustment to. - sig do - returns( - T::Array[ - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::PercentageDiscount::Filter - ] - ) - end - attr_accessor :filters - - # True for adjustments that apply to an entire invocice, false for adjustments - # that apply to only one price. - sig { returns(T::Boolean) } - attr_accessor :is_invoice_level - - # The percentage (as a value between 0 and 1) by which to discount the price - # intervals this adjustment applies to in a given billing period. - sig { returns(Float) } - attr_accessor :percentage_discount - - # The plan phase in which this adjustment is active. - sig { returns(T.nilable(Integer)) } - attr_accessor :plan_phase_order - - # The reason for the adjustment. - sig { returns(T.nilable(String)) } - attr_accessor :reason - - sig do - params( - id: String, - applies_to_price_ids: T::Array[String], - filters: - T::Array[ - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::PercentageDiscount::Filter::OrHash - ], - is_invoice_level: T::Boolean, - percentage_discount: Float, - plan_phase_order: T.nilable(Integer), - reason: T.nilable(String), - adjustment_type: Symbol - ).returns(T.attached_class) - end - def self.new( - id:, - # The price IDs that this adjustment applies to. - applies_to_price_ids:, - # The filters that determine which prices to apply this adjustment to. - filters:, - # True for adjustments that apply to an entire invocice, false for adjustments - # that apply to only one price. - is_invoice_level:, - # The percentage (as a value between 0 and 1) by which to discount the price - # intervals this adjustment applies to in a given billing period. - percentage_discount:, - # The plan phase in which this adjustment is active. - plan_phase_order:, - # The reason for the adjustment. - reason:, - adjustment_type: :percentage_discount - ) - end - - sig do - override.returns( - { - id: String, - adjustment_type: Symbol, - applies_to_price_ids: T::Array[String], - filters: - T::Array[ - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::PercentageDiscount::Filter - ], - is_invoice_level: T::Boolean, - percentage_discount: Float, - plan_phase_order: T.nilable(Integer), - reason: T.nilable(String) - } - ) - end - def to_hash - end - - class Filter < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::PercentageDiscount::Filter, - Orb::Internal::AnyHash - ) - end - - # The property of the price to filter on. - sig do - returns( - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol - ) - end - attr_accessor :field - - # Should prices that match the filter be included or excluded. - sig do - returns( - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::PercentageDiscount::Filter::Operator::TaggedSymbol - ) - end - attr_accessor :operator - - # The IDs or values that match this filter. - sig { returns(T::Array[String]) } - attr_accessor :values - - sig do - params( - field: - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::PercentageDiscount::Filter::Field::OrSymbol, - operator: - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::PercentageDiscount::Filter::Operator::OrSymbol, - values: T::Array[String] - ).returns(T.attached_class) - end - def self.new( - # The property of the price to filter on. - field:, - # Should prices that match the filter be included or excluded. - operator:, - # The IDs or values that match this filter. - values: - ) - end - - sig do - override.returns( - { - field: - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol, - operator: - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::PercentageDiscount::Filter::Operator::TaggedSymbol, - values: T::Array[String] - } - ) - end - def to_hash - end - - # The property of the price to filter on. - module Field - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::PercentageDiscount::Filter::Field - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - PRICE_ID = - T.let( - :price_id, - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol - ) - ITEM_ID = - T.let( - :item_id, - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol - ) - PRICE_TYPE = - T.let( - :price_type, - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol - ) - CURRENCY = - T.let( - :currency, - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol - ) - PRICING_UNIT_ID = - T.let( - :pricing_unit_id, - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol - ] - ) - end - def self.values - end - end - - # Should prices that match the filter be included or excluded. - module Operator - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::PercentageDiscount::Filter::Operator - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - INCLUDES = - T.let( - :includes, - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::PercentageDiscount::Filter::Operator::TaggedSymbol - ) - EXCLUDES = - T.let( - :excludes, - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::PercentageDiscount::Filter::Operator::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::PercentageDiscount::Filter::Operator::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class Minimum < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Minimum, - Orb::Internal::AnyHash - ) - end - - sig { returns(String) } - attr_accessor :id - - sig { returns(Symbol) } - attr_accessor :adjustment_type - - # The price IDs that this adjustment applies to. - sig { returns(T::Array[String]) } - attr_accessor :applies_to_price_ids - - # The filters that determine which prices to apply this adjustment to. - sig do - returns( - T::Array[ - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Minimum::Filter - ] - ) - end - attr_accessor :filters - - # True for adjustments that apply to an entire invocice, false for adjustments - # that apply to only one price. - sig { returns(T::Boolean) } - attr_accessor :is_invoice_level - - # The item ID that revenue from this minimum will be attributed to. - sig { returns(String) } - attr_accessor :item_id - - # The minimum amount to charge in a given billing period for the prices this - # adjustment applies to. - sig { returns(String) } - attr_accessor :minimum_amount - - # The plan phase in which this adjustment is active. - sig { returns(T.nilable(Integer)) } - attr_accessor :plan_phase_order - - # The reason for the adjustment. - sig { returns(T.nilable(String)) } - attr_accessor :reason - - sig do - params( - id: String, - applies_to_price_ids: T::Array[String], - filters: - T::Array[ - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Minimum::Filter::OrHash - ], - is_invoice_level: T::Boolean, - item_id: String, - minimum_amount: String, - plan_phase_order: T.nilable(Integer), - reason: T.nilable(String), - adjustment_type: Symbol - ).returns(T.attached_class) - end - def self.new( - id:, - # The price IDs that this adjustment applies to. - applies_to_price_ids:, - # The filters that determine which prices to apply this adjustment to. - filters:, - # True for adjustments that apply to an entire invocice, false for adjustments - # that apply to only one price. - is_invoice_level:, - # The item ID that revenue from this minimum will be attributed to. - item_id:, - # The minimum amount to charge in a given billing period for the prices this - # adjustment applies to. - minimum_amount:, - # The plan phase in which this adjustment is active. - plan_phase_order:, - # The reason for the adjustment. - reason:, - adjustment_type: :minimum - ) - end - - sig do - override.returns( - { - id: String, - adjustment_type: Symbol, - applies_to_price_ids: T::Array[String], - filters: - T::Array[ - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Minimum::Filter - ], - is_invoice_level: T::Boolean, - item_id: String, - minimum_amount: String, - plan_phase_order: T.nilable(Integer), - reason: T.nilable(String) - } - ) - end - def to_hash - end - - class Filter < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Minimum::Filter, - Orb::Internal::AnyHash - ) - end - - # The property of the price to filter on. - sig do - returns( - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Minimum::Filter::Field::TaggedSymbol - ) - end - attr_accessor :field - - # Should prices that match the filter be included or excluded. - sig do - returns( - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Minimum::Filter::Operator::TaggedSymbol - ) - end - attr_accessor :operator - - # The IDs or values that match this filter. - sig { returns(T::Array[String]) } - attr_accessor :values - - sig do - params( - field: - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Minimum::Filter::Field::OrSymbol, - operator: - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Minimum::Filter::Operator::OrSymbol, - values: T::Array[String] - ).returns(T.attached_class) - end - def self.new( - # The property of the price to filter on. - field:, - # Should prices that match the filter be included or excluded. - operator:, - # The IDs or values that match this filter. - values: - ) - end - - sig do - override.returns( - { - field: - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Minimum::Filter::Field::TaggedSymbol, - operator: - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Minimum::Filter::Operator::TaggedSymbol, - values: T::Array[String] - } - ) - end - def to_hash - end - - # The property of the price to filter on. - module Field - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Minimum::Filter::Field - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - PRICE_ID = - T.let( - :price_id, - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Minimum::Filter::Field::TaggedSymbol - ) - ITEM_ID = - T.let( - :item_id, - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Minimum::Filter::Field::TaggedSymbol - ) - PRICE_TYPE = - T.let( - :price_type, - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Minimum::Filter::Field::TaggedSymbol - ) - CURRENCY = - T.let( - :currency, - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Minimum::Filter::Field::TaggedSymbol - ) - PRICING_UNIT_ID = - T.let( - :pricing_unit_id, - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Minimum::Filter::Field::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Minimum::Filter::Field::TaggedSymbol - ] - ) - end - def self.values - end - end - - # Should prices that match the filter be included or excluded. - module Operator - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Minimum::Filter::Operator - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - INCLUDES = - T.let( - :includes, - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Minimum::Filter::Operator::TaggedSymbol - ) - EXCLUDES = - T.let( - :excludes, - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Minimum::Filter::Operator::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Minimum::Filter::Operator::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class Maximum < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Maximum, - Orb::Internal::AnyHash - ) - end - - sig { returns(String) } - attr_accessor :id - - sig { returns(Symbol) } - attr_accessor :adjustment_type - - # The price IDs that this adjustment applies to. - sig { returns(T::Array[String]) } - attr_accessor :applies_to_price_ids - - # The filters that determine which prices to apply this adjustment to. - sig do - returns( - T::Array[ - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Maximum::Filter - ] - ) - end - attr_accessor :filters - - # True for adjustments that apply to an entire invocice, false for adjustments - # that apply to only one price. - sig { returns(T::Boolean) } - attr_accessor :is_invoice_level - - # The maximum amount to charge in a given billing period for the prices this - # adjustment applies to. - sig { returns(String) } - attr_accessor :maximum_amount - - # The plan phase in which this adjustment is active. - sig { returns(T.nilable(Integer)) } - attr_accessor :plan_phase_order - - # The reason for the adjustment. - sig { returns(T.nilable(String)) } - attr_accessor :reason - - sig do - params( - id: String, - applies_to_price_ids: T::Array[String], - filters: - T::Array[ - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Maximum::Filter::OrHash - ], - is_invoice_level: T::Boolean, - maximum_amount: String, - plan_phase_order: T.nilable(Integer), - reason: T.nilable(String), - adjustment_type: Symbol - ).returns(T.attached_class) - end - def self.new( - id:, - # The price IDs that this adjustment applies to. - applies_to_price_ids:, - # The filters that determine which prices to apply this adjustment to. - filters:, - # True for adjustments that apply to an entire invocice, false for adjustments - # that apply to only one price. - is_invoice_level:, - # The maximum amount to charge in a given billing period for the prices this - # adjustment applies to. - maximum_amount:, - # The plan phase in which this adjustment is active. - plan_phase_order:, - # The reason for the adjustment. - reason:, - adjustment_type: :maximum - ) - end - - sig do - override.returns( - { - id: String, - adjustment_type: Symbol, - applies_to_price_ids: T::Array[String], - filters: - T::Array[ - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Maximum::Filter - ], - is_invoice_level: T::Boolean, - maximum_amount: String, - plan_phase_order: T.nilable(Integer), - reason: T.nilable(String) - } - ) - end - def to_hash - end - - class Filter < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Maximum::Filter, - Orb::Internal::AnyHash - ) - end - - # The property of the price to filter on. - sig do - returns( - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Maximum::Filter::Field::TaggedSymbol - ) - end - attr_accessor :field - - # Should prices that match the filter be included or excluded. - sig do - returns( - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Maximum::Filter::Operator::TaggedSymbol - ) - end - attr_accessor :operator - - # The IDs or values that match this filter. - sig { returns(T::Array[String]) } - attr_accessor :values - - sig do - params( - field: - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Maximum::Filter::Field::OrSymbol, - operator: - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Maximum::Filter::Operator::OrSymbol, - values: T::Array[String] - ).returns(T.attached_class) - end - def self.new( - # The property of the price to filter on. - field:, - # Should prices that match the filter be included or excluded. - operator:, - # The IDs or values that match this filter. - values: - ) - end - - sig do - override.returns( - { - field: - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Maximum::Filter::Field::TaggedSymbol, - operator: - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Maximum::Filter::Operator::TaggedSymbol, - values: T::Array[String] - } - ) - end - def to_hash - end - - # The property of the price to filter on. - module Field - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Maximum::Filter::Field - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - PRICE_ID = - T.let( - :price_id, - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Maximum::Filter::Field::TaggedSymbol - ) - ITEM_ID = - T.let( - :item_id, - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Maximum::Filter::Field::TaggedSymbol - ) - PRICE_TYPE = - T.let( - :price_type, - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Maximum::Filter::Field::TaggedSymbol - ) - CURRENCY = - T.let( - :currency, - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Maximum::Filter::Field::TaggedSymbol - ) - PRICING_UNIT_ID = - T.let( - :pricing_unit_id, - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Maximum::Filter::Field::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Maximum::Filter::Field::TaggedSymbol - ] - ) - end - def self.values - end - end - - # Should prices that match the filter be included or excluded. - module Operator - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Maximum::Filter::Operator - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - INCLUDES = - T.let( - :includes, - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Maximum::Filter::Operator::TaggedSymbol - ) - EXCLUDES = - T.let( - :excludes, - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Maximum::Filter::Operator::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Maximum::Filter::Operator::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - sig do - override.returns( - T::Array[ - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Variants - ] - ) - end - def self.variants - end - end - - class PlanPhase < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::PlanPhase, - Orb::Internal::AnyHash - ) - end - - sig { returns(String) } - attr_accessor :id - - sig { returns(T.nilable(String)) } - attr_accessor :description - - # How many terms of length `duration_unit` this phase is active for. If null, this - # phase is evergreen and active indefinitely - sig { returns(T.nilable(Integer)) } - attr_accessor :duration - - sig do - returns( - T.nilable( - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::PlanPhase::DurationUnit::TaggedSymbol - ) - ) - end - attr_accessor :duration_unit - - sig { returns(String) } - attr_accessor :name - - # Determines the ordering of the phase in a plan's lifecycle. 1 = first phase. - sig { returns(Integer) } - attr_accessor :order - - sig do - params( - id: String, - description: T.nilable(String), - duration: T.nilable(Integer), - duration_unit: - T.nilable( - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::PlanPhase::DurationUnit::OrSymbol - ), - name: String, - order: Integer - ).returns(T.attached_class) - end - def self.new( - id:, - description:, - # How many terms of length `duration_unit` this phase is active for. If null, this - # phase is evergreen and active indefinitely - duration:, - duration_unit:, - name:, - # Determines the ordering of the phase in a plan's lifecycle. 1 = first phase. - order: - ) - end - - sig do - override.returns( - { - id: String, - description: T.nilable(String), - duration: T.nilable(Integer), - duration_unit: - T.nilable( - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::PlanPhase::DurationUnit::TaggedSymbol - ), - name: String, - order: Integer - } - ) - end - def to_hash - end - - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::PlanPhase::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAILY = - T.let( - :daily, - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::PlanPhase::DurationUnit::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::PlanPhase::DurationUnit::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::PlanPhase::DurationUnit::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::PlanPhase::DurationUnit::TaggedSymbol - ) - ANNUAL = - T.let( - :annual, - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::PlanPhase::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::PlanPhase::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - end - end - end -end diff --git a/rbi/orb/models/plans/external_plan_id/version_retrieve_params.rbi b/rbi/orb/models/plans/external_plan_id/version_retrieve_params.rbi deleted file mode 100644 index aeb2d59f..00000000 --- a/rbi/orb/models/plans/external_plan_id/version_retrieve_params.rbi +++ /dev/null @@ -1,42 +0,0 @@ -# typed: strong - -module Orb - module Models - module Plans - module ExternalPlanID - class VersionRetrieveParams < Orb::Internal::Type::BaseModel - extend Orb::Internal::Type::RequestParameters::Converter - include Orb::Internal::Type::RequestParameters - - OrHash = - T.type_alias do - T.any( - Orb::Plans::ExternalPlanID::VersionRetrieveParams, - Orb::Internal::AnyHash - ) - end - - sig { returns(String) } - attr_accessor :external_plan_id - - sig do - params( - external_plan_id: String, - request_options: Orb::RequestOptions::OrHash - ).returns(T.attached_class) - end - def self.new(external_plan_id:, request_options: {}) - end - - sig do - override.returns( - { external_plan_id: String, request_options: Orb::RequestOptions } - ) - end - def to_hash - end - end - end - end - end -end diff --git a/rbi/orb/models/plans/external_plan_id/version_retrieve_response.rbi b/rbi/orb/models/plans/external_plan_id/version_retrieve_response.rbi deleted file mode 100644 index f54f4ac3..00000000 --- a/rbi/orb/models/plans/external_plan_id/version_retrieve_response.rbi +++ /dev/null @@ -1,1562 +0,0 @@ -# typed: strong - -module Orb - module Models - module Plans - module ExternalPlanID - class VersionRetrieveResponse < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse, - Orb::Internal::AnyHash - ) - end - - # Adjustments for this plan. If the plan has phases, this includes adjustments - # across all phases of the plan. - sig do - returns( - T::Array[ - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Variants - ] - ) - end - attr_accessor :adjustments - - sig { returns(Time) } - attr_accessor :created_at - - sig do - returns( - T.nilable( - T::Array[ - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::PlanPhase - ] - ) - ) - end - attr_accessor :plan_phases - - # Prices for this plan. If the plan has phases, this includes prices across all - # phases of the plan. - sig { returns(T::Array[Orb::Price::Variants]) } - attr_accessor :prices - - sig { returns(Integer) } - attr_accessor :version - - # The PlanVersion resource represents the prices and adjustments present on a - # specific version of a plan. - sig do - params( - adjustments: - T::Array[ - T.any( - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::UsageDiscount::OrHash, - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::AmountDiscount::OrHash, - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::PercentageDiscount::OrHash, - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Minimum::OrHash, - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Maximum::OrHash - ) - ], - created_at: Time, - plan_phases: - T.nilable( - T::Array[ - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::PlanPhase::OrHash - ] - ), - prices: - T::Array[ - T.any( - Orb::Price::Unit::OrHash, - Orb::Price::Package::OrHash, - Orb::Price::Matrix::OrHash, - Orb::Price::Tiered::OrHash, - Orb::Price::TieredBps::OrHash, - Orb::Price::Bps::OrHash, - Orb::Price::BulkBps::OrHash, - Orb::Price::Bulk::OrHash, - Orb::Price::ThresholdTotalAmount::OrHash, - Orb::Price::TieredPackage::OrHash, - Orb::Price::GroupedTiered::OrHash, - Orb::Price::TieredWithMinimum::OrHash, - Orb::Price::TieredPackageWithMinimum::OrHash, - Orb::Price::PackageWithAllocation::OrHash, - Orb::Price::UnitWithPercent::OrHash, - Orb::Price::MatrixWithAllocation::OrHash, - Orb::Price::TieredWithProration::OrHash, - Orb::Price::UnitWithProration::OrHash, - Orb::Price::GroupedAllocation::OrHash, - Orb::Price::GroupedWithProratedMinimum::OrHash, - Orb::Price::GroupedWithMeteredMinimum::OrHash, - Orb::Price::MatrixWithDisplayName::OrHash, - Orb::Price::BulkWithProration::OrHash, - Orb::Price::GroupedTieredPackage::OrHash, - Orb::Price::MaxGroupTieredPackage::OrHash, - Orb::Price::ScalableMatrixWithUnitPricing::OrHash, - Orb::Price::ScalableMatrixWithTieredPricing::OrHash, - Orb::Price::CumulativeGroupedBulk::OrHash - ) - ], - version: Integer - ).returns(T.attached_class) - end - def self.new( - # Adjustments for this plan. If the plan has phases, this includes adjustments - # across all phases of the plan. - adjustments:, - created_at:, - plan_phases:, - # Prices for this plan. If the plan has phases, this includes prices across all - # phases of the plan. - prices:, - version: - ) - end - - sig do - override.returns( - { - adjustments: - T::Array[ - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Variants - ], - created_at: Time, - plan_phases: - T.nilable( - T::Array[ - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::PlanPhase - ] - ), - prices: T::Array[Orb::Price::Variants], - version: Integer - } - ) - end - def to_hash - end - - module Adjustment - extend Orb::Internal::Type::Union - - Variants = - T.type_alias do - T.any( - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::UsageDiscount, - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::AmountDiscount, - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::PercentageDiscount, - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Minimum, - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Maximum - ) - end - - class UsageDiscount < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::UsageDiscount, - Orb::Internal::AnyHash - ) - end - - sig { returns(String) } - attr_accessor :id - - sig { returns(Symbol) } - attr_accessor :adjustment_type - - # The price IDs that this adjustment applies to. - sig { returns(T::Array[String]) } - attr_accessor :applies_to_price_ids - - # The filters that determine which prices to apply this adjustment to. - sig do - returns( - T::Array[ - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter - ] - ) - end - attr_accessor :filters - - # True for adjustments that apply to an entire invocice, false for adjustments - # that apply to only one price. - sig { returns(T::Boolean) } - attr_accessor :is_invoice_level - - # The plan phase in which this adjustment is active. - sig { returns(T.nilable(Integer)) } - attr_accessor :plan_phase_order - - # The reason for the adjustment. - sig { returns(T.nilable(String)) } - attr_accessor :reason - - # The number of usage units by which to discount the price this adjustment applies - # to in a given billing period. - sig { returns(Float) } - attr_accessor :usage_discount - - sig do - params( - id: String, - applies_to_price_ids: T::Array[String], - filters: - T::Array[ - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter::OrHash - ], - is_invoice_level: T::Boolean, - plan_phase_order: T.nilable(Integer), - reason: T.nilable(String), - usage_discount: Float, - adjustment_type: Symbol - ).returns(T.attached_class) - end - def self.new( - id:, - # The price IDs that this adjustment applies to. - applies_to_price_ids:, - # The filters that determine which prices to apply this adjustment to. - filters:, - # True for adjustments that apply to an entire invocice, false for adjustments - # that apply to only one price. - is_invoice_level:, - # The plan phase in which this adjustment is active. - plan_phase_order:, - # The reason for the adjustment. - reason:, - # The number of usage units by which to discount the price this adjustment applies - # to in a given billing period. - usage_discount:, - adjustment_type: :usage_discount - ) - end - - sig do - override.returns( - { - id: String, - adjustment_type: Symbol, - applies_to_price_ids: T::Array[String], - filters: - T::Array[ - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter - ], - is_invoice_level: T::Boolean, - plan_phase_order: T.nilable(Integer), - reason: T.nilable(String), - usage_discount: Float - } - ) - end - def to_hash - end - - class Filter < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter, - Orb::Internal::AnyHash - ) - end - - # The property of the price to filter on. - sig do - returns( - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol - ) - end - attr_accessor :field - - # Should prices that match the filter be included or excluded. - sig do - returns( - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter::Operator::TaggedSymbol - ) - end - attr_accessor :operator - - # The IDs or values that match this filter. - sig { returns(T::Array[String]) } - attr_accessor :values - - sig do - params( - field: - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter::Field::OrSymbol, - operator: - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter::Operator::OrSymbol, - values: T::Array[String] - ).returns(T.attached_class) - end - def self.new( - # The property of the price to filter on. - field:, - # Should prices that match the filter be included or excluded. - operator:, - # The IDs or values that match this filter. - values: - ) - end - - sig do - override.returns( - { - field: - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol, - operator: - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter::Operator::TaggedSymbol, - values: T::Array[String] - } - ) - end - def to_hash - end - - # The property of the price to filter on. - module Field - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter::Field - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - PRICE_ID = - T.let( - :price_id, - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol - ) - ITEM_ID = - T.let( - :item_id, - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol - ) - PRICE_TYPE = - T.let( - :price_type, - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol - ) - CURRENCY = - T.let( - :currency, - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol - ) - PRICING_UNIT_ID = - T.let( - :pricing_unit_id, - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol - ] - ) - end - def self.values - end - end - - # Should prices that match the filter be included or excluded. - module Operator - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter::Operator - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - INCLUDES = - T.let( - :includes, - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter::Operator::TaggedSymbol - ) - EXCLUDES = - T.let( - :excludes, - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter::Operator::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter::Operator::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class AmountDiscount < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::AmountDiscount, - Orb::Internal::AnyHash - ) - end - - sig { returns(String) } - attr_accessor :id - - sig { returns(Symbol) } - attr_accessor :adjustment_type - - # The amount by which to discount the prices this adjustment applies to in a given - # billing period. - sig { returns(String) } - attr_accessor :amount_discount - - # The price IDs that this adjustment applies to. - sig { returns(T::Array[String]) } - attr_accessor :applies_to_price_ids - - # The filters that determine which prices to apply this adjustment to. - sig do - returns( - T::Array[ - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter - ] - ) - end - attr_accessor :filters - - # True for adjustments that apply to an entire invocice, false for adjustments - # that apply to only one price. - sig { returns(T::Boolean) } - attr_accessor :is_invoice_level - - # The plan phase in which this adjustment is active. - sig { returns(T.nilable(Integer)) } - attr_accessor :plan_phase_order - - # The reason for the adjustment. - sig { returns(T.nilable(String)) } - attr_accessor :reason - - sig do - params( - id: String, - amount_discount: String, - applies_to_price_ids: T::Array[String], - filters: - T::Array[ - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter::OrHash - ], - is_invoice_level: T::Boolean, - plan_phase_order: T.nilable(Integer), - reason: T.nilable(String), - adjustment_type: Symbol - ).returns(T.attached_class) - end - def self.new( - id:, - # The amount by which to discount the prices this adjustment applies to in a given - # billing period. - amount_discount:, - # The price IDs that this adjustment applies to. - applies_to_price_ids:, - # The filters that determine which prices to apply this adjustment to. - filters:, - # True for adjustments that apply to an entire invocice, false for adjustments - # that apply to only one price. - is_invoice_level:, - # The plan phase in which this adjustment is active. - plan_phase_order:, - # The reason for the adjustment. - reason:, - adjustment_type: :amount_discount - ) - end - - sig do - override.returns( - { - id: String, - adjustment_type: Symbol, - amount_discount: String, - applies_to_price_ids: T::Array[String], - filters: - T::Array[ - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter - ], - is_invoice_level: T::Boolean, - plan_phase_order: T.nilable(Integer), - reason: T.nilable(String) - } - ) - end - def to_hash - end - - class Filter < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter, - Orb::Internal::AnyHash - ) - end - - # The property of the price to filter on. - sig do - returns( - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol - ) - end - attr_accessor :field - - # Should prices that match the filter be included or excluded. - sig do - returns( - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter::Operator::TaggedSymbol - ) - end - attr_accessor :operator - - # The IDs or values that match this filter. - sig { returns(T::Array[String]) } - attr_accessor :values - - sig do - params( - field: - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter::Field::OrSymbol, - operator: - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter::Operator::OrSymbol, - values: T::Array[String] - ).returns(T.attached_class) - end - def self.new( - # The property of the price to filter on. - field:, - # Should prices that match the filter be included or excluded. - operator:, - # The IDs or values that match this filter. - values: - ) - end - - sig do - override.returns( - { - field: - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol, - operator: - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter::Operator::TaggedSymbol, - values: T::Array[String] - } - ) - end - def to_hash - end - - # The property of the price to filter on. - module Field - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter::Field - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - PRICE_ID = - T.let( - :price_id, - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol - ) - ITEM_ID = - T.let( - :item_id, - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol - ) - PRICE_TYPE = - T.let( - :price_type, - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol - ) - CURRENCY = - T.let( - :currency, - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol - ) - PRICING_UNIT_ID = - T.let( - :pricing_unit_id, - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol - ] - ) - end - def self.values - end - end - - # Should prices that match the filter be included or excluded. - module Operator - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter::Operator - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - INCLUDES = - T.let( - :includes, - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter::Operator::TaggedSymbol - ) - EXCLUDES = - T.let( - :excludes, - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter::Operator::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter::Operator::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class PercentageDiscount < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::PercentageDiscount, - Orb::Internal::AnyHash - ) - end - - sig { returns(String) } - attr_accessor :id - - sig { returns(Symbol) } - attr_accessor :adjustment_type - - # The price IDs that this adjustment applies to. - sig { returns(T::Array[String]) } - attr_accessor :applies_to_price_ids - - # The filters that determine which prices to apply this adjustment to. - sig do - returns( - T::Array[ - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter - ] - ) - end - attr_accessor :filters - - # True for adjustments that apply to an entire invocice, false for adjustments - # that apply to only one price. - sig { returns(T::Boolean) } - attr_accessor :is_invoice_level - - # The percentage (as a value between 0 and 1) by which to discount the price - # intervals this adjustment applies to in a given billing period. - sig { returns(Float) } - attr_accessor :percentage_discount - - # The plan phase in which this adjustment is active. - sig { returns(T.nilable(Integer)) } - attr_accessor :plan_phase_order - - # The reason for the adjustment. - sig { returns(T.nilable(String)) } - attr_accessor :reason - - sig do - params( - id: String, - applies_to_price_ids: T::Array[String], - filters: - T::Array[ - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter::OrHash - ], - is_invoice_level: T::Boolean, - percentage_discount: Float, - plan_phase_order: T.nilable(Integer), - reason: T.nilable(String), - adjustment_type: Symbol - ).returns(T.attached_class) - end - def self.new( - id:, - # The price IDs that this adjustment applies to. - applies_to_price_ids:, - # The filters that determine which prices to apply this adjustment to. - filters:, - # True for adjustments that apply to an entire invocice, false for adjustments - # that apply to only one price. - is_invoice_level:, - # The percentage (as a value between 0 and 1) by which to discount the price - # intervals this adjustment applies to in a given billing period. - percentage_discount:, - # The plan phase in which this adjustment is active. - plan_phase_order:, - # The reason for the adjustment. - reason:, - adjustment_type: :percentage_discount - ) - end - - sig do - override.returns( - { - id: String, - adjustment_type: Symbol, - applies_to_price_ids: T::Array[String], - filters: - T::Array[ - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter - ], - is_invoice_level: T::Boolean, - percentage_discount: Float, - plan_phase_order: T.nilable(Integer), - reason: T.nilable(String) - } - ) - end - def to_hash - end - - class Filter < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter, - Orb::Internal::AnyHash - ) - end - - # The property of the price to filter on. - sig do - returns( - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol - ) - end - attr_accessor :field - - # Should prices that match the filter be included or excluded. - sig do - returns( - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter::Operator::TaggedSymbol - ) - end - attr_accessor :operator - - # The IDs or values that match this filter. - sig { returns(T::Array[String]) } - attr_accessor :values - - sig do - params( - field: - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter::Field::OrSymbol, - operator: - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter::Operator::OrSymbol, - values: T::Array[String] - ).returns(T.attached_class) - end - def self.new( - # The property of the price to filter on. - field:, - # Should prices that match the filter be included or excluded. - operator:, - # The IDs or values that match this filter. - values: - ) - end - - sig do - override.returns( - { - field: - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol, - operator: - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter::Operator::TaggedSymbol, - values: T::Array[String] - } - ) - end - def to_hash - end - - # The property of the price to filter on. - module Field - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter::Field - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - PRICE_ID = - T.let( - :price_id, - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol - ) - ITEM_ID = - T.let( - :item_id, - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol - ) - PRICE_TYPE = - T.let( - :price_type, - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol - ) - CURRENCY = - T.let( - :currency, - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol - ) - PRICING_UNIT_ID = - T.let( - :pricing_unit_id, - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol - ] - ) - end - def self.values - end - end - - # Should prices that match the filter be included or excluded. - module Operator - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter::Operator - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - INCLUDES = - T.let( - :includes, - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter::Operator::TaggedSymbol - ) - EXCLUDES = - T.let( - :excludes, - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter::Operator::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter::Operator::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class Minimum < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Minimum, - Orb::Internal::AnyHash - ) - end - - sig { returns(String) } - attr_accessor :id - - sig { returns(Symbol) } - attr_accessor :adjustment_type - - # The price IDs that this adjustment applies to. - sig { returns(T::Array[String]) } - attr_accessor :applies_to_price_ids - - # The filters that determine which prices to apply this adjustment to. - sig do - returns( - T::Array[ - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Minimum::Filter - ] - ) - end - attr_accessor :filters - - # True for adjustments that apply to an entire invocice, false for adjustments - # that apply to only one price. - sig { returns(T::Boolean) } - attr_accessor :is_invoice_level - - # The item ID that revenue from this minimum will be attributed to. - sig { returns(String) } - attr_accessor :item_id - - # The minimum amount to charge in a given billing period for the prices this - # adjustment applies to. - sig { returns(String) } - attr_accessor :minimum_amount - - # The plan phase in which this adjustment is active. - sig { returns(T.nilable(Integer)) } - attr_accessor :plan_phase_order - - # The reason for the adjustment. - sig { returns(T.nilable(String)) } - attr_accessor :reason - - sig do - params( - id: String, - applies_to_price_ids: T::Array[String], - filters: - T::Array[ - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Minimum::Filter::OrHash - ], - is_invoice_level: T::Boolean, - item_id: String, - minimum_amount: String, - plan_phase_order: T.nilable(Integer), - reason: T.nilable(String), - adjustment_type: Symbol - ).returns(T.attached_class) - end - def self.new( - id:, - # The price IDs that this adjustment applies to. - applies_to_price_ids:, - # The filters that determine which prices to apply this adjustment to. - filters:, - # True for adjustments that apply to an entire invocice, false for adjustments - # that apply to only one price. - is_invoice_level:, - # The item ID that revenue from this minimum will be attributed to. - item_id:, - # The minimum amount to charge in a given billing period for the prices this - # adjustment applies to. - minimum_amount:, - # The plan phase in which this adjustment is active. - plan_phase_order:, - # The reason for the adjustment. - reason:, - adjustment_type: :minimum - ) - end - - sig do - override.returns( - { - id: String, - adjustment_type: Symbol, - applies_to_price_ids: T::Array[String], - filters: - T::Array[ - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Minimum::Filter - ], - is_invoice_level: T::Boolean, - item_id: String, - minimum_amount: String, - plan_phase_order: T.nilable(Integer), - reason: T.nilable(String) - } - ) - end - def to_hash - end - - class Filter < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Minimum::Filter, - Orb::Internal::AnyHash - ) - end - - # The property of the price to filter on. - sig do - returns( - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Minimum::Filter::Field::TaggedSymbol - ) - end - attr_accessor :field - - # Should prices that match the filter be included or excluded. - sig do - returns( - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Minimum::Filter::Operator::TaggedSymbol - ) - end - attr_accessor :operator - - # The IDs or values that match this filter. - sig { returns(T::Array[String]) } - attr_accessor :values - - sig do - params( - field: - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Minimum::Filter::Field::OrSymbol, - operator: - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Minimum::Filter::Operator::OrSymbol, - values: T::Array[String] - ).returns(T.attached_class) - end - def self.new( - # The property of the price to filter on. - field:, - # Should prices that match the filter be included or excluded. - operator:, - # The IDs or values that match this filter. - values: - ) - end - - sig do - override.returns( - { - field: - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Minimum::Filter::Field::TaggedSymbol, - operator: - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Minimum::Filter::Operator::TaggedSymbol, - values: T::Array[String] - } - ) - end - def to_hash - end - - # The property of the price to filter on. - module Field - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Minimum::Filter::Field - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - PRICE_ID = - T.let( - :price_id, - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Minimum::Filter::Field::TaggedSymbol - ) - ITEM_ID = - T.let( - :item_id, - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Minimum::Filter::Field::TaggedSymbol - ) - PRICE_TYPE = - T.let( - :price_type, - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Minimum::Filter::Field::TaggedSymbol - ) - CURRENCY = - T.let( - :currency, - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Minimum::Filter::Field::TaggedSymbol - ) - PRICING_UNIT_ID = - T.let( - :pricing_unit_id, - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Minimum::Filter::Field::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Minimum::Filter::Field::TaggedSymbol - ] - ) - end - def self.values - end - end - - # Should prices that match the filter be included or excluded. - module Operator - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Minimum::Filter::Operator - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - INCLUDES = - T.let( - :includes, - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Minimum::Filter::Operator::TaggedSymbol - ) - EXCLUDES = - T.let( - :excludes, - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Minimum::Filter::Operator::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Minimum::Filter::Operator::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class Maximum < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Maximum, - Orb::Internal::AnyHash - ) - end - - sig { returns(String) } - attr_accessor :id - - sig { returns(Symbol) } - attr_accessor :adjustment_type - - # The price IDs that this adjustment applies to. - sig { returns(T::Array[String]) } - attr_accessor :applies_to_price_ids - - # The filters that determine which prices to apply this adjustment to. - sig do - returns( - T::Array[ - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Maximum::Filter - ] - ) - end - attr_accessor :filters - - # True for adjustments that apply to an entire invocice, false for adjustments - # that apply to only one price. - sig { returns(T::Boolean) } - attr_accessor :is_invoice_level - - # The maximum amount to charge in a given billing period for the prices this - # adjustment applies to. - sig { returns(String) } - attr_accessor :maximum_amount - - # The plan phase in which this adjustment is active. - sig { returns(T.nilable(Integer)) } - attr_accessor :plan_phase_order - - # The reason for the adjustment. - sig { returns(T.nilable(String)) } - attr_accessor :reason - - sig do - params( - id: String, - applies_to_price_ids: T::Array[String], - filters: - T::Array[ - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Maximum::Filter::OrHash - ], - is_invoice_level: T::Boolean, - maximum_amount: String, - plan_phase_order: T.nilable(Integer), - reason: T.nilable(String), - adjustment_type: Symbol - ).returns(T.attached_class) - end - def self.new( - id:, - # The price IDs that this adjustment applies to. - applies_to_price_ids:, - # The filters that determine which prices to apply this adjustment to. - filters:, - # True for adjustments that apply to an entire invocice, false for adjustments - # that apply to only one price. - is_invoice_level:, - # The maximum amount to charge in a given billing period for the prices this - # adjustment applies to. - maximum_amount:, - # The plan phase in which this adjustment is active. - plan_phase_order:, - # The reason for the adjustment. - reason:, - adjustment_type: :maximum - ) - end - - sig do - override.returns( - { - id: String, - adjustment_type: Symbol, - applies_to_price_ids: T::Array[String], - filters: - T::Array[ - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Maximum::Filter - ], - is_invoice_level: T::Boolean, - maximum_amount: String, - plan_phase_order: T.nilable(Integer), - reason: T.nilable(String) - } - ) - end - def to_hash - end - - class Filter < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Maximum::Filter, - Orb::Internal::AnyHash - ) - end - - # The property of the price to filter on. - sig do - returns( - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Maximum::Filter::Field::TaggedSymbol - ) - end - attr_accessor :field - - # Should prices that match the filter be included or excluded. - sig do - returns( - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Maximum::Filter::Operator::TaggedSymbol - ) - end - attr_accessor :operator - - # The IDs or values that match this filter. - sig { returns(T::Array[String]) } - attr_accessor :values - - sig do - params( - field: - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Maximum::Filter::Field::OrSymbol, - operator: - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Maximum::Filter::Operator::OrSymbol, - values: T::Array[String] - ).returns(T.attached_class) - end - def self.new( - # The property of the price to filter on. - field:, - # Should prices that match the filter be included or excluded. - operator:, - # The IDs or values that match this filter. - values: - ) - end - - sig do - override.returns( - { - field: - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Maximum::Filter::Field::TaggedSymbol, - operator: - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Maximum::Filter::Operator::TaggedSymbol, - values: T::Array[String] - } - ) - end - def to_hash - end - - # The property of the price to filter on. - module Field - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Maximum::Filter::Field - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - PRICE_ID = - T.let( - :price_id, - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Maximum::Filter::Field::TaggedSymbol - ) - ITEM_ID = - T.let( - :item_id, - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Maximum::Filter::Field::TaggedSymbol - ) - PRICE_TYPE = - T.let( - :price_type, - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Maximum::Filter::Field::TaggedSymbol - ) - CURRENCY = - T.let( - :currency, - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Maximum::Filter::Field::TaggedSymbol - ) - PRICING_UNIT_ID = - T.let( - :pricing_unit_id, - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Maximum::Filter::Field::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Maximum::Filter::Field::TaggedSymbol - ] - ) - end - def self.values - end - end - - # Should prices that match the filter be included or excluded. - module Operator - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Maximum::Filter::Operator - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - INCLUDES = - T.let( - :includes, - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Maximum::Filter::Operator::TaggedSymbol - ) - EXCLUDES = - T.let( - :excludes, - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Maximum::Filter::Operator::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Maximum::Filter::Operator::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - sig do - override.returns( - T::Array[ - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Variants - ] - ) - end - def self.variants - end - end - - class PlanPhase < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::PlanPhase, - Orb::Internal::AnyHash - ) - end - - sig { returns(String) } - attr_accessor :id - - sig { returns(T.nilable(String)) } - attr_accessor :description - - # How many terms of length `duration_unit` this phase is active for. If null, this - # phase is evergreen and active indefinitely - sig { returns(T.nilable(Integer)) } - attr_accessor :duration - - sig do - returns( - T.nilable( - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::PlanPhase::DurationUnit::TaggedSymbol - ) - ) - end - attr_accessor :duration_unit - - sig { returns(String) } - attr_accessor :name - - # Determines the ordering of the phase in a plan's lifecycle. 1 = first phase. - sig { returns(Integer) } - attr_accessor :order - - sig do - params( - id: String, - description: T.nilable(String), - duration: T.nilable(Integer), - duration_unit: - T.nilable( - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::PlanPhase::DurationUnit::OrSymbol - ), - name: String, - order: Integer - ).returns(T.attached_class) - end - def self.new( - id:, - description:, - # How many terms of length `duration_unit` this phase is active for. If null, this - # phase is evergreen and active indefinitely - duration:, - duration_unit:, - name:, - # Determines the ordering of the phase in a plan's lifecycle. 1 = first phase. - order: - ) - end - - sig do - override.returns( - { - id: String, - description: T.nilable(String), - duration: T.nilable(Integer), - duration_unit: - T.nilable( - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::PlanPhase::DurationUnit::TaggedSymbol - ), - name: String, - order: Integer - } - ) - end - def to_hash - end - - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::PlanPhase::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAILY = - T.let( - :daily, - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::PlanPhase::DurationUnit::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::PlanPhase::DurationUnit::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::PlanPhase::DurationUnit::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::PlanPhase::DurationUnit::TaggedSymbol - ) - ANNUAL = - T.let( - :annual, - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::PlanPhase::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::PlanPhase::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - end - end - end -end diff --git a/rbi/orb/models/plans/version_create_response.rbi b/rbi/orb/models/plans/version_create_response.rbi deleted file mode 100644 index 94f794b4..00000000 --- a/rbi/orb/models/plans/version_create_response.rbi +++ /dev/null @@ -1,1556 +0,0 @@ -# typed: strong - -module Orb - module Models - module Plans - class VersionCreateResponse < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Models::Plans::VersionCreateResponse, - Orb::Internal::AnyHash - ) - end - - # Adjustments for this plan. If the plan has phases, this includes adjustments - # across all phases of the plan. - sig do - returns( - T::Array[ - Orb::Models::Plans::VersionCreateResponse::Adjustment::Variants - ] - ) - end - attr_accessor :adjustments - - sig { returns(Time) } - attr_accessor :created_at - - sig do - returns( - T.nilable( - T::Array[Orb::Models::Plans::VersionCreateResponse::PlanPhase] - ) - ) - end - attr_accessor :plan_phases - - # Prices for this plan. If the plan has phases, this includes prices across all - # phases of the plan. - sig { returns(T::Array[Orb::Price::Variants]) } - attr_accessor :prices - - sig { returns(Integer) } - attr_accessor :version - - # The PlanVersion resource represents the prices and adjustments present on a - # specific version of a plan. - sig do - params( - adjustments: - T::Array[ - T.any( - Orb::Models::Plans::VersionCreateResponse::Adjustment::UsageDiscount::OrHash, - Orb::Models::Plans::VersionCreateResponse::Adjustment::AmountDiscount::OrHash, - Orb::Models::Plans::VersionCreateResponse::Adjustment::PercentageDiscount::OrHash, - Orb::Models::Plans::VersionCreateResponse::Adjustment::Minimum::OrHash, - Orb::Models::Plans::VersionCreateResponse::Adjustment::Maximum::OrHash - ) - ], - created_at: Time, - plan_phases: - T.nilable( - T::Array[ - Orb::Models::Plans::VersionCreateResponse::PlanPhase::OrHash - ] - ), - prices: - T::Array[ - T.any( - Orb::Price::Unit::OrHash, - Orb::Price::Package::OrHash, - Orb::Price::Matrix::OrHash, - Orb::Price::Tiered::OrHash, - Orb::Price::TieredBps::OrHash, - Orb::Price::Bps::OrHash, - Orb::Price::BulkBps::OrHash, - Orb::Price::Bulk::OrHash, - Orb::Price::ThresholdTotalAmount::OrHash, - Orb::Price::TieredPackage::OrHash, - Orb::Price::GroupedTiered::OrHash, - Orb::Price::TieredWithMinimum::OrHash, - Orb::Price::TieredPackageWithMinimum::OrHash, - Orb::Price::PackageWithAllocation::OrHash, - Orb::Price::UnitWithPercent::OrHash, - Orb::Price::MatrixWithAllocation::OrHash, - Orb::Price::TieredWithProration::OrHash, - Orb::Price::UnitWithProration::OrHash, - Orb::Price::GroupedAllocation::OrHash, - Orb::Price::GroupedWithProratedMinimum::OrHash, - Orb::Price::GroupedWithMeteredMinimum::OrHash, - Orb::Price::MatrixWithDisplayName::OrHash, - Orb::Price::BulkWithProration::OrHash, - Orb::Price::GroupedTieredPackage::OrHash, - Orb::Price::MaxGroupTieredPackage::OrHash, - Orb::Price::ScalableMatrixWithUnitPricing::OrHash, - Orb::Price::ScalableMatrixWithTieredPricing::OrHash, - Orb::Price::CumulativeGroupedBulk::OrHash - ) - ], - version: Integer - ).returns(T.attached_class) - end - def self.new( - # Adjustments for this plan. If the plan has phases, this includes adjustments - # across all phases of the plan. - adjustments:, - created_at:, - plan_phases:, - # Prices for this plan. If the plan has phases, this includes prices across all - # phases of the plan. - prices:, - version: - ) - end - - sig do - override.returns( - { - adjustments: - T::Array[ - Orb::Models::Plans::VersionCreateResponse::Adjustment::Variants - ], - created_at: Time, - plan_phases: - T.nilable( - T::Array[Orb::Models::Plans::VersionCreateResponse::PlanPhase] - ), - prices: T::Array[Orb::Price::Variants], - version: Integer - } - ) - end - def to_hash - end - - module Adjustment - extend Orb::Internal::Type::Union - - Variants = - T.type_alias do - T.any( - Orb::Models::Plans::VersionCreateResponse::Adjustment::UsageDiscount, - Orb::Models::Plans::VersionCreateResponse::Adjustment::AmountDiscount, - Orb::Models::Plans::VersionCreateResponse::Adjustment::PercentageDiscount, - Orb::Models::Plans::VersionCreateResponse::Adjustment::Minimum, - Orb::Models::Plans::VersionCreateResponse::Adjustment::Maximum - ) - end - - class UsageDiscount < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Models::Plans::VersionCreateResponse::Adjustment::UsageDiscount, - Orb::Internal::AnyHash - ) - end - - sig { returns(String) } - attr_accessor :id - - sig { returns(Symbol) } - attr_accessor :adjustment_type - - # The price IDs that this adjustment applies to. - sig { returns(T::Array[String]) } - attr_accessor :applies_to_price_ids - - # The filters that determine which prices to apply this adjustment to. - sig do - returns( - T::Array[ - Orb::Models::Plans::VersionCreateResponse::Adjustment::UsageDiscount::Filter - ] - ) - end - attr_accessor :filters - - # True for adjustments that apply to an entire invocice, false for adjustments - # that apply to only one price. - sig { returns(T::Boolean) } - attr_accessor :is_invoice_level - - # The plan phase in which this adjustment is active. - sig { returns(T.nilable(Integer)) } - attr_accessor :plan_phase_order - - # The reason for the adjustment. - sig { returns(T.nilable(String)) } - attr_accessor :reason - - # The number of usage units by which to discount the price this adjustment applies - # to in a given billing period. - sig { returns(Float) } - attr_accessor :usage_discount - - sig do - params( - id: String, - applies_to_price_ids: T::Array[String], - filters: - T::Array[ - Orb::Models::Plans::VersionCreateResponse::Adjustment::UsageDiscount::Filter::OrHash - ], - is_invoice_level: T::Boolean, - plan_phase_order: T.nilable(Integer), - reason: T.nilable(String), - usage_discount: Float, - adjustment_type: Symbol - ).returns(T.attached_class) - end - def self.new( - id:, - # The price IDs that this adjustment applies to. - applies_to_price_ids:, - # The filters that determine which prices to apply this adjustment to. - filters:, - # True for adjustments that apply to an entire invocice, false for adjustments - # that apply to only one price. - is_invoice_level:, - # The plan phase in which this adjustment is active. - plan_phase_order:, - # The reason for the adjustment. - reason:, - # The number of usage units by which to discount the price this adjustment applies - # to in a given billing period. - usage_discount:, - adjustment_type: :usage_discount - ) - end - - sig do - override.returns( - { - id: String, - adjustment_type: Symbol, - applies_to_price_ids: T::Array[String], - filters: - T::Array[ - Orb::Models::Plans::VersionCreateResponse::Adjustment::UsageDiscount::Filter - ], - is_invoice_level: T::Boolean, - plan_phase_order: T.nilable(Integer), - reason: T.nilable(String), - usage_discount: Float - } - ) - end - def to_hash - end - - class Filter < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Models::Plans::VersionCreateResponse::Adjustment::UsageDiscount::Filter, - Orb::Internal::AnyHash - ) - end - - # The property of the price to filter on. - sig do - returns( - Orb::Models::Plans::VersionCreateResponse::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol - ) - end - attr_accessor :field - - # Should prices that match the filter be included or excluded. - sig do - returns( - Orb::Models::Plans::VersionCreateResponse::Adjustment::UsageDiscount::Filter::Operator::TaggedSymbol - ) - end - attr_accessor :operator - - # The IDs or values that match this filter. - sig { returns(T::Array[String]) } - attr_accessor :values - - sig do - params( - field: - Orb::Models::Plans::VersionCreateResponse::Adjustment::UsageDiscount::Filter::Field::OrSymbol, - operator: - Orb::Models::Plans::VersionCreateResponse::Adjustment::UsageDiscount::Filter::Operator::OrSymbol, - values: T::Array[String] - ).returns(T.attached_class) - end - def self.new( - # The property of the price to filter on. - field:, - # Should prices that match the filter be included or excluded. - operator:, - # The IDs or values that match this filter. - values: - ) - end - - sig do - override.returns( - { - field: - Orb::Models::Plans::VersionCreateResponse::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol, - operator: - Orb::Models::Plans::VersionCreateResponse::Adjustment::UsageDiscount::Filter::Operator::TaggedSymbol, - values: T::Array[String] - } - ) - end - def to_hash - end - - # The property of the price to filter on. - module Field - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Models::Plans::VersionCreateResponse::Adjustment::UsageDiscount::Filter::Field - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - PRICE_ID = - T.let( - :price_id, - Orb::Models::Plans::VersionCreateResponse::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol - ) - ITEM_ID = - T.let( - :item_id, - Orb::Models::Plans::VersionCreateResponse::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol - ) - PRICE_TYPE = - T.let( - :price_type, - Orb::Models::Plans::VersionCreateResponse::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol - ) - CURRENCY = - T.let( - :currency, - Orb::Models::Plans::VersionCreateResponse::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol - ) - PRICING_UNIT_ID = - T.let( - :pricing_unit_id, - Orb::Models::Plans::VersionCreateResponse::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Models::Plans::VersionCreateResponse::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol - ] - ) - end - def self.values - end - end - - # Should prices that match the filter be included or excluded. - module Operator - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Models::Plans::VersionCreateResponse::Adjustment::UsageDiscount::Filter::Operator - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - INCLUDES = - T.let( - :includes, - Orb::Models::Plans::VersionCreateResponse::Adjustment::UsageDiscount::Filter::Operator::TaggedSymbol - ) - EXCLUDES = - T.let( - :excludes, - Orb::Models::Plans::VersionCreateResponse::Adjustment::UsageDiscount::Filter::Operator::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Models::Plans::VersionCreateResponse::Adjustment::UsageDiscount::Filter::Operator::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class AmountDiscount < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Models::Plans::VersionCreateResponse::Adjustment::AmountDiscount, - Orb::Internal::AnyHash - ) - end - - sig { returns(String) } - attr_accessor :id - - sig { returns(Symbol) } - attr_accessor :adjustment_type - - # The amount by which to discount the prices this adjustment applies to in a given - # billing period. - sig { returns(String) } - attr_accessor :amount_discount - - # The price IDs that this adjustment applies to. - sig { returns(T::Array[String]) } - attr_accessor :applies_to_price_ids - - # The filters that determine which prices to apply this adjustment to. - sig do - returns( - T::Array[ - Orb::Models::Plans::VersionCreateResponse::Adjustment::AmountDiscount::Filter - ] - ) - end - attr_accessor :filters - - # True for adjustments that apply to an entire invocice, false for adjustments - # that apply to only one price. - sig { returns(T::Boolean) } - attr_accessor :is_invoice_level - - # The plan phase in which this adjustment is active. - sig { returns(T.nilable(Integer)) } - attr_accessor :plan_phase_order - - # The reason for the adjustment. - sig { returns(T.nilable(String)) } - attr_accessor :reason - - sig do - params( - id: String, - amount_discount: String, - applies_to_price_ids: T::Array[String], - filters: - T::Array[ - Orb::Models::Plans::VersionCreateResponse::Adjustment::AmountDiscount::Filter::OrHash - ], - is_invoice_level: T::Boolean, - plan_phase_order: T.nilable(Integer), - reason: T.nilable(String), - adjustment_type: Symbol - ).returns(T.attached_class) - end - def self.new( - id:, - # The amount by which to discount the prices this adjustment applies to in a given - # billing period. - amount_discount:, - # The price IDs that this adjustment applies to. - applies_to_price_ids:, - # The filters that determine which prices to apply this adjustment to. - filters:, - # True for adjustments that apply to an entire invocice, false for adjustments - # that apply to only one price. - is_invoice_level:, - # The plan phase in which this adjustment is active. - plan_phase_order:, - # The reason for the adjustment. - reason:, - adjustment_type: :amount_discount - ) - end - - sig do - override.returns( - { - id: String, - adjustment_type: Symbol, - amount_discount: String, - applies_to_price_ids: T::Array[String], - filters: - T::Array[ - Orb::Models::Plans::VersionCreateResponse::Adjustment::AmountDiscount::Filter - ], - is_invoice_level: T::Boolean, - plan_phase_order: T.nilable(Integer), - reason: T.nilable(String) - } - ) - end - def to_hash - end - - class Filter < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Models::Plans::VersionCreateResponse::Adjustment::AmountDiscount::Filter, - Orb::Internal::AnyHash - ) - end - - # The property of the price to filter on. - sig do - returns( - Orb::Models::Plans::VersionCreateResponse::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol - ) - end - attr_accessor :field - - # Should prices that match the filter be included or excluded. - sig do - returns( - Orb::Models::Plans::VersionCreateResponse::Adjustment::AmountDiscount::Filter::Operator::TaggedSymbol - ) - end - attr_accessor :operator - - # The IDs or values that match this filter. - sig { returns(T::Array[String]) } - attr_accessor :values - - sig do - params( - field: - Orb::Models::Plans::VersionCreateResponse::Adjustment::AmountDiscount::Filter::Field::OrSymbol, - operator: - Orb::Models::Plans::VersionCreateResponse::Adjustment::AmountDiscount::Filter::Operator::OrSymbol, - values: T::Array[String] - ).returns(T.attached_class) - end - def self.new( - # The property of the price to filter on. - field:, - # Should prices that match the filter be included or excluded. - operator:, - # The IDs or values that match this filter. - values: - ) - end - - sig do - override.returns( - { - field: - Orb::Models::Plans::VersionCreateResponse::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol, - operator: - Orb::Models::Plans::VersionCreateResponse::Adjustment::AmountDiscount::Filter::Operator::TaggedSymbol, - values: T::Array[String] - } - ) - end - def to_hash - end - - # The property of the price to filter on. - module Field - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Models::Plans::VersionCreateResponse::Adjustment::AmountDiscount::Filter::Field - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - PRICE_ID = - T.let( - :price_id, - Orb::Models::Plans::VersionCreateResponse::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol - ) - ITEM_ID = - T.let( - :item_id, - Orb::Models::Plans::VersionCreateResponse::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol - ) - PRICE_TYPE = - T.let( - :price_type, - Orb::Models::Plans::VersionCreateResponse::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol - ) - CURRENCY = - T.let( - :currency, - Orb::Models::Plans::VersionCreateResponse::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol - ) - PRICING_UNIT_ID = - T.let( - :pricing_unit_id, - Orb::Models::Plans::VersionCreateResponse::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Models::Plans::VersionCreateResponse::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol - ] - ) - end - def self.values - end - end - - # Should prices that match the filter be included or excluded. - module Operator - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Models::Plans::VersionCreateResponse::Adjustment::AmountDiscount::Filter::Operator - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - INCLUDES = - T.let( - :includes, - Orb::Models::Plans::VersionCreateResponse::Adjustment::AmountDiscount::Filter::Operator::TaggedSymbol - ) - EXCLUDES = - T.let( - :excludes, - Orb::Models::Plans::VersionCreateResponse::Adjustment::AmountDiscount::Filter::Operator::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Models::Plans::VersionCreateResponse::Adjustment::AmountDiscount::Filter::Operator::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class PercentageDiscount < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Models::Plans::VersionCreateResponse::Adjustment::PercentageDiscount, - Orb::Internal::AnyHash - ) - end - - sig { returns(String) } - attr_accessor :id - - sig { returns(Symbol) } - attr_accessor :adjustment_type - - # The price IDs that this adjustment applies to. - sig { returns(T::Array[String]) } - attr_accessor :applies_to_price_ids - - # The filters that determine which prices to apply this adjustment to. - sig do - returns( - T::Array[ - Orb::Models::Plans::VersionCreateResponse::Adjustment::PercentageDiscount::Filter - ] - ) - end - attr_accessor :filters - - # True for adjustments that apply to an entire invocice, false for adjustments - # that apply to only one price. - sig { returns(T::Boolean) } - attr_accessor :is_invoice_level - - # The percentage (as a value between 0 and 1) by which to discount the price - # intervals this adjustment applies to in a given billing period. - sig { returns(Float) } - attr_accessor :percentage_discount - - # The plan phase in which this adjustment is active. - sig { returns(T.nilable(Integer)) } - attr_accessor :plan_phase_order - - # The reason for the adjustment. - sig { returns(T.nilable(String)) } - attr_accessor :reason - - sig do - params( - id: String, - applies_to_price_ids: T::Array[String], - filters: - T::Array[ - Orb::Models::Plans::VersionCreateResponse::Adjustment::PercentageDiscount::Filter::OrHash - ], - is_invoice_level: T::Boolean, - percentage_discount: Float, - plan_phase_order: T.nilable(Integer), - reason: T.nilable(String), - adjustment_type: Symbol - ).returns(T.attached_class) - end - def self.new( - id:, - # The price IDs that this adjustment applies to. - applies_to_price_ids:, - # The filters that determine which prices to apply this adjustment to. - filters:, - # True for adjustments that apply to an entire invocice, false for adjustments - # that apply to only one price. - is_invoice_level:, - # The percentage (as a value between 0 and 1) by which to discount the price - # intervals this adjustment applies to in a given billing period. - percentage_discount:, - # The plan phase in which this adjustment is active. - plan_phase_order:, - # The reason for the adjustment. - reason:, - adjustment_type: :percentage_discount - ) - end - - sig do - override.returns( - { - id: String, - adjustment_type: Symbol, - applies_to_price_ids: T::Array[String], - filters: - T::Array[ - Orb::Models::Plans::VersionCreateResponse::Adjustment::PercentageDiscount::Filter - ], - is_invoice_level: T::Boolean, - percentage_discount: Float, - plan_phase_order: T.nilable(Integer), - reason: T.nilable(String) - } - ) - end - def to_hash - end - - class Filter < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Models::Plans::VersionCreateResponse::Adjustment::PercentageDiscount::Filter, - Orb::Internal::AnyHash - ) - end - - # The property of the price to filter on. - sig do - returns( - Orb::Models::Plans::VersionCreateResponse::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol - ) - end - attr_accessor :field - - # Should prices that match the filter be included or excluded. - sig do - returns( - Orb::Models::Plans::VersionCreateResponse::Adjustment::PercentageDiscount::Filter::Operator::TaggedSymbol - ) - end - attr_accessor :operator - - # The IDs or values that match this filter. - sig { returns(T::Array[String]) } - attr_accessor :values - - sig do - params( - field: - Orb::Models::Plans::VersionCreateResponse::Adjustment::PercentageDiscount::Filter::Field::OrSymbol, - operator: - Orb::Models::Plans::VersionCreateResponse::Adjustment::PercentageDiscount::Filter::Operator::OrSymbol, - values: T::Array[String] - ).returns(T.attached_class) - end - def self.new( - # The property of the price to filter on. - field:, - # Should prices that match the filter be included or excluded. - operator:, - # The IDs or values that match this filter. - values: - ) - end - - sig do - override.returns( - { - field: - Orb::Models::Plans::VersionCreateResponse::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol, - operator: - Orb::Models::Plans::VersionCreateResponse::Adjustment::PercentageDiscount::Filter::Operator::TaggedSymbol, - values: T::Array[String] - } - ) - end - def to_hash - end - - # The property of the price to filter on. - module Field - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Models::Plans::VersionCreateResponse::Adjustment::PercentageDiscount::Filter::Field - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - PRICE_ID = - T.let( - :price_id, - Orb::Models::Plans::VersionCreateResponse::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol - ) - ITEM_ID = - T.let( - :item_id, - Orb::Models::Plans::VersionCreateResponse::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol - ) - PRICE_TYPE = - T.let( - :price_type, - Orb::Models::Plans::VersionCreateResponse::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol - ) - CURRENCY = - T.let( - :currency, - Orb::Models::Plans::VersionCreateResponse::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol - ) - PRICING_UNIT_ID = - T.let( - :pricing_unit_id, - Orb::Models::Plans::VersionCreateResponse::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Models::Plans::VersionCreateResponse::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol - ] - ) - end - def self.values - end - end - - # Should prices that match the filter be included or excluded. - module Operator - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Models::Plans::VersionCreateResponse::Adjustment::PercentageDiscount::Filter::Operator - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - INCLUDES = - T.let( - :includes, - Orb::Models::Plans::VersionCreateResponse::Adjustment::PercentageDiscount::Filter::Operator::TaggedSymbol - ) - EXCLUDES = - T.let( - :excludes, - Orb::Models::Plans::VersionCreateResponse::Adjustment::PercentageDiscount::Filter::Operator::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Models::Plans::VersionCreateResponse::Adjustment::PercentageDiscount::Filter::Operator::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class Minimum < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Models::Plans::VersionCreateResponse::Adjustment::Minimum, - Orb::Internal::AnyHash - ) - end - - sig { returns(String) } - attr_accessor :id - - sig { returns(Symbol) } - attr_accessor :adjustment_type - - # The price IDs that this adjustment applies to. - sig { returns(T::Array[String]) } - attr_accessor :applies_to_price_ids - - # The filters that determine which prices to apply this adjustment to. - sig do - returns( - T::Array[ - Orb::Models::Plans::VersionCreateResponse::Adjustment::Minimum::Filter - ] - ) - end - attr_accessor :filters - - # True for adjustments that apply to an entire invocice, false for adjustments - # that apply to only one price. - sig { returns(T::Boolean) } - attr_accessor :is_invoice_level - - # The item ID that revenue from this minimum will be attributed to. - sig { returns(String) } - attr_accessor :item_id - - # The minimum amount to charge in a given billing period for the prices this - # adjustment applies to. - sig { returns(String) } - attr_accessor :minimum_amount - - # The plan phase in which this adjustment is active. - sig { returns(T.nilable(Integer)) } - attr_accessor :plan_phase_order - - # The reason for the adjustment. - sig { returns(T.nilable(String)) } - attr_accessor :reason - - sig do - params( - id: String, - applies_to_price_ids: T::Array[String], - filters: - T::Array[ - Orb::Models::Plans::VersionCreateResponse::Adjustment::Minimum::Filter::OrHash - ], - is_invoice_level: T::Boolean, - item_id: String, - minimum_amount: String, - plan_phase_order: T.nilable(Integer), - reason: T.nilable(String), - adjustment_type: Symbol - ).returns(T.attached_class) - end - def self.new( - id:, - # The price IDs that this adjustment applies to. - applies_to_price_ids:, - # The filters that determine which prices to apply this adjustment to. - filters:, - # True for adjustments that apply to an entire invocice, false for adjustments - # that apply to only one price. - is_invoice_level:, - # The item ID that revenue from this minimum will be attributed to. - item_id:, - # The minimum amount to charge in a given billing period for the prices this - # adjustment applies to. - minimum_amount:, - # The plan phase in which this adjustment is active. - plan_phase_order:, - # The reason for the adjustment. - reason:, - adjustment_type: :minimum - ) - end - - sig do - override.returns( - { - id: String, - adjustment_type: Symbol, - applies_to_price_ids: T::Array[String], - filters: - T::Array[ - Orb::Models::Plans::VersionCreateResponse::Adjustment::Minimum::Filter - ], - is_invoice_level: T::Boolean, - item_id: String, - minimum_amount: String, - plan_phase_order: T.nilable(Integer), - reason: T.nilable(String) - } - ) - end - def to_hash - end - - class Filter < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Models::Plans::VersionCreateResponse::Adjustment::Minimum::Filter, - Orb::Internal::AnyHash - ) - end - - # The property of the price to filter on. - sig do - returns( - Orb::Models::Plans::VersionCreateResponse::Adjustment::Minimum::Filter::Field::TaggedSymbol - ) - end - attr_accessor :field - - # Should prices that match the filter be included or excluded. - sig do - returns( - Orb::Models::Plans::VersionCreateResponse::Adjustment::Minimum::Filter::Operator::TaggedSymbol - ) - end - attr_accessor :operator - - # The IDs or values that match this filter. - sig { returns(T::Array[String]) } - attr_accessor :values - - sig do - params( - field: - Orb::Models::Plans::VersionCreateResponse::Adjustment::Minimum::Filter::Field::OrSymbol, - operator: - Orb::Models::Plans::VersionCreateResponse::Adjustment::Minimum::Filter::Operator::OrSymbol, - values: T::Array[String] - ).returns(T.attached_class) - end - def self.new( - # The property of the price to filter on. - field:, - # Should prices that match the filter be included or excluded. - operator:, - # The IDs or values that match this filter. - values: - ) - end - - sig do - override.returns( - { - field: - Orb::Models::Plans::VersionCreateResponse::Adjustment::Minimum::Filter::Field::TaggedSymbol, - operator: - Orb::Models::Plans::VersionCreateResponse::Adjustment::Minimum::Filter::Operator::TaggedSymbol, - values: T::Array[String] - } - ) - end - def to_hash - end - - # The property of the price to filter on. - module Field - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Models::Plans::VersionCreateResponse::Adjustment::Minimum::Filter::Field - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - PRICE_ID = - T.let( - :price_id, - Orb::Models::Plans::VersionCreateResponse::Adjustment::Minimum::Filter::Field::TaggedSymbol - ) - ITEM_ID = - T.let( - :item_id, - Orb::Models::Plans::VersionCreateResponse::Adjustment::Minimum::Filter::Field::TaggedSymbol - ) - PRICE_TYPE = - T.let( - :price_type, - Orb::Models::Plans::VersionCreateResponse::Adjustment::Minimum::Filter::Field::TaggedSymbol - ) - CURRENCY = - T.let( - :currency, - Orb::Models::Plans::VersionCreateResponse::Adjustment::Minimum::Filter::Field::TaggedSymbol - ) - PRICING_UNIT_ID = - T.let( - :pricing_unit_id, - Orb::Models::Plans::VersionCreateResponse::Adjustment::Minimum::Filter::Field::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Models::Plans::VersionCreateResponse::Adjustment::Minimum::Filter::Field::TaggedSymbol - ] - ) - end - def self.values - end - end - - # Should prices that match the filter be included or excluded. - module Operator - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Models::Plans::VersionCreateResponse::Adjustment::Minimum::Filter::Operator - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - INCLUDES = - T.let( - :includes, - Orb::Models::Plans::VersionCreateResponse::Adjustment::Minimum::Filter::Operator::TaggedSymbol - ) - EXCLUDES = - T.let( - :excludes, - Orb::Models::Plans::VersionCreateResponse::Adjustment::Minimum::Filter::Operator::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Models::Plans::VersionCreateResponse::Adjustment::Minimum::Filter::Operator::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class Maximum < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Models::Plans::VersionCreateResponse::Adjustment::Maximum, - Orb::Internal::AnyHash - ) - end - - sig { returns(String) } - attr_accessor :id - - sig { returns(Symbol) } - attr_accessor :adjustment_type - - # The price IDs that this adjustment applies to. - sig { returns(T::Array[String]) } - attr_accessor :applies_to_price_ids - - # The filters that determine which prices to apply this adjustment to. - sig do - returns( - T::Array[ - Orb::Models::Plans::VersionCreateResponse::Adjustment::Maximum::Filter - ] - ) - end - attr_accessor :filters - - # True for adjustments that apply to an entire invocice, false for adjustments - # that apply to only one price. - sig { returns(T::Boolean) } - attr_accessor :is_invoice_level - - # The maximum amount to charge in a given billing period for the prices this - # adjustment applies to. - sig { returns(String) } - attr_accessor :maximum_amount - - # The plan phase in which this adjustment is active. - sig { returns(T.nilable(Integer)) } - attr_accessor :plan_phase_order - - # The reason for the adjustment. - sig { returns(T.nilable(String)) } - attr_accessor :reason - - sig do - params( - id: String, - applies_to_price_ids: T::Array[String], - filters: - T::Array[ - Orb::Models::Plans::VersionCreateResponse::Adjustment::Maximum::Filter::OrHash - ], - is_invoice_level: T::Boolean, - maximum_amount: String, - plan_phase_order: T.nilable(Integer), - reason: T.nilable(String), - adjustment_type: Symbol - ).returns(T.attached_class) - end - def self.new( - id:, - # The price IDs that this adjustment applies to. - applies_to_price_ids:, - # The filters that determine which prices to apply this adjustment to. - filters:, - # True for adjustments that apply to an entire invocice, false for adjustments - # that apply to only one price. - is_invoice_level:, - # The maximum amount to charge in a given billing period for the prices this - # adjustment applies to. - maximum_amount:, - # The plan phase in which this adjustment is active. - plan_phase_order:, - # The reason for the adjustment. - reason:, - adjustment_type: :maximum - ) - end - - sig do - override.returns( - { - id: String, - adjustment_type: Symbol, - applies_to_price_ids: T::Array[String], - filters: - T::Array[ - Orb::Models::Plans::VersionCreateResponse::Adjustment::Maximum::Filter - ], - is_invoice_level: T::Boolean, - maximum_amount: String, - plan_phase_order: T.nilable(Integer), - reason: T.nilable(String) - } - ) - end - def to_hash - end - - class Filter < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Models::Plans::VersionCreateResponse::Adjustment::Maximum::Filter, - Orb::Internal::AnyHash - ) - end - - # The property of the price to filter on. - sig do - returns( - Orb::Models::Plans::VersionCreateResponse::Adjustment::Maximum::Filter::Field::TaggedSymbol - ) - end - attr_accessor :field - - # Should prices that match the filter be included or excluded. - sig do - returns( - Orb::Models::Plans::VersionCreateResponse::Adjustment::Maximum::Filter::Operator::TaggedSymbol - ) - end - attr_accessor :operator - - # The IDs or values that match this filter. - sig { returns(T::Array[String]) } - attr_accessor :values - - sig do - params( - field: - Orb::Models::Plans::VersionCreateResponse::Adjustment::Maximum::Filter::Field::OrSymbol, - operator: - Orb::Models::Plans::VersionCreateResponse::Adjustment::Maximum::Filter::Operator::OrSymbol, - values: T::Array[String] - ).returns(T.attached_class) - end - def self.new( - # The property of the price to filter on. - field:, - # Should prices that match the filter be included or excluded. - operator:, - # The IDs or values that match this filter. - values: - ) - end - - sig do - override.returns( - { - field: - Orb::Models::Plans::VersionCreateResponse::Adjustment::Maximum::Filter::Field::TaggedSymbol, - operator: - Orb::Models::Plans::VersionCreateResponse::Adjustment::Maximum::Filter::Operator::TaggedSymbol, - values: T::Array[String] - } - ) - end - def to_hash - end - - # The property of the price to filter on. - module Field - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Models::Plans::VersionCreateResponse::Adjustment::Maximum::Filter::Field - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - PRICE_ID = - T.let( - :price_id, - Orb::Models::Plans::VersionCreateResponse::Adjustment::Maximum::Filter::Field::TaggedSymbol - ) - ITEM_ID = - T.let( - :item_id, - Orb::Models::Plans::VersionCreateResponse::Adjustment::Maximum::Filter::Field::TaggedSymbol - ) - PRICE_TYPE = - T.let( - :price_type, - Orb::Models::Plans::VersionCreateResponse::Adjustment::Maximum::Filter::Field::TaggedSymbol - ) - CURRENCY = - T.let( - :currency, - Orb::Models::Plans::VersionCreateResponse::Adjustment::Maximum::Filter::Field::TaggedSymbol - ) - PRICING_UNIT_ID = - T.let( - :pricing_unit_id, - Orb::Models::Plans::VersionCreateResponse::Adjustment::Maximum::Filter::Field::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Models::Plans::VersionCreateResponse::Adjustment::Maximum::Filter::Field::TaggedSymbol - ] - ) - end - def self.values - end - end - - # Should prices that match the filter be included or excluded. - module Operator - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Models::Plans::VersionCreateResponse::Adjustment::Maximum::Filter::Operator - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - INCLUDES = - T.let( - :includes, - Orb::Models::Plans::VersionCreateResponse::Adjustment::Maximum::Filter::Operator::TaggedSymbol - ) - EXCLUDES = - T.let( - :excludes, - Orb::Models::Plans::VersionCreateResponse::Adjustment::Maximum::Filter::Operator::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Models::Plans::VersionCreateResponse::Adjustment::Maximum::Filter::Operator::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - sig do - override.returns( - T::Array[ - Orb::Models::Plans::VersionCreateResponse::Adjustment::Variants - ] - ) - end - def self.variants - end - end - - class PlanPhase < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Models::Plans::VersionCreateResponse::PlanPhase, - Orb::Internal::AnyHash - ) - end - - sig { returns(String) } - attr_accessor :id - - sig { returns(T.nilable(String)) } - attr_accessor :description - - # How many terms of length `duration_unit` this phase is active for. If null, this - # phase is evergreen and active indefinitely - sig { returns(T.nilable(Integer)) } - attr_accessor :duration - - sig do - returns( - T.nilable( - Orb::Models::Plans::VersionCreateResponse::PlanPhase::DurationUnit::TaggedSymbol - ) - ) - end - attr_accessor :duration_unit - - sig { returns(String) } - attr_accessor :name - - # Determines the ordering of the phase in a plan's lifecycle. 1 = first phase. - sig { returns(Integer) } - attr_accessor :order - - sig do - params( - id: String, - description: T.nilable(String), - duration: T.nilable(Integer), - duration_unit: - T.nilable( - Orb::Models::Plans::VersionCreateResponse::PlanPhase::DurationUnit::OrSymbol - ), - name: String, - order: Integer - ).returns(T.attached_class) - end - def self.new( - id:, - description:, - # How many terms of length `duration_unit` this phase is active for. If null, this - # phase is evergreen and active indefinitely - duration:, - duration_unit:, - name:, - # Determines the ordering of the phase in a plan's lifecycle. 1 = first phase. - order: - ) - end - - sig do - override.returns( - { - id: String, - description: T.nilable(String), - duration: T.nilable(Integer), - duration_unit: - T.nilable( - Orb::Models::Plans::VersionCreateResponse::PlanPhase::DurationUnit::TaggedSymbol - ), - name: String, - order: Integer - } - ) - end - def to_hash - end - - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Models::Plans::VersionCreateResponse::PlanPhase::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAILY = - T.let( - :daily, - Orb::Models::Plans::VersionCreateResponse::PlanPhase::DurationUnit::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::Models::Plans::VersionCreateResponse::PlanPhase::DurationUnit::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::Models::Plans::VersionCreateResponse::PlanPhase::DurationUnit::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::Models::Plans::VersionCreateResponse::PlanPhase::DurationUnit::TaggedSymbol - ) - ANNUAL = - T.let( - :annual, - Orb::Models::Plans::VersionCreateResponse::PlanPhase::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Models::Plans::VersionCreateResponse::PlanPhase::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - end - end -end diff --git a/rbi/orb/models/plans/version_retrieve_response.rbi b/rbi/orb/models/plans/version_retrieve_response.rbi deleted file mode 100644 index 644dc7f1..00000000 --- a/rbi/orb/models/plans/version_retrieve_response.rbi +++ /dev/null @@ -1,1558 +0,0 @@ -# typed: strong - -module Orb - module Models - module Plans - class VersionRetrieveResponse < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Models::Plans::VersionRetrieveResponse, - Orb::Internal::AnyHash - ) - end - - # Adjustments for this plan. If the plan has phases, this includes adjustments - # across all phases of the plan. - sig do - returns( - T::Array[ - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Variants - ] - ) - end - attr_accessor :adjustments - - sig { returns(Time) } - attr_accessor :created_at - - sig do - returns( - T.nilable( - T::Array[Orb::Models::Plans::VersionRetrieveResponse::PlanPhase] - ) - ) - end - attr_accessor :plan_phases - - # Prices for this plan. If the plan has phases, this includes prices across all - # phases of the plan. - sig { returns(T::Array[Orb::Price::Variants]) } - attr_accessor :prices - - sig { returns(Integer) } - attr_accessor :version - - # The PlanVersion resource represents the prices and adjustments present on a - # specific version of a plan. - sig do - params( - adjustments: - T::Array[ - T.any( - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::UsageDiscount::OrHash, - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::AmountDiscount::OrHash, - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::PercentageDiscount::OrHash, - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Minimum::OrHash, - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Maximum::OrHash - ) - ], - created_at: Time, - plan_phases: - T.nilable( - T::Array[ - Orb::Models::Plans::VersionRetrieveResponse::PlanPhase::OrHash - ] - ), - prices: - T::Array[ - T.any( - Orb::Price::Unit::OrHash, - Orb::Price::Package::OrHash, - Orb::Price::Matrix::OrHash, - Orb::Price::Tiered::OrHash, - Orb::Price::TieredBps::OrHash, - Orb::Price::Bps::OrHash, - Orb::Price::BulkBps::OrHash, - Orb::Price::Bulk::OrHash, - Orb::Price::ThresholdTotalAmount::OrHash, - Orb::Price::TieredPackage::OrHash, - Orb::Price::GroupedTiered::OrHash, - Orb::Price::TieredWithMinimum::OrHash, - Orb::Price::TieredPackageWithMinimum::OrHash, - Orb::Price::PackageWithAllocation::OrHash, - Orb::Price::UnitWithPercent::OrHash, - Orb::Price::MatrixWithAllocation::OrHash, - Orb::Price::TieredWithProration::OrHash, - Orb::Price::UnitWithProration::OrHash, - Orb::Price::GroupedAllocation::OrHash, - Orb::Price::GroupedWithProratedMinimum::OrHash, - Orb::Price::GroupedWithMeteredMinimum::OrHash, - Orb::Price::MatrixWithDisplayName::OrHash, - Orb::Price::BulkWithProration::OrHash, - Orb::Price::GroupedTieredPackage::OrHash, - Orb::Price::MaxGroupTieredPackage::OrHash, - Orb::Price::ScalableMatrixWithUnitPricing::OrHash, - Orb::Price::ScalableMatrixWithTieredPricing::OrHash, - Orb::Price::CumulativeGroupedBulk::OrHash - ) - ], - version: Integer - ).returns(T.attached_class) - end - def self.new( - # Adjustments for this plan. If the plan has phases, this includes adjustments - # across all phases of the plan. - adjustments:, - created_at:, - plan_phases:, - # Prices for this plan. If the plan has phases, this includes prices across all - # phases of the plan. - prices:, - version: - ) - end - - sig do - override.returns( - { - adjustments: - T::Array[ - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Variants - ], - created_at: Time, - plan_phases: - T.nilable( - T::Array[ - Orb::Models::Plans::VersionRetrieveResponse::PlanPhase - ] - ), - prices: T::Array[Orb::Price::Variants], - version: Integer - } - ) - end - def to_hash - end - - module Adjustment - extend Orb::Internal::Type::Union - - Variants = - T.type_alias do - T.any( - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::UsageDiscount, - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::AmountDiscount, - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::PercentageDiscount, - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Minimum, - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Maximum - ) - end - - class UsageDiscount < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::UsageDiscount, - Orb::Internal::AnyHash - ) - end - - sig { returns(String) } - attr_accessor :id - - sig { returns(Symbol) } - attr_accessor :adjustment_type - - # The price IDs that this adjustment applies to. - sig { returns(T::Array[String]) } - attr_accessor :applies_to_price_ids - - # The filters that determine which prices to apply this adjustment to. - sig do - returns( - T::Array[ - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter - ] - ) - end - attr_accessor :filters - - # True for adjustments that apply to an entire invocice, false for adjustments - # that apply to only one price. - sig { returns(T::Boolean) } - attr_accessor :is_invoice_level - - # The plan phase in which this adjustment is active. - sig { returns(T.nilable(Integer)) } - attr_accessor :plan_phase_order - - # The reason for the adjustment. - sig { returns(T.nilable(String)) } - attr_accessor :reason - - # The number of usage units by which to discount the price this adjustment applies - # to in a given billing period. - sig { returns(Float) } - attr_accessor :usage_discount - - sig do - params( - id: String, - applies_to_price_ids: T::Array[String], - filters: - T::Array[ - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter::OrHash - ], - is_invoice_level: T::Boolean, - plan_phase_order: T.nilable(Integer), - reason: T.nilable(String), - usage_discount: Float, - adjustment_type: Symbol - ).returns(T.attached_class) - end - def self.new( - id:, - # The price IDs that this adjustment applies to. - applies_to_price_ids:, - # The filters that determine which prices to apply this adjustment to. - filters:, - # True for adjustments that apply to an entire invocice, false for adjustments - # that apply to only one price. - is_invoice_level:, - # The plan phase in which this adjustment is active. - plan_phase_order:, - # The reason for the adjustment. - reason:, - # The number of usage units by which to discount the price this adjustment applies - # to in a given billing period. - usage_discount:, - adjustment_type: :usage_discount - ) - end - - sig do - override.returns( - { - id: String, - adjustment_type: Symbol, - applies_to_price_ids: T::Array[String], - filters: - T::Array[ - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter - ], - is_invoice_level: T::Boolean, - plan_phase_order: T.nilable(Integer), - reason: T.nilable(String), - usage_discount: Float - } - ) - end - def to_hash - end - - class Filter < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter, - Orb::Internal::AnyHash - ) - end - - # The property of the price to filter on. - sig do - returns( - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol - ) - end - attr_accessor :field - - # Should prices that match the filter be included or excluded. - sig do - returns( - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter::Operator::TaggedSymbol - ) - end - attr_accessor :operator - - # The IDs or values that match this filter. - sig { returns(T::Array[String]) } - attr_accessor :values - - sig do - params( - field: - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter::Field::OrSymbol, - operator: - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter::Operator::OrSymbol, - values: T::Array[String] - ).returns(T.attached_class) - end - def self.new( - # The property of the price to filter on. - field:, - # Should prices that match the filter be included or excluded. - operator:, - # The IDs or values that match this filter. - values: - ) - end - - sig do - override.returns( - { - field: - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol, - operator: - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter::Operator::TaggedSymbol, - values: T::Array[String] - } - ) - end - def to_hash - end - - # The property of the price to filter on. - module Field - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter::Field - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - PRICE_ID = - T.let( - :price_id, - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol - ) - ITEM_ID = - T.let( - :item_id, - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol - ) - PRICE_TYPE = - T.let( - :price_type, - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol - ) - CURRENCY = - T.let( - :currency, - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol - ) - PRICING_UNIT_ID = - T.let( - :pricing_unit_id, - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol - ] - ) - end - def self.values - end - end - - # Should prices that match the filter be included or excluded. - module Operator - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter::Operator - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - INCLUDES = - T.let( - :includes, - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter::Operator::TaggedSymbol - ) - EXCLUDES = - T.let( - :excludes, - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter::Operator::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter::Operator::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class AmountDiscount < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::AmountDiscount, - Orb::Internal::AnyHash - ) - end - - sig { returns(String) } - attr_accessor :id - - sig { returns(Symbol) } - attr_accessor :adjustment_type - - # The amount by which to discount the prices this adjustment applies to in a given - # billing period. - sig { returns(String) } - attr_accessor :amount_discount - - # The price IDs that this adjustment applies to. - sig { returns(T::Array[String]) } - attr_accessor :applies_to_price_ids - - # The filters that determine which prices to apply this adjustment to. - sig do - returns( - T::Array[ - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter - ] - ) - end - attr_accessor :filters - - # True for adjustments that apply to an entire invocice, false for adjustments - # that apply to only one price. - sig { returns(T::Boolean) } - attr_accessor :is_invoice_level - - # The plan phase in which this adjustment is active. - sig { returns(T.nilable(Integer)) } - attr_accessor :plan_phase_order - - # The reason for the adjustment. - sig { returns(T.nilable(String)) } - attr_accessor :reason - - sig do - params( - id: String, - amount_discount: String, - applies_to_price_ids: T::Array[String], - filters: - T::Array[ - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter::OrHash - ], - is_invoice_level: T::Boolean, - plan_phase_order: T.nilable(Integer), - reason: T.nilable(String), - adjustment_type: Symbol - ).returns(T.attached_class) - end - def self.new( - id:, - # The amount by which to discount the prices this adjustment applies to in a given - # billing period. - amount_discount:, - # The price IDs that this adjustment applies to. - applies_to_price_ids:, - # The filters that determine which prices to apply this adjustment to. - filters:, - # True for adjustments that apply to an entire invocice, false for adjustments - # that apply to only one price. - is_invoice_level:, - # The plan phase in which this adjustment is active. - plan_phase_order:, - # The reason for the adjustment. - reason:, - adjustment_type: :amount_discount - ) - end - - sig do - override.returns( - { - id: String, - adjustment_type: Symbol, - amount_discount: String, - applies_to_price_ids: T::Array[String], - filters: - T::Array[ - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter - ], - is_invoice_level: T::Boolean, - plan_phase_order: T.nilable(Integer), - reason: T.nilable(String) - } - ) - end - def to_hash - end - - class Filter < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter, - Orb::Internal::AnyHash - ) - end - - # The property of the price to filter on. - sig do - returns( - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol - ) - end - attr_accessor :field - - # Should prices that match the filter be included or excluded. - sig do - returns( - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter::Operator::TaggedSymbol - ) - end - attr_accessor :operator - - # The IDs or values that match this filter. - sig { returns(T::Array[String]) } - attr_accessor :values - - sig do - params( - field: - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter::Field::OrSymbol, - operator: - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter::Operator::OrSymbol, - values: T::Array[String] - ).returns(T.attached_class) - end - def self.new( - # The property of the price to filter on. - field:, - # Should prices that match the filter be included or excluded. - operator:, - # The IDs or values that match this filter. - values: - ) - end - - sig do - override.returns( - { - field: - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol, - operator: - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter::Operator::TaggedSymbol, - values: T::Array[String] - } - ) - end - def to_hash - end - - # The property of the price to filter on. - module Field - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter::Field - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - PRICE_ID = - T.let( - :price_id, - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol - ) - ITEM_ID = - T.let( - :item_id, - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol - ) - PRICE_TYPE = - T.let( - :price_type, - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol - ) - CURRENCY = - T.let( - :currency, - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol - ) - PRICING_UNIT_ID = - T.let( - :pricing_unit_id, - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol - ] - ) - end - def self.values - end - end - - # Should prices that match the filter be included or excluded. - module Operator - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter::Operator - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - INCLUDES = - T.let( - :includes, - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter::Operator::TaggedSymbol - ) - EXCLUDES = - T.let( - :excludes, - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter::Operator::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter::Operator::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class PercentageDiscount < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::PercentageDiscount, - Orb::Internal::AnyHash - ) - end - - sig { returns(String) } - attr_accessor :id - - sig { returns(Symbol) } - attr_accessor :adjustment_type - - # The price IDs that this adjustment applies to. - sig { returns(T::Array[String]) } - attr_accessor :applies_to_price_ids - - # The filters that determine which prices to apply this adjustment to. - sig do - returns( - T::Array[ - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter - ] - ) - end - attr_accessor :filters - - # True for adjustments that apply to an entire invocice, false for adjustments - # that apply to only one price. - sig { returns(T::Boolean) } - attr_accessor :is_invoice_level - - # The percentage (as a value between 0 and 1) by which to discount the price - # intervals this adjustment applies to in a given billing period. - sig { returns(Float) } - attr_accessor :percentage_discount - - # The plan phase in which this adjustment is active. - sig { returns(T.nilable(Integer)) } - attr_accessor :plan_phase_order - - # The reason for the adjustment. - sig { returns(T.nilable(String)) } - attr_accessor :reason - - sig do - params( - id: String, - applies_to_price_ids: T::Array[String], - filters: - T::Array[ - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter::OrHash - ], - is_invoice_level: T::Boolean, - percentage_discount: Float, - plan_phase_order: T.nilable(Integer), - reason: T.nilable(String), - adjustment_type: Symbol - ).returns(T.attached_class) - end - def self.new( - id:, - # The price IDs that this adjustment applies to. - applies_to_price_ids:, - # The filters that determine which prices to apply this adjustment to. - filters:, - # True for adjustments that apply to an entire invocice, false for adjustments - # that apply to only one price. - is_invoice_level:, - # The percentage (as a value between 0 and 1) by which to discount the price - # intervals this adjustment applies to in a given billing period. - percentage_discount:, - # The plan phase in which this adjustment is active. - plan_phase_order:, - # The reason for the adjustment. - reason:, - adjustment_type: :percentage_discount - ) - end - - sig do - override.returns( - { - id: String, - adjustment_type: Symbol, - applies_to_price_ids: T::Array[String], - filters: - T::Array[ - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter - ], - is_invoice_level: T::Boolean, - percentage_discount: Float, - plan_phase_order: T.nilable(Integer), - reason: T.nilable(String) - } - ) - end - def to_hash - end - - class Filter < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter, - Orb::Internal::AnyHash - ) - end - - # The property of the price to filter on. - sig do - returns( - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol - ) - end - attr_accessor :field - - # Should prices that match the filter be included or excluded. - sig do - returns( - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter::Operator::TaggedSymbol - ) - end - attr_accessor :operator - - # The IDs or values that match this filter. - sig { returns(T::Array[String]) } - attr_accessor :values - - sig do - params( - field: - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter::Field::OrSymbol, - operator: - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter::Operator::OrSymbol, - values: T::Array[String] - ).returns(T.attached_class) - end - def self.new( - # The property of the price to filter on. - field:, - # Should prices that match the filter be included or excluded. - operator:, - # The IDs or values that match this filter. - values: - ) - end - - sig do - override.returns( - { - field: - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol, - operator: - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter::Operator::TaggedSymbol, - values: T::Array[String] - } - ) - end - def to_hash - end - - # The property of the price to filter on. - module Field - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter::Field - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - PRICE_ID = - T.let( - :price_id, - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol - ) - ITEM_ID = - T.let( - :item_id, - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol - ) - PRICE_TYPE = - T.let( - :price_type, - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol - ) - CURRENCY = - T.let( - :currency, - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol - ) - PRICING_UNIT_ID = - T.let( - :pricing_unit_id, - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol - ] - ) - end - def self.values - end - end - - # Should prices that match the filter be included or excluded. - module Operator - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter::Operator - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - INCLUDES = - T.let( - :includes, - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter::Operator::TaggedSymbol - ) - EXCLUDES = - T.let( - :excludes, - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter::Operator::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter::Operator::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class Minimum < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Minimum, - Orb::Internal::AnyHash - ) - end - - sig { returns(String) } - attr_accessor :id - - sig { returns(Symbol) } - attr_accessor :adjustment_type - - # The price IDs that this adjustment applies to. - sig { returns(T::Array[String]) } - attr_accessor :applies_to_price_ids - - # The filters that determine which prices to apply this adjustment to. - sig do - returns( - T::Array[ - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Minimum::Filter - ] - ) - end - attr_accessor :filters - - # True for adjustments that apply to an entire invocice, false for adjustments - # that apply to only one price. - sig { returns(T::Boolean) } - attr_accessor :is_invoice_level - - # The item ID that revenue from this minimum will be attributed to. - sig { returns(String) } - attr_accessor :item_id - - # The minimum amount to charge in a given billing period for the prices this - # adjustment applies to. - sig { returns(String) } - attr_accessor :minimum_amount - - # The plan phase in which this adjustment is active. - sig { returns(T.nilable(Integer)) } - attr_accessor :plan_phase_order - - # The reason for the adjustment. - sig { returns(T.nilable(String)) } - attr_accessor :reason - - sig do - params( - id: String, - applies_to_price_ids: T::Array[String], - filters: - T::Array[ - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Minimum::Filter::OrHash - ], - is_invoice_level: T::Boolean, - item_id: String, - minimum_amount: String, - plan_phase_order: T.nilable(Integer), - reason: T.nilable(String), - adjustment_type: Symbol - ).returns(T.attached_class) - end - def self.new( - id:, - # The price IDs that this adjustment applies to. - applies_to_price_ids:, - # The filters that determine which prices to apply this adjustment to. - filters:, - # True for adjustments that apply to an entire invocice, false for adjustments - # that apply to only one price. - is_invoice_level:, - # The item ID that revenue from this minimum will be attributed to. - item_id:, - # The minimum amount to charge in a given billing period for the prices this - # adjustment applies to. - minimum_amount:, - # The plan phase in which this adjustment is active. - plan_phase_order:, - # The reason for the adjustment. - reason:, - adjustment_type: :minimum - ) - end - - sig do - override.returns( - { - id: String, - adjustment_type: Symbol, - applies_to_price_ids: T::Array[String], - filters: - T::Array[ - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Minimum::Filter - ], - is_invoice_level: T::Boolean, - item_id: String, - minimum_amount: String, - plan_phase_order: T.nilable(Integer), - reason: T.nilable(String) - } - ) - end - def to_hash - end - - class Filter < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Minimum::Filter, - Orb::Internal::AnyHash - ) - end - - # The property of the price to filter on. - sig do - returns( - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Minimum::Filter::Field::TaggedSymbol - ) - end - attr_accessor :field - - # Should prices that match the filter be included or excluded. - sig do - returns( - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Minimum::Filter::Operator::TaggedSymbol - ) - end - attr_accessor :operator - - # The IDs or values that match this filter. - sig { returns(T::Array[String]) } - attr_accessor :values - - sig do - params( - field: - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Minimum::Filter::Field::OrSymbol, - operator: - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Minimum::Filter::Operator::OrSymbol, - values: T::Array[String] - ).returns(T.attached_class) - end - def self.new( - # The property of the price to filter on. - field:, - # Should prices that match the filter be included or excluded. - operator:, - # The IDs or values that match this filter. - values: - ) - end - - sig do - override.returns( - { - field: - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Minimum::Filter::Field::TaggedSymbol, - operator: - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Minimum::Filter::Operator::TaggedSymbol, - values: T::Array[String] - } - ) - end - def to_hash - end - - # The property of the price to filter on. - module Field - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Minimum::Filter::Field - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - PRICE_ID = - T.let( - :price_id, - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Minimum::Filter::Field::TaggedSymbol - ) - ITEM_ID = - T.let( - :item_id, - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Minimum::Filter::Field::TaggedSymbol - ) - PRICE_TYPE = - T.let( - :price_type, - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Minimum::Filter::Field::TaggedSymbol - ) - CURRENCY = - T.let( - :currency, - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Minimum::Filter::Field::TaggedSymbol - ) - PRICING_UNIT_ID = - T.let( - :pricing_unit_id, - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Minimum::Filter::Field::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Minimum::Filter::Field::TaggedSymbol - ] - ) - end - def self.values - end - end - - # Should prices that match the filter be included or excluded. - module Operator - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Minimum::Filter::Operator - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - INCLUDES = - T.let( - :includes, - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Minimum::Filter::Operator::TaggedSymbol - ) - EXCLUDES = - T.let( - :excludes, - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Minimum::Filter::Operator::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Minimum::Filter::Operator::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class Maximum < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Maximum, - Orb::Internal::AnyHash - ) - end - - sig { returns(String) } - attr_accessor :id - - sig { returns(Symbol) } - attr_accessor :adjustment_type - - # The price IDs that this adjustment applies to. - sig { returns(T::Array[String]) } - attr_accessor :applies_to_price_ids - - # The filters that determine which prices to apply this adjustment to. - sig do - returns( - T::Array[ - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Maximum::Filter - ] - ) - end - attr_accessor :filters - - # True for adjustments that apply to an entire invocice, false for adjustments - # that apply to only one price. - sig { returns(T::Boolean) } - attr_accessor :is_invoice_level - - # The maximum amount to charge in a given billing period for the prices this - # adjustment applies to. - sig { returns(String) } - attr_accessor :maximum_amount - - # The plan phase in which this adjustment is active. - sig { returns(T.nilable(Integer)) } - attr_accessor :plan_phase_order - - # The reason for the adjustment. - sig { returns(T.nilable(String)) } - attr_accessor :reason - - sig do - params( - id: String, - applies_to_price_ids: T::Array[String], - filters: - T::Array[ - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Maximum::Filter::OrHash - ], - is_invoice_level: T::Boolean, - maximum_amount: String, - plan_phase_order: T.nilable(Integer), - reason: T.nilable(String), - adjustment_type: Symbol - ).returns(T.attached_class) - end - def self.new( - id:, - # The price IDs that this adjustment applies to. - applies_to_price_ids:, - # The filters that determine which prices to apply this adjustment to. - filters:, - # True for adjustments that apply to an entire invocice, false for adjustments - # that apply to only one price. - is_invoice_level:, - # The maximum amount to charge in a given billing period for the prices this - # adjustment applies to. - maximum_amount:, - # The plan phase in which this adjustment is active. - plan_phase_order:, - # The reason for the adjustment. - reason:, - adjustment_type: :maximum - ) - end - - sig do - override.returns( - { - id: String, - adjustment_type: Symbol, - applies_to_price_ids: T::Array[String], - filters: - T::Array[ - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Maximum::Filter - ], - is_invoice_level: T::Boolean, - maximum_amount: String, - plan_phase_order: T.nilable(Integer), - reason: T.nilable(String) - } - ) - end - def to_hash - end - - class Filter < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Maximum::Filter, - Orb::Internal::AnyHash - ) - end - - # The property of the price to filter on. - sig do - returns( - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Maximum::Filter::Field::TaggedSymbol - ) - end - attr_accessor :field - - # Should prices that match the filter be included or excluded. - sig do - returns( - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Maximum::Filter::Operator::TaggedSymbol - ) - end - attr_accessor :operator - - # The IDs or values that match this filter. - sig { returns(T::Array[String]) } - attr_accessor :values - - sig do - params( - field: - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Maximum::Filter::Field::OrSymbol, - operator: - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Maximum::Filter::Operator::OrSymbol, - values: T::Array[String] - ).returns(T.attached_class) - end - def self.new( - # The property of the price to filter on. - field:, - # Should prices that match the filter be included or excluded. - operator:, - # The IDs or values that match this filter. - values: - ) - end - - sig do - override.returns( - { - field: - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Maximum::Filter::Field::TaggedSymbol, - operator: - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Maximum::Filter::Operator::TaggedSymbol, - values: T::Array[String] - } - ) - end - def to_hash - end - - # The property of the price to filter on. - module Field - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Maximum::Filter::Field - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - PRICE_ID = - T.let( - :price_id, - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Maximum::Filter::Field::TaggedSymbol - ) - ITEM_ID = - T.let( - :item_id, - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Maximum::Filter::Field::TaggedSymbol - ) - PRICE_TYPE = - T.let( - :price_type, - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Maximum::Filter::Field::TaggedSymbol - ) - CURRENCY = - T.let( - :currency, - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Maximum::Filter::Field::TaggedSymbol - ) - PRICING_UNIT_ID = - T.let( - :pricing_unit_id, - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Maximum::Filter::Field::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Maximum::Filter::Field::TaggedSymbol - ] - ) - end - def self.values - end - end - - # Should prices that match the filter be included or excluded. - module Operator - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Maximum::Filter::Operator - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - INCLUDES = - T.let( - :includes, - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Maximum::Filter::Operator::TaggedSymbol - ) - EXCLUDES = - T.let( - :excludes, - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Maximum::Filter::Operator::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Maximum::Filter::Operator::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - sig do - override.returns( - T::Array[ - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Variants - ] - ) - end - def self.variants - end - end - - class PlanPhase < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Models::Plans::VersionRetrieveResponse::PlanPhase, - Orb::Internal::AnyHash - ) - end - - sig { returns(String) } - attr_accessor :id - - sig { returns(T.nilable(String)) } - attr_accessor :description - - # How many terms of length `duration_unit` this phase is active for. If null, this - # phase is evergreen and active indefinitely - sig { returns(T.nilable(Integer)) } - attr_accessor :duration - - sig do - returns( - T.nilable( - Orb::Models::Plans::VersionRetrieveResponse::PlanPhase::DurationUnit::TaggedSymbol - ) - ) - end - attr_accessor :duration_unit - - sig { returns(String) } - attr_accessor :name - - # Determines the ordering of the phase in a plan's lifecycle. 1 = first phase. - sig { returns(Integer) } - attr_accessor :order - - sig do - params( - id: String, - description: T.nilable(String), - duration: T.nilable(Integer), - duration_unit: - T.nilable( - Orb::Models::Plans::VersionRetrieveResponse::PlanPhase::DurationUnit::OrSymbol - ), - name: String, - order: Integer - ).returns(T.attached_class) - end - def self.new( - id:, - description:, - # How many terms of length `duration_unit` this phase is active for. If null, this - # phase is evergreen and active indefinitely - duration:, - duration_unit:, - name:, - # Determines the ordering of the phase in a plan's lifecycle. 1 = first phase. - order: - ) - end - - sig do - override.returns( - { - id: String, - description: T.nilable(String), - duration: T.nilable(Integer), - duration_unit: - T.nilable( - Orb::Models::Plans::VersionRetrieveResponse::PlanPhase::DurationUnit::TaggedSymbol - ), - name: String, - order: Integer - } - ) - end - def to_hash - end - - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::Models::Plans::VersionRetrieveResponse::PlanPhase::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAILY = - T.let( - :daily, - Orb::Models::Plans::VersionRetrieveResponse::PlanPhase::DurationUnit::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::Models::Plans::VersionRetrieveResponse::PlanPhase::DurationUnit::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::Models::Plans::VersionRetrieveResponse::PlanPhase::DurationUnit::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::Models::Plans::VersionRetrieveResponse::PlanPhase::DurationUnit::TaggedSymbol - ) - ANNUAL = - T.let( - :annual, - Orb::Models::Plans::VersionRetrieveResponse::PlanPhase::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::Models::Plans::VersionRetrieveResponse::PlanPhase::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - end - end -end diff --git a/rbi/orb/models/price_evaluate_multiple_params.rbi b/rbi/orb/models/price_evaluate_multiple_params.rbi new file mode 100644 index 00000000..7cdcd019 --- /dev/null +++ b/rbi/orb/models/price_evaluate_multiple_params.rbi @@ -0,0 +1,15764 @@ +# typed: strong + +module Orb + module Models + class PriceEvaluateMultipleParams < Orb::Internal::Type::BaseModel + extend Orb::Internal::Type::RequestParameters::Converter + include Orb::Internal::Type::RequestParameters + + OrHash = + T.type_alias do + T.any(Orb::PriceEvaluateMultipleParams, Orb::Internal::AnyHash) + end + + # The exclusive upper bound for event timestamps + sig { returns(Time) } + attr_accessor :timeframe_end + + # The inclusive lower bound for event timestamps + sig { returns(Time) } + attr_accessor :timeframe_start + + # The ID of the customer to which this evaluation is scoped. + sig { returns(T.nilable(String)) } + attr_accessor :customer_id + + # Optional list of preview events to use instead of actual usage data (max 500) + sig do + returns(T.nilable(T::Array[Orb::PriceEvaluateMultipleParams::Event])) + end + attr_accessor :events + + # The external customer ID of the customer to which this evaluation is scoped. + sig { returns(T.nilable(String)) } + attr_accessor :external_customer_id + + # List of prices to evaluate (max 100) + sig do + returns( + T.nilable(T::Array[Orb::PriceEvaluateMultipleParams::PriceEvaluation]) + ) + end + attr_reader :price_evaluations + + sig do + params( + price_evaluations: + T::Array[Orb::PriceEvaluateMultipleParams::PriceEvaluation::OrHash] + ).void + end + attr_writer :price_evaluations + + sig do + params( + timeframe_end: Time, + timeframe_start: Time, + customer_id: T.nilable(String), + events: + T.nilable( + T::Array[Orb::PriceEvaluateMultipleParams::Event::OrHash] + ), + external_customer_id: T.nilable(String), + price_evaluations: + T::Array[Orb::PriceEvaluateMultipleParams::PriceEvaluation::OrHash], + request_options: Orb::RequestOptions::OrHash + ).returns(T.attached_class) + end + def self.new( + # The exclusive upper bound for event timestamps + timeframe_end:, + # The inclusive lower bound for event timestamps + timeframe_start:, + # The ID of the customer to which this evaluation is scoped. + customer_id: nil, + # Optional list of preview events to use instead of actual usage data (max 500) + events: nil, + # The external customer ID of the customer to which this evaluation is scoped. + external_customer_id: nil, + # List of prices to evaluate (max 100) + price_evaluations: nil, + request_options: {} + ) + end + + sig do + override.returns( + { + timeframe_end: Time, + timeframe_start: Time, + customer_id: T.nilable(String), + events: + T.nilable(T::Array[Orb::PriceEvaluateMultipleParams::Event]), + external_customer_id: T.nilable(String), + price_evaluations: + T::Array[Orb::PriceEvaluateMultipleParams::PriceEvaluation], + request_options: Orb::RequestOptions + } + ) + end + def to_hash + end + + class Event < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::Event, + Orb::Internal::AnyHash + ) + end + + # A name to meaningfully identify the action or event type. + sig { returns(String) } + attr_accessor :event_name + + # A dictionary of custom properties. Values in this dictionary must be numeric, + # boolean, or strings. Nested dictionaries are disallowed. + sig { returns(T.anything) } + attr_accessor :properties + + # An ISO 8601 format date with no timezone offset (i.e. UTC). This should + # represent the time that usage was recorded, and is particularly important to + # attribute usage to a given billing period. + sig { returns(Time) } + attr_accessor :timestamp + + # The Orb Customer identifier + sig { returns(T.nilable(String)) } + attr_accessor :customer_id + + # An alias for the Orb customer, whose mapping is specified when creating the + # customer + sig { returns(T.nilable(String)) } + attr_accessor :external_customer_id + + sig do + params( + event_name: String, + properties: T.anything, + timestamp: Time, + customer_id: T.nilable(String), + external_customer_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # A name to meaningfully identify the action or event type. + event_name:, + # A dictionary of custom properties. Values in this dictionary must be numeric, + # boolean, or strings. Nested dictionaries are disallowed. + properties:, + # An ISO 8601 format date with no timezone offset (i.e. UTC). This should + # represent the time that usage was recorded, and is particularly important to + # attribute usage to a given billing period. + timestamp:, + # The Orb Customer identifier + customer_id: nil, + # An alias for the Orb customer, whose mapping is specified when creating the + # customer + external_customer_id: nil + ) + end + + sig do + override.returns( + { + event_name: String, + properties: T.anything, + timestamp: Time, + customer_id: T.nilable(String), + external_customer_id: T.nilable(String) + } + ) + end + def to_hash + end + end + + class PriceEvaluation < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation, + Orb::Internal::AnyHash + ) + end + + # A boolean + # [computed property](/extensibility/advanced-metrics#computed-properties) used to + # filter the underlying billable metric + sig { returns(T.nilable(String)) } + attr_accessor :filter + + # Properties (or + # [computed properties](/extensibility/advanced-metrics#computed-properties)) used + # to group the underlying billable metric + sig { returns(T.nilable(T::Array[String])) } + attr_reader :grouping_keys + + sig { params(grouping_keys: T::Array[String]).void } + attr_writer :grouping_keys + + # An inline price definition to evaluate, allowing you to test price + # configurations before adding them to Orb. + sig do + returns( + T.nilable( + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk + ) + ) + ) + end + attr_accessor :price + + # The ID of a price to evaluate that exists in your Orb account. + sig { returns(T.nilable(String)) } + attr_accessor :price_id + + sig do + params( + filter: T.nilable(String), + grouping_keys: T::Array[String], + price: + T.nilable( + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::OrHash, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::OrHash, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::OrHash, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::OrHash, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::OrHash, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::OrHash, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::OrHash, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::OrHash, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::OrHash, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::OrHash, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::OrHash, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::OrHash, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::OrHash, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::OrHash, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::OrHash, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::OrHash, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::OrHash, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::OrHash, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::OrHash, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::OrHash, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::OrHash, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::OrHash, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::OrHash, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::OrHash, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::OrHash, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::OrHash, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::OrHash, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::OrHash + ) + ), + price_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # A boolean + # [computed property](/extensibility/advanced-metrics#computed-properties) used to + # filter the underlying billable metric + filter: nil, + # Properties (or + # [computed properties](/extensibility/advanced-metrics#computed-properties)) used + # to group the underlying billable metric + grouping_keys: nil, + # An inline price definition to evaluate, allowing you to test price + # configurations before adding them to Orb. + price: nil, + # The ID of a price to evaluate that exists in your Orb account. + price_id: nil + ) + end + + sig do + override.returns( + { + filter: T.nilable(String), + grouping_keys: T::Array[String], + price: + T.nilable( + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk + ) + ), + price_id: T.nilable(String) + } + ) + end + def to_hash + end + + # An inline price definition to evaluate, allowing you to test price + # configurations before adding them to Orb. + module Price + extend Orb::Internal::Type::Union + + Variants = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk + ) + end + + class Unit < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit, + Orb::Internal::AnyHash + ) + end + + # The cadence to bill for this price on. + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::Cadence::OrSymbol + ) + end + attr_accessor :cadence + + # An ISO 4217 currency string for which this price is billed in. + sig { returns(String) } + attr_accessor :currency + + # The id of the item the price will be associated with. + sig { returns(String) } + attr_accessor :item_id + + sig { returns(Symbol) } + attr_accessor :model_type + + # The name of the price. + sig { returns(String) } + attr_accessor :name + + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::UnitConfig + ) + end + attr_reader :unit_config + + sig do + params( + unit_config: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::UnitConfig::OrHash + ).void + end + attr_writer :unit_config + + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + sig { returns(T.nilable(String)) } + attr_accessor :billable_metric_id + + # 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. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :billed_in_advance + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + returns( + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::BillingCycleConfiguration + ) + ) + end + attr_reader :billing_cycle_configuration + + sig do + params( + billing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::BillingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :billing_cycle_configuration + + # The per unit conversion rate of the price currency to the invoicing currency. + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + # For dimensional price: specifies a price group and dimension values + sig do + returns( + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::DimensionalPriceConfiguration + ) + ) + end + attr_reader :dimensional_price_configuration + + sig do + params( + dimensional_price_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::DimensionalPriceConfiguration::OrHash + ) + ).void + end + attr_writer :dimensional_price_configuration + + # An alias for the price. + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + # The property used to group this price on an invoice + sig { returns(T.nilable(String)) } + attr_accessor :invoice_grouping_key + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + returns( + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::InvoicingCycleConfiguration + ) + ) + end + attr_reader :invoicing_cycle_configuration + + sig do + params( + invoicing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::InvoicingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :invoicing_cycle_configuration + + # 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`. + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } + attr_accessor :metadata + + sig do + params( + cadence: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::Cadence::OrSymbol, + currency: String, + item_id: String, + name: String, + unit_config: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::UnitConfig::OrHash, + billable_metric_id: T.nilable(String), + billed_in_advance: T.nilable(T::Boolean), + billing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::BillingCycleConfiguration::OrHash + ), + conversion_rate: T.nilable(Float), + dimensional_price_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::DimensionalPriceConfiguration::OrHash + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::InvoicingCycleConfiguration::OrHash + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), + model_type: Symbol + ).returns(T.attached_class) + end + def self.new( + # The cadence to bill for this price on. + cadence:, + # An ISO 4217 currency string for which this price is billed in. + currency:, + # The id of the item the price will be associated with. + item_id:, + # The name of the price. + name:, + unit_config:, + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + billable_metric_id: nil, + # 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. + billed_in_advance: nil, + # For custom cadence: specifies the duration of the billing period in days or + # months. + billing_cycle_configuration: nil, + # The per unit conversion rate of the price currency to the invoicing currency. + conversion_rate: nil, + # For dimensional price: specifies a price group and dimension values + dimensional_price_configuration: nil, + # An alias for the price. + external_price_id: nil, + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + fixed_price_quantity: nil, + # The property used to group this price on an invoice + invoice_grouping_key: nil, + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + invoicing_cycle_configuration: nil, + # 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`. + metadata: nil, + model_type: :unit + ) + end + + sig do + override.returns( + { + cadence: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::Cadence::OrSymbol, + currency: String, + item_id: String, + model_type: Symbol, + name: String, + unit_config: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::UnitConfig, + billable_metric_id: T.nilable(String), + billed_in_advance: T.nilable(T::Boolean), + billing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::BillingCycleConfiguration + ), + conversion_rate: T.nilable(Float), + dimensional_price_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::DimensionalPriceConfiguration + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::InvoicingCycleConfiguration + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) + } + ) + end + def to_hash + end + + # The cadence to bill for this price on. + module Cadence + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::Cadence + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ANNUAL = + T.let( + :annual, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::Cadence::TaggedSymbol + ) + SEMI_ANNUAL = + T.let( + :semi_annual, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::Cadence::TaggedSymbol + ) + MONTHLY = + T.let( + :monthly, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::Cadence::TaggedSymbol + ) + QUARTERLY = + T.let( + :quarterly, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::Cadence::TaggedSymbol + ) + ONE_TIME = + T.let( + :one_time, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::Cadence::TaggedSymbol + ) + CUSTOM = + T.let( + :custom, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::Cadence::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::Cadence::TaggedSymbol + ] + ) + end + def self.values + end + end + + class UnitConfig < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::UnitConfig, + Orb::Internal::AnyHash + ) + end + + # Rate per unit of usage + sig { returns(String) } + attr_accessor :unit_amount + + sig { params(unit_amount: String).returns(T.attached_class) } + def self.new( + # Rate per unit of usage + unit_amount: + ) + end + + sig { override.returns({ unit_amount: String }) } + def to_hash + end + end + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::BillingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::BillingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + params( + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::BillingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::BillingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::BillingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::DimensionalPriceConfiguration, + Orb::Internal::AnyHash + ) + end + + # The list of dimension values matching (in order) the dimensions of the price + # group + sig { returns(T::Array[String]) } + attr_accessor :dimension_values + + # The id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :dimensional_price_group_id + + # The external id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :external_dimensional_price_group_id + + # For dimensional price: specifies a price group and dimension values + sig do + params( + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The list of dimension values matching (in order) the dimensions of the price + # group + dimension_values:, + # The id of the dimensional price group to include this price in + dimensional_price_group_id: nil, + # The external id of the dimensional price group to include this price in + external_dimensional_price_group_id: nil + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + } + ) + end + def to_hash + end + end + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::InvoicingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + params( + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::InvoicingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::InvoicingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + class Package < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package, + Orb::Internal::AnyHash + ) + end + + # The cadence to bill for this price on. + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::Cadence::OrSymbol + ) + end + attr_accessor :cadence + + # An ISO 4217 currency string for which this price is billed in. + sig { returns(String) } + attr_accessor :currency + + # The id of the item the price will be associated with. + sig { returns(String) } + attr_accessor :item_id + + sig { returns(Symbol) } + attr_accessor :model_type + + # The name of the price. + sig { returns(String) } + attr_accessor :name + + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::PackageConfig + ) + end + attr_reader :package_config + + sig do + params( + package_config: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::PackageConfig::OrHash + ).void + end + attr_writer :package_config + + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + sig { returns(T.nilable(String)) } + attr_accessor :billable_metric_id + + # 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. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :billed_in_advance + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + returns( + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::BillingCycleConfiguration + ) + ) + end + attr_reader :billing_cycle_configuration + + sig do + params( + billing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::BillingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :billing_cycle_configuration + + # The per unit conversion rate of the price currency to the invoicing currency. + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + # For dimensional price: specifies a price group and dimension values + sig do + returns( + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::DimensionalPriceConfiguration + ) + ) + end + attr_reader :dimensional_price_configuration + + sig do + params( + dimensional_price_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::DimensionalPriceConfiguration::OrHash + ) + ).void + end + attr_writer :dimensional_price_configuration + + # An alias for the price. + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + # The property used to group this price on an invoice + sig { returns(T.nilable(String)) } + attr_accessor :invoice_grouping_key + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + returns( + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::InvoicingCycleConfiguration + ) + ) + end + attr_reader :invoicing_cycle_configuration + + sig do + params( + invoicing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::InvoicingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :invoicing_cycle_configuration + + # 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`. + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } + attr_accessor :metadata + + sig do + params( + cadence: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::Cadence::OrSymbol, + currency: String, + item_id: String, + name: String, + package_config: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::PackageConfig::OrHash, + billable_metric_id: T.nilable(String), + billed_in_advance: T.nilable(T::Boolean), + billing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::BillingCycleConfiguration::OrHash + ), + conversion_rate: T.nilable(Float), + dimensional_price_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::DimensionalPriceConfiguration::OrHash + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::InvoicingCycleConfiguration::OrHash + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), + model_type: Symbol + ).returns(T.attached_class) + end + def self.new( + # The cadence to bill for this price on. + cadence:, + # An ISO 4217 currency string for which this price is billed in. + currency:, + # The id of the item the price will be associated with. + item_id:, + # The name of the price. + name:, + package_config:, + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + billable_metric_id: nil, + # 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. + billed_in_advance: nil, + # For custom cadence: specifies the duration of the billing period in days or + # months. + billing_cycle_configuration: nil, + # The per unit conversion rate of the price currency to the invoicing currency. + conversion_rate: nil, + # For dimensional price: specifies a price group and dimension values + dimensional_price_configuration: nil, + # An alias for the price. + external_price_id: nil, + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + fixed_price_quantity: nil, + # The property used to group this price on an invoice + invoice_grouping_key: nil, + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + invoicing_cycle_configuration: nil, + # 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`. + metadata: nil, + model_type: :package + ) + end + + sig do + override.returns( + { + cadence: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::Cadence::OrSymbol, + currency: String, + item_id: String, + model_type: Symbol, + name: String, + package_config: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::PackageConfig, + billable_metric_id: T.nilable(String), + billed_in_advance: T.nilable(T::Boolean), + billing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::BillingCycleConfiguration + ), + conversion_rate: T.nilable(Float), + dimensional_price_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::DimensionalPriceConfiguration + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::InvoicingCycleConfiguration + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) + } + ) + end + def to_hash + end + + # The cadence to bill for this price on. + module Cadence + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::Cadence + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ANNUAL = + T.let( + :annual, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::Cadence::TaggedSymbol + ) + SEMI_ANNUAL = + T.let( + :semi_annual, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::Cadence::TaggedSymbol + ) + MONTHLY = + T.let( + :monthly, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::Cadence::TaggedSymbol + ) + QUARTERLY = + T.let( + :quarterly, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::Cadence::TaggedSymbol + ) + ONE_TIME = + T.let( + :one_time, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::Cadence::TaggedSymbol + ) + CUSTOM = + T.let( + :custom, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::Cadence::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::Cadence::TaggedSymbol + ] + ) + end + def self.values + end + end + + class PackageConfig < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::PackageConfig, + Orb::Internal::AnyHash + ) + end + + # A currency amount to rate usage by + sig { returns(String) } + attr_accessor :package_amount + + # An integer amount to represent package size. For example, 1000 here would divide + # usage by 1000 before multiplying by package_amount in rating + sig { returns(Integer) } + attr_accessor :package_size + + sig do + params(package_amount: String, package_size: Integer).returns( + T.attached_class + ) + end + def self.new( + # A currency amount to rate usage by + package_amount:, + # An integer amount to represent package size. For example, 1000 here would divide + # usage by 1000 before multiplying by package_amount in rating + package_size: + ) + end + + sig do + override.returns( + { package_amount: String, package_size: Integer } + ) + end + def to_hash + end + end + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::BillingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::BillingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + params( + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::BillingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::BillingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::BillingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::DimensionalPriceConfiguration, + Orb::Internal::AnyHash + ) + end + + # The list of dimension values matching (in order) the dimensions of the price + # group + sig { returns(T::Array[String]) } + attr_accessor :dimension_values + + # The id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :dimensional_price_group_id + + # The external id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :external_dimensional_price_group_id + + # For dimensional price: specifies a price group and dimension values + sig do + params( + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The list of dimension values matching (in order) the dimensions of the price + # group + dimension_values:, + # The id of the dimensional price group to include this price in + dimensional_price_group_id: nil, + # The external id of the dimensional price group to include this price in + external_dimensional_price_group_id: nil + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + } + ) + end + def to_hash + end + end + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::InvoicingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + params( + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::InvoicingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::InvoicingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + class Matrix < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix, + Orb::Internal::AnyHash + ) + end + + # The cadence to bill for this price on. + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::Cadence::OrSymbol + ) + end + attr_accessor :cadence + + # An ISO 4217 currency string for which this price is billed in. + sig { returns(String) } + attr_accessor :currency + + # The id of the item the price will be associated with. + sig { returns(String) } + attr_accessor :item_id + + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::MatrixConfig + ) + end + attr_reader :matrix_config + + sig do + params( + matrix_config: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::MatrixConfig::OrHash + ).void + end + attr_writer :matrix_config + + sig { returns(Symbol) } + attr_accessor :model_type + + # The name of the price. + sig { returns(String) } + attr_accessor :name + + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + sig { returns(T.nilable(String)) } + attr_accessor :billable_metric_id + + # 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. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :billed_in_advance + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + returns( + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::BillingCycleConfiguration + ) + ) + end + attr_reader :billing_cycle_configuration + + sig do + params( + billing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::BillingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :billing_cycle_configuration + + # The per unit conversion rate of the price currency to the invoicing currency. + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + # For dimensional price: specifies a price group and dimension values + sig do + returns( + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::DimensionalPriceConfiguration + ) + ) + end + attr_reader :dimensional_price_configuration + + sig do + params( + dimensional_price_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::DimensionalPriceConfiguration::OrHash + ) + ).void + end + attr_writer :dimensional_price_configuration + + # An alias for the price. + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + # The property used to group this price on an invoice + sig { returns(T.nilable(String)) } + attr_accessor :invoice_grouping_key + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + returns( + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::InvoicingCycleConfiguration + ) + ) + end + attr_reader :invoicing_cycle_configuration + + sig do + params( + invoicing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::InvoicingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :invoicing_cycle_configuration + + # 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`. + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } + attr_accessor :metadata + + sig do + params( + cadence: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::Cadence::OrSymbol, + currency: String, + item_id: String, + matrix_config: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::MatrixConfig::OrHash, + name: String, + billable_metric_id: T.nilable(String), + billed_in_advance: T.nilable(T::Boolean), + billing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::BillingCycleConfiguration::OrHash + ), + conversion_rate: T.nilable(Float), + dimensional_price_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::DimensionalPriceConfiguration::OrHash + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::InvoicingCycleConfiguration::OrHash + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), + model_type: Symbol + ).returns(T.attached_class) + end + def self.new( + # The cadence to bill for this price on. + cadence:, + # An ISO 4217 currency string for which this price is billed in. + currency:, + # The id of the item the price will be associated with. + item_id:, + matrix_config:, + # The name of the price. + name:, + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + billable_metric_id: nil, + # 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. + billed_in_advance: nil, + # For custom cadence: specifies the duration of the billing period in days or + # months. + billing_cycle_configuration: nil, + # The per unit conversion rate of the price currency to the invoicing currency. + conversion_rate: nil, + # For dimensional price: specifies a price group and dimension values + dimensional_price_configuration: nil, + # An alias for the price. + external_price_id: nil, + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + fixed_price_quantity: nil, + # The property used to group this price on an invoice + invoice_grouping_key: nil, + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + invoicing_cycle_configuration: nil, + # 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`. + metadata: nil, + model_type: :matrix + ) + end + + sig do + override.returns( + { + cadence: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::Cadence::OrSymbol, + currency: String, + item_id: String, + matrix_config: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::MatrixConfig, + model_type: Symbol, + name: String, + billable_metric_id: T.nilable(String), + billed_in_advance: T.nilable(T::Boolean), + billing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::BillingCycleConfiguration + ), + conversion_rate: T.nilable(Float), + dimensional_price_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::DimensionalPriceConfiguration + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::InvoicingCycleConfiguration + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) + } + ) + end + def to_hash + end + + # The cadence to bill for this price on. + module Cadence + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::Cadence + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ANNUAL = + T.let( + :annual, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::Cadence::TaggedSymbol + ) + SEMI_ANNUAL = + T.let( + :semi_annual, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::Cadence::TaggedSymbol + ) + MONTHLY = + T.let( + :monthly, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::Cadence::TaggedSymbol + ) + QUARTERLY = + T.let( + :quarterly, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::Cadence::TaggedSymbol + ) + ONE_TIME = + T.let( + :one_time, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::Cadence::TaggedSymbol + ) + CUSTOM = + T.let( + :custom, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::Cadence::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::Cadence::TaggedSymbol + ] + ) + end + def self.values + end + end + + class MatrixConfig < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::MatrixConfig, + Orb::Internal::AnyHash + ) + end + + # Default per unit rate for any usage not bucketed into a specified matrix_value + sig { returns(String) } + attr_accessor :default_unit_amount + + # One or two event property values to evaluate matrix groups by + sig { returns(T::Array[T.nilable(String)]) } + attr_accessor :dimensions + + # Matrix values for specified matrix grouping keys + sig do + returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::MatrixConfig::MatrixValue + ] + ) + end + attr_accessor :matrix_values + + sig do + params( + default_unit_amount: String, + dimensions: T::Array[T.nilable(String)], + matrix_values: + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::MatrixConfig::MatrixValue::OrHash + ] + ).returns(T.attached_class) + end + def self.new( + # Default per unit rate for any usage not bucketed into a specified matrix_value + default_unit_amount:, + # One or two event property values to evaluate matrix groups by + dimensions:, + # Matrix values for specified matrix grouping keys + matrix_values: + ) + end + + sig do + override.returns( + { + default_unit_amount: String, + dimensions: T::Array[T.nilable(String)], + matrix_values: + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::MatrixConfig::MatrixValue + ] + } + ) + end + def to_hash + end + + class MatrixValue < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::MatrixConfig::MatrixValue, + Orb::Internal::AnyHash + ) + end + + # One or two matrix keys to filter usage to this Matrix value by. For example, + # ["region", "tier"] could be used to filter cloud usage by a cloud region and an + # instance tier. + sig { returns(T::Array[T.nilable(String)]) } + attr_accessor :dimension_values + + # Unit price for the specified dimension_values + sig { returns(String) } + attr_accessor :unit_amount + + sig do + params( + dimension_values: T::Array[T.nilable(String)], + unit_amount: String + ).returns(T.attached_class) + end + def self.new( + # One or two matrix keys to filter usage to this Matrix value by. For example, + # ["region", "tier"] could be used to filter cloud usage by a cloud region and an + # instance tier. + dimension_values:, + # Unit price for the specified dimension_values + unit_amount: + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[T.nilable(String)], + unit_amount: String + } + ) + end + def to_hash + end + end + end + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::BillingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::BillingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + params( + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::BillingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::BillingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::BillingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::DimensionalPriceConfiguration, + Orb::Internal::AnyHash + ) + end + + # The list of dimension values matching (in order) the dimensions of the price + # group + sig { returns(T::Array[String]) } + attr_accessor :dimension_values + + # The id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :dimensional_price_group_id + + # The external id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :external_dimensional_price_group_id + + # For dimensional price: specifies a price group and dimension values + sig do + params( + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The list of dimension values matching (in order) the dimensions of the price + # group + dimension_values:, + # The id of the dimensional price group to include this price in + dimensional_price_group_id: nil, + # The external id of the dimensional price group to include this price in + external_dimensional_price_group_id: nil + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + } + ) + end + def to_hash + end + end + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::InvoicingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + params( + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::InvoicingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::InvoicingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + class MatrixWithAllocation < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation, + Orb::Internal::AnyHash + ) + end + + # The cadence to bill for this price on. + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::Cadence::OrSymbol + ) + end + attr_accessor :cadence + + # An ISO 4217 currency string for which this price is billed in. + sig { returns(String) } + attr_accessor :currency + + # The id of the item the price will be associated with. + sig { returns(String) } + attr_accessor :item_id + + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::MatrixWithAllocationConfig + ) + end + attr_reader :matrix_with_allocation_config + + sig do + params( + matrix_with_allocation_config: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::MatrixWithAllocationConfig::OrHash + ).void + end + attr_writer :matrix_with_allocation_config + + sig { returns(Symbol) } + attr_accessor :model_type + + # The name of the price. + sig { returns(String) } + attr_accessor :name + + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + sig { returns(T.nilable(String)) } + attr_accessor :billable_metric_id + + # 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. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :billed_in_advance + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + returns( + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::BillingCycleConfiguration + ) + ) + end + attr_reader :billing_cycle_configuration + + sig do + params( + billing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::BillingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :billing_cycle_configuration + + # The per unit conversion rate of the price currency to the invoicing currency. + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + # For dimensional price: specifies a price group and dimension values + sig do + returns( + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::DimensionalPriceConfiguration + ) + ) + end + attr_reader :dimensional_price_configuration + + sig do + params( + dimensional_price_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::DimensionalPriceConfiguration::OrHash + ) + ).void + end + attr_writer :dimensional_price_configuration + + # An alias for the price. + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + # The property used to group this price on an invoice + sig { returns(T.nilable(String)) } + attr_accessor :invoice_grouping_key + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + returns( + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::InvoicingCycleConfiguration + ) + ) + end + attr_reader :invoicing_cycle_configuration + + sig do + params( + invoicing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::InvoicingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :invoicing_cycle_configuration + + # 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`. + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } + attr_accessor :metadata + + sig do + params( + cadence: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::Cadence::OrSymbol, + currency: String, + item_id: String, + matrix_with_allocation_config: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::MatrixWithAllocationConfig::OrHash, + name: String, + billable_metric_id: T.nilable(String), + billed_in_advance: T.nilable(T::Boolean), + billing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::BillingCycleConfiguration::OrHash + ), + conversion_rate: T.nilable(Float), + dimensional_price_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::DimensionalPriceConfiguration::OrHash + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::InvoicingCycleConfiguration::OrHash + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), + model_type: Symbol + ).returns(T.attached_class) + end + def self.new( + # The cadence to bill for this price on. + cadence:, + # An ISO 4217 currency string for which this price is billed in. + currency:, + # The id of the item the price will be associated with. + item_id:, + matrix_with_allocation_config:, + # The name of the price. + name:, + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + billable_metric_id: nil, + # 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. + billed_in_advance: nil, + # For custom cadence: specifies the duration of the billing period in days or + # months. + billing_cycle_configuration: nil, + # The per unit conversion rate of the price currency to the invoicing currency. + conversion_rate: nil, + # For dimensional price: specifies a price group and dimension values + dimensional_price_configuration: nil, + # An alias for the price. + external_price_id: nil, + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + fixed_price_quantity: nil, + # The property used to group this price on an invoice + invoice_grouping_key: nil, + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + invoicing_cycle_configuration: nil, + # 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`. + metadata: nil, + model_type: :matrix_with_allocation + ) + end + + sig do + override.returns( + { + cadence: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::Cadence::OrSymbol, + currency: String, + item_id: String, + matrix_with_allocation_config: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::MatrixWithAllocationConfig, + model_type: Symbol, + name: String, + billable_metric_id: T.nilable(String), + billed_in_advance: T.nilable(T::Boolean), + billing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::BillingCycleConfiguration + ), + conversion_rate: T.nilable(Float), + dimensional_price_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::DimensionalPriceConfiguration + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::InvoicingCycleConfiguration + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) + } + ) + end + def to_hash + end + + # The cadence to bill for this price on. + module Cadence + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::Cadence + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ANNUAL = + T.let( + :annual, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::Cadence::TaggedSymbol + ) + SEMI_ANNUAL = + T.let( + :semi_annual, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::Cadence::TaggedSymbol + ) + MONTHLY = + T.let( + :monthly, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::Cadence::TaggedSymbol + ) + QUARTERLY = + T.let( + :quarterly, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::Cadence::TaggedSymbol + ) + ONE_TIME = + T.let( + :one_time, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::Cadence::TaggedSymbol + ) + CUSTOM = + T.let( + :custom, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::Cadence::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::Cadence::TaggedSymbol + ] + ) + end + def self.values + end + end + + class MatrixWithAllocationConfig < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::MatrixWithAllocationConfig, + Orb::Internal::AnyHash + ) + end + + # Allocation to be used to calculate the price + sig { returns(Float) } + attr_accessor :allocation + + # Default per unit rate for any usage not bucketed into a specified matrix_value + sig { returns(String) } + attr_accessor :default_unit_amount + + # One or two event property values to evaluate matrix groups by + sig { returns(T::Array[T.nilable(String)]) } + attr_accessor :dimensions + + # Matrix values for specified matrix grouping keys + sig do + returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue + ] + ) + end + attr_accessor :matrix_values + + sig do + params( + allocation: Float, + default_unit_amount: String, + dimensions: T::Array[T.nilable(String)], + matrix_values: + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue::OrHash + ] + ).returns(T.attached_class) + end + def self.new( + # Allocation to be used to calculate the price + allocation:, + # Default per unit rate for any usage not bucketed into a specified matrix_value + default_unit_amount:, + # One or two event property values to evaluate matrix groups by + dimensions:, + # Matrix values for specified matrix grouping keys + matrix_values: + ) + end + + sig do + override.returns( + { + allocation: Float, + default_unit_amount: String, + dimensions: T::Array[T.nilable(String)], + matrix_values: + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue + ] + } + ) + end + def to_hash + end + + class MatrixValue < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue, + Orb::Internal::AnyHash + ) + end + + # One or two matrix keys to filter usage to this Matrix value by. For example, + # ["region", "tier"] could be used to filter cloud usage by a cloud region and an + # instance tier. + sig { returns(T::Array[T.nilable(String)]) } + attr_accessor :dimension_values + + # Unit price for the specified dimension_values + sig { returns(String) } + attr_accessor :unit_amount + + sig do + params( + dimension_values: T::Array[T.nilable(String)], + unit_amount: String + ).returns(T.attached_class) + end + def self.new( + # One or two matrix keys to filter usage to this Matrix value by. For example, + # ["region", "tier"] could be used to filter cloud usage by a cloud region and an + # instance tier. + dimension_values:, + # Unit price for the specified dimension_values + unit_amount: + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[T.nilable(String)], + unit_amount: String + } + ) + end + def to_hash + end + end + end + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::BillingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + params( + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::DimensionalPriceConfiguration, + Orb::Internal::AnyHash + ) + end + + # The list of dimension values matching (in order) the dimensions of the price + # group + sig { returns(T::Array[String]) } + attr_accessor :dimension_values + + # The id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :dimensional_price_group_id + + # The external id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :external_dimensional_price_group_id + + # For dimensional price: specifies a price group and dimension values + sig do + params( + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The list of dimension values matching (in order) the dimensions of the price + # group + dimension_values:, + # The id of the dimensional price group to include this price in + dimensional_price_group_id: nil, + # The external id of the dimensional price group to include this price in + external_dimensional_price_group_id: nil + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + } + ) + end + def to_hash + end + end + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::InvoicingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + params( + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + class Tiered < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered, + Orb::Internal::AnyHash + ) + end + + # The cadence to bill for this price on. + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::Cadence::OrSymbol + ) + end + attr_accessor :cadence + + # An ISO 4217 currency string for which this price is billed in. + sig { returns(String) } + attr_accessor :currency + + # The id of the item the price will be associated with. + sig { returns(String) } + attr_accessor :item_id + + sig { returns(Symbol) } + attr_accessor :model_type + + # The name of the price. + sig { returns(String) } + attr_accessor :name + + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::TieredConfig + ) + end + attr_reader :tiered_config + + sig do + params( + tiered_config: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::TieredConfig::OrHash + ).void + end + attr_writer :tiered_config + + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + sig { returns(T.nilable(String)) } + attr_accessor :billable_metric_id + + # 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. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :billed_in_advance + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + returns( + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::BillingCycleConfiguration + ) + ) + end + attr_reader :billing_cycle_configuration + + sig do + params( + billing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::BillingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :billing_cycle_configuration + + # The per unit conversion rate of the price currency to the invoicing currency. + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + # For dimensional price: specifies a price group and dimension values + sig do + returns( + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::DimensionalPriceConfiguration + ) + ) + end + attr_reader :dimensional_price_configuration + + sig do + params( + dimensional_price_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::DimensionalPriceConfiguration::OrHash + ) + ).void + end + attr_writer :dimensional_price_configuration + + # An alias for the price. + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + # The property used to group this price on an invoice + sig { returns(T.nilable(String)) } + attr_accessor :invoice_grouping_key + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + returns( + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::InvoicingCycleConfiguration + ) + ) + end + attr_reader :invoicing_cycle_configuration + + sig do + params( + invoicing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::InvoicingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :invoicing_cycle_configuration + + # 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`. + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } + attr_accessor :metadata + + sig do + params( + cadence: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::Cadence::OrSymbol, + currency: String, + item_id: String, + name: String, + tiered_config: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::TieredConfig::OrHash, + billable_metric_id: T.nilable(String), + billed_in_advance: T.nilable(T::Boolean), + billing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::BillingCycleConfiguration::OrHash + ), + conversion_rate: T.nilable(Float), + dimensional_price_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::DimensionalPriceConfiguration::OrHash + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::InvoicingCycleConfiguration::OrHash + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), + model_type: Symbol + ).returns(T.attached_class) + end + def self.new( + # The cadence to bill for this price on. + cadence:, + # An ISO 4217 currency string for which this price is billed in. + currency:, + # The id of the item the price will be associated with. + item_id:, + # The name of the price. + name:, + tiered_config:, + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + billable_metric_id: nil, + # 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. + billed_in_advance: nil, + # For custom cadence: specifies the duration of the billing period in days or + # months. + billing_cycle_configuration: nil, + # The per unit conversion rate of the price currency to the invoicing currency. + conversion_rate: nil, + # For dimensional price: specifies a price group and dimension values + dimensional_price_configuration: nil, + # An alias for the price. + external_price_id: nil, + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + fixed_price_quantity: nil, + # The property used to group this price on an invoice + invoice_grouping_key: nil, + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + invoicing_cycle_configuration: nil, + # 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`. + metadata: nil, + model_type: :tiered + ) + end + + sig do + override.returns( + { + cadence: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::Cadence::OrSymbol, + currency: String, + item_id: String, + model_type: Symbol, + name: String, + tiered_config: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::TieredConfig, + billable_metric_id: T.nilable(String), + billed_in_advance: T.nilable(T::Boolean), + billing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::BillingCycleConfiguration + ), + conversion_rate: T.nilable(Float), + dimensional_price_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::DimensionalPriceConfiguration + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::InvoicingCycleConfiguration + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) + } + ) + end + def to_hash + end + + # The cadence to bill for this price on. + module Cadence + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::Cadence + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ANNUAL = + T.let( + :annual, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::Cadence::TaggedSymbol + ) + SEMI_ANNUAL = + T.let( + :semi_annual, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::Cadence::TaggedSymbol + ) + MONTHLY = + T.let( + :monthly, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::Cadence::TaggedSymbol + ) + QUARTERLY = + T.let( + :quarterly, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::Cadence::TaggedSymbol + ) + ONE_TIME = + T.let( + :one_time, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::Cadence::TaggedSymbol + ) + CUSTOM = + T.let( + :custom, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::Cadence::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::Cadence::TaggedSymbol + ] + ) + end + def self.values + end + end + + class TieredConfig < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::TieredConfig, + Orb::Internal::AnyHash + ) + end + + # Tiers for rating based on total usage quantities into the specified tier + sig do + returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::TieredConfig::Tier + ] + ) + end + attr_accessor :tiers + + sig do + params( + tiers: + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::TieredConfig::Tier::OrHash + ] + ).returns(T.attached_class) + end + def self.new( + # Tiers for rating based on total usage quantities into the specified tier + tiers: + ) + end + + sig do + override.returns( + { + tiers: + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::TieredConfig::Tier + ] + } + ) + end + def to_hash + end + + class Tier < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::TieredConfig::Tier, + Orb::Internal::AnyHash + ) + end + + # Exclusive tier starting value + sig { returns(Float) } + attr_accessor :first_unit + + # Amount per unit + sig { returns(String) } + attr_accessor :unit_amount + + # Inclusive tier ending value. If null, this is treated as the last tier + sig { returns(T.nilable(Float)) } + attr_accessor :last_unit + + sig do + params( + first_unit: Float, + unit_amount: String, + last_unit: T.nilable(Float) + ).returns(T.attached_class) + end + def self.new( + # Exclusive tier starting value + first_unit:, + # Amount per unit + unit_amount:, + # Inclusive tier ending value. If null, this is treated as the last tier + last_unit: nil + ) + end + + sig do + override.returns( + { + first_unit: Float, + unit_amount: String, + last_unit: T.nilable(Float) + } + ) + end + def to_hash + end + end + end + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::BillingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::BillingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + params( + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::BillingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::BillingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::BillingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::DimensionalPriceConfiguration, + Orb::Internal::AnyHash + ) + end + + # The list of dimension values matching (in order) the dimensions of the price + # group + sig { returns(T::Array[String]) } + attr_accessor :dimension_values + + # The id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :dimensional_price_group_id + + # The external id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :external_dimensional_price_group_id + + # For dimensional price: specifies a price group and dimension values + sig do + params( + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The list of dimension values matching (in order) the dimensions of the price + # group + dimension_values:, + # The id of the dimensional price group to include this price in + dimensional_price_group_id: nil, + # The external id of the dimensional price group to include this price in + external_dimensional_price_group_id: nil + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + } + ) + end + def to_hash + end + end + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::InvoicingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + params( + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::InvoicingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::InvoicingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + class TieredBps < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps, + Orb::Internal::AnyHash + ) + end + + # The cadence to bill for this price on. + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::Cadence::OrSymbol + ) + end + attr_accessor :cadence + + # An ISO 4217 currency string for which this price is billed in. + sig { returns(String) } + attr_accessor :currency + + # The id of the item the price will be associated with. + sig { returns(String) } + attr_accessor :item_id + + sig { returns(Symbol) } + attr_accessor :model_type + + # The name of the price. + sig { returns(String) } + attr_accessor :name + + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::TieredBpsConfig + ) + end + attr_reader :tiered_bps_config + + sig do + params( + tiered_bps_config: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::TieredBpsConfig::OrHash + ).void + end + attr_writer :tiered_bps_config + + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + sig { returns(T.nilable(String)) } + attr_accessor :billable_metric_id + + # 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. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :billed_in_advance + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + returns( + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::BillingCycleConfiguration + ) + ) + end + attr_reader :billing_cycle_configuration + + sig do + params( + billing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::BillingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :billing_cycle_configuration + + # The per unit conversion rate of the price currency to the invoicing currency. + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + # For dimensional price: specifies a price group and dimension values + sig do + returns( + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::DimensionalPriceConfiguration + ) + ) + end + attr_reader :dimensional_price_configuration + + sig do + params( + dimensional_price_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::DimensionalPriceConfiguration::OrHash + ) + ).void + end + attr_writer :dimensional_price_configuration + + # An alias for the price. + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + # The property used to group this price on an invoice + sig { returns(T.nilable(String)) } + attr_accessor :invoice_grouping_key + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + returns( + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::InvoicingCycleConfiguration + ) + ) + end + attr_reader :invoicing_cycle_configuration + + sig do + params( + invoicing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::InvoicingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :invoicing_cycle_configuration + + # 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`. + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } + attr_accessor :metadata + + sig do + params( + cadence: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::Cadence::OrSymbol, + currency: String, + item_id: String, + name: String, + tiered_bps_config: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::TieredBpsConfig::OrHash, + billable_metric_id: T.nilable(String), + billed_in_advance: T.nilable(T::Boolean), + billing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::BillingCycleConfiguration::OrHash + ), + conversion_rate: T.nilable(Float), + dimensional_price_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::DimensionalPriceConfiguration::OrHash + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::InvoicingCycleConfiguration::OrHash + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), + model_type: Symbol + ).returns(T.attached_class) + end + def self.new( + # The cadence to bill for this price on. + cadence:, + # An ISO 4217 currency string for which this price is billed in. + currency:, + # The id of the item the price will be associated with. + item_id:, + # The name of the price. + name:, + tiered_bps_config:, + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + billable_metric_id: nil, + # 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. + billed_in_advance: nil, + # For custom cadence: specifies the duration of the billing period in days or + # months. + billing_cycle_configuration: nil, + # The per unit conversion rate of the price currency to the invoicing currency. + conversion_rate: nil, + # For dimensional price: specifies a price group and dimension values + dimensional_price_configuration: nil, + # An alias for the price. + external_price_id: nil, + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + fixed_price_quantity: nil, + # The property used to group this price on an invoice + invoice_grouping_key: nil, + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + invoicing_cycle_configuration: nil, + # 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`. + metadata: nil, + model_type: :tiered_bps + ) + end + + sig do + override.returns( + { + cadence: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::Cadence::OrSymbol, + currency: String, + item_id: String, + model_type: Symbol, + name: String, + tiered_bps_config: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::TieredBpsConfig, + billable_metric_id: T.nilable(String), + billed_in_advance: T.nilable(T::Boolean), + billing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::BillingCycleConfiguration + ), + conversion_rate: T.nilable(Float), + dimensional_price_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::DimensionalPriceConfiguration + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::InvoicingCycleConfiguration + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) + } + ) + end + def to_hash + end + + # The cadence to bill for this price on. + module Cadence + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::Cadence + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ANNUAL = + T.let( + :annual, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::Cadence::TaggedSymbol + ) + SEMI_ANNUAL = + T.let( + :semi_annual, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::Cadence::TaggedSymbol + ) + MONTHLY = + T.let( + :monthly, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::Cadence::TaggedSymbol + ) + QUARTERLY = + T.let( + :quarterly, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::Cadence::TaggedSymbol + ) + ONE_TIME = + T.let( + :one_time, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::Cadence::TaggedSymbol + ) + CUSTOM = + T.let( + :custom, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::Cadence::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::Cadence::TaggedSymbol + ] + ) + end + def self.values + end + end + + class TieredBpsConfig < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::TieredBpsConfig, + Orb::Internal::AnyHash + ) + end + + # Tiers for a Graduated BPS pricing model, where usage is bucketed into specified + # tiers + sig do + returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::TieredBpsConfig::Tier + ] + ) + end + attr_accessor :tiers + + sig do + params( + tiers: + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::TieredBpsConfig::Tier::OrHash + ] + ).returns(T.attached_class) + end + def self.new( + # Tiers for a Graduated BPS pricing model, where usage is bucketed into specified + # tiers + tiers: + ) + end + + sig do + override.returns( + { + tiers: + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::TieredBpsConfig::Tier + ] + } + ) + end + def to_hash + end + + class Tier < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::TieredBpsConfig::Tier, + Orb::Internal::AnyHash + ) + end + + # Per-event basis point rate + sig { returns(Float) } + attr_accessor :bps + + # Exclusive tier starting value + sig { returns(String) } + attr_accessor :minimum_amount + + # Inclusive tier ending value + sig { returns(T.nilable(String)) } + attr_accessor :maximum_amount + + # Per unit maximum to charge + sig { returns(T.nilable(String)) } + attr_accessor :per_unit_maximum + + sig do + params( + bps: Float, + minimum_amount: String, + maximum_amount: T.nilable(String), + per_unit_maximum: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # Per-event basis point rate + bps:, + # Exclusive tier starting value + minimum_amount:, + # Inclusive tier ending value + maximum_amount: nil, + # Per unit maximum to charge + per_unit_maximum: nil + ) + end + + sig do + override.returns( + { + bps: Float, + minimum_amount: String, + maximum_amount: T.nilable(String), + per_unit_maximum: T.nilable(String) + } + ) + end + def to_hash + end + end + end + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::BillingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::BillingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + params( + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::BillingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::BillingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::BillingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::DimensionalPriceConfiguration, + Orb::Internal::AnyHash + ) + end + + # The list of dimension values matching (in order) the dimensions of the price + # group + sig { returns(T::Array[String]) } + attr_accessor :dimension_values + + # The id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :dimensional_price_group_id + + # The external id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :external_dimensional_price_group_id + + # For dimensional price: specifies a price group and dimension values + sig do + params( + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The list of dimension values matching (in order) the dimensions of the price + # group + dimension_values:, + # The id of the dimensional price group to include this price in + dimensional_price_group_id: nil, + # The external id of the dimensional price group to include this price in + external_dimensional_price_group_id: nil + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + } + ) + end + def to_hash + end + end + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::InvoicingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + params( + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + class Bps < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps, + Orb::Internal::AnyHash + ) + end + + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::BpsConfig + ) + end + attr_reader :bps_config + + sig do + params( + bps_config: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::BpsConfig::OrHash + ).void + end + attr_writer :bps_config + + # The cadence to bill for this price on. + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::Cadence::OrSymbol + ) + end + attr_accessor :cadence + + # An ISO 4217 currency string for which this price is billed in. + sig { returns(String) } + attr_accessor :currency + + # The id of the item the price will be associated with. + sig { returns(String) } + attr_accessor :item_id + + sig { returns(Symbol) } + attr_accessor :model_type + + # The name of the price. + sig { returns(String) } + attr_accessor :name + + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + sig { returns(T.nilable(String)) } + attr_accessor :billable_metric_id + + # 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. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :billed_in_advance + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + returns( + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::BillingCycleConfiguration + ) + ) + end + attr_reader :billing_cycle_configuration + + sig do + params( + billing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::BillingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :billing_cycle_configuration + + # The per unit conversion rate of the price currency to the invoicing currency. + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + # For dimensional price: specifies a price group and dimension values + sig do + returns( + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::DimensionalPriceConfiguration + ) + ) + end + attr_reader :dimensional_price_configuration + + sig do + params( + dimensional_price_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::DimensionalPriceConfiguration::OrHash + ) + ).void + end + attr_writer :dimensional_price_configuration + + # An alias for the price. + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + # The property used to group this price on an invoice + sig { returns(T.nilable(String)) } + attr_accessor :invoice_grouping_key + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + returns( + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::InvoicingCycleConfiguration + ) + ) + end + attr_reader :invoicing_cycle_configuration + + sig do + params( + invoicing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::InvoicingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :invoicing_cycle_configuration + + # 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`. + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } + attr_accessor :metadata + + sig do + params( + bps_config: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::BpsConfig::OrHash, + cadence: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::Cadence::OrSymbol, + 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::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::BillingCycleConfiguration::OrHash + ), + conversion_rate: T.nilable(Float), + dimensional_price_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::DimensionalPriceConfiguration::OrHash + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::InvoicingCycleConfiguration::OrHash + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), + model_type: Symbol + ).returns(T.attached_class) + end + def self.new( + bps_config:, + # The cadence to bill for this price on. + cadence:, + # An ISO 4217 currency string for which this price is billed in. + currency:, + # The id of the item the price will be associated with. + item_id:, + # The name of the price. + name:, + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + billable_metric_id: nil, + # 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. + billed_in_advance: nil, + # For custom cadence: specifies the duration of the billing period in days or + # months. + billing_cycle_configuration: nil, + # The per unit conversion rate of the price currency to the invoicing currency. + conversion_rate: nil, + # For dimensional price: specifies a price group and dimension values + dimensional_price_configuration: nil, + # An alias for the price. + external_price_id: nil, + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + fixed_price_quantity: nil, + # The property used to group this price on an invoice + invoice_grouping_key: nil, + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + invoicing_cycle_configuration: nil, + # 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`. + metadata: nil, + model_type: :bps + ) + end + + sig do + override.returns( + { + bps_config: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::BpsConfig, + cadence: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::Cadence::OrSymbol, + 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::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::BillingCycleConfiguration + ), + conversion_rate: T.nilable(Float), + dimensional_price_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::DimensionalPriceConfiguration + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::InvoicingCycleConfiguration + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) + } + ) + end + def to_hash + end + + class BpsConfig < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::BpsConfig, + Orb::Internal::AnyHash + ) + end + + # Basis point take rate per event + sig { returns(Float) } + attr_accessor :bps + + # Optional currency amount maximum to cap spend per event + sig { returns(T.nilable(String)) } + attr_accessor :per_unit_maximum + + sig do + params(bps: Float, per_unit_maximum: T.nilable(String)).returns( + T.attached_class + ) + end + def self.new( + # Basis point take rate per event + bps:, + # Optional currency amount maximum to cap spend per event + per_unit_maximum: nil + ) + end + + sig do + override.returns( + { bps: Float, per_unit_maximum: T.nilable(String) } + ) + end + def to_hash + end + end + + # The cadence to bill for this price on. + module Cadence + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::Cadence + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ANNUAL = + T.let( + :annual, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::Cadence::TaggedSymbol + ) + SEMI_ANNUAL = + T.let( + :semi_annual, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::Cadence::TaggedSymbol + ) + MONTHLY = + T.let( + :monthly, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::Cadence::TaggedSymbol + ) + QUARTERLY = + T.let( + :quarterly, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::Cadence::TaggedSymbol + ) + ONE_TIME = + T.let( + :one_time, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::Cadence::TaggedSymbol + ) + CUSTOM = + T.let( + :custom, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::Cadence::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::Cadence::TaggedSymbol + ] + ) + end + def self.values + end + end + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::BillingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::BillingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + params( + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::BillingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::BillingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::BillingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::DimensionalPriceConfiguration, + Orb::Internal::AnyHash + ) + end + + # The list of dimension values matching (in order) the dimensions of the price + # group + sig { returns(T::Array[String]) } + attr_accessor :dimension_values + + # The id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :dimensional_price_group_id + + # The external id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :external_dimensional_price_group_id + + # For dimensional price: specifies a price group and dimension values + sig do + params( + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The list of dimension values matching (in order) the dimensions of the price + # group + dimension_values:, + # The id of the dimensional price group to include this price in + dimensional_price_group_id: nil, + # The external id of the dimensional price group to include this price in + external_dimensional_price_group_id: nil + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + } + ) + end + def to_hash + end + end + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::InvoicingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + params( + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::InvoicingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::InvoicingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + class BulkBps < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps, + Orb::Internal::AnyHash + ) + end + + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::BulkBpsConfig + ) + end + attr_reader :bulk_bps_config + + sig do + params( + bulk_bps_config: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::BulkBpsConfig::OrHash + ).void + end + attr_writer :bulk_bps_config + + # The cadence to bill for this price on. + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::Cadence::OrSymbol + ) + end + attr_accessor :cadence + + # An ISO 4217 currency string for which this price is billed in. + sig { returns(String) } + attr_accessor :currency + + # The id of the item the price will be associated with. + sig { returns(String) } + attr_accessor :item_id + + sig { returns(Symbol) } + attr_accessor :model_type + + # The name of the price. + sig { returns(String) } + attr_accessor :name + + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + sig { returns(T.nilable(String)) } + attr_accessor :billable_metric_id + + # 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. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :billed_in_advance + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + returns( + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::BillingCycleConfiguration + ) + ) + end + attr_reader :billing_cycle_configuration + + sig do + params( + billing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::BillingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :billing_cycle_configuration + + # The per unit conversion rate of the price currency to the invoicing currency. + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + # For dimensional price: specifies a price group and dimension values + sig do + returns( + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::DimensionalPriceConfiguration + ) + ) + end + attr_reader :dimensional_price_configuration + + sig do + params( + dimensional_price_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::DimensionalPriceConfiguration::OrHash + ) + ).void + end + attr_writer :dimensional_price_configuration + + # An alias for the price. + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + # The property used to group this price on an invoice + sig { returns(T.nilable(String)) } + attr_accessor :invoice_grouping_key + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + returns( + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::InvoicingCycleConfiguration + ) + ) + end + attr_reader :invoicing_cycle_configuration + + sig do + params( + invoicing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::InvoicingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :invoicing_cycle_configuration + + # 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`. + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } + attr_accessor :metadata + + sig do + params( + bulk_bps_config: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::BulkBpsConfig::OrHash, + cadence: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::Cadence::OrSymbol, + 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::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::BillingCycleConfiguration::OrHash + ), + conversion_rate: T.nilable(Float), + dimensional_price_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::DimensionalPriceConfiguration::OrHash + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::InvoicingCycleConfiguration::OrHash + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), + model_type: Symbol + ).returns(T.attached_class) + end + def self.new( + bulk_bps_config:, + # The cadence to bill for this price on. + cadence:, + # An ISO 4217 currency string for which this price is billed in. + currency:, + # The id of the item the price will be associated with. + item_id:, + # The name of the price. + name:, + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + billable_metric_id: nil, + # 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. + billed_in_advance: nil, + # For custom cadence: specifies the duration of the billing period in days or + # months. + billing_cycle_configuration: nil, + # The per unit conversion rate of the price currency to the invoicing currency. + conversion_rate: nil, + # For dimensional price: specifies a price group and dimension values + dimensional_price_configuration: nil, + # An alias for the price. + external_price_id: nil, + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + fixed_price_quantity: nil, + # The property used to group this price on an invoice + invoice_grouping_key: nil, + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + invoicing_cycle_configuration: nil, + # 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`. + metadata: nil, + model_type: :bulk_bps + ) + end + + sig do + override.returns( + { + bulk_bps_config: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::BulkBpsConfig, + cadence: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::Cadence::OrSymbol, + 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::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::BillingCycleConfiguration + ), + conversion_rate: T.nilable(Float), + dimensional_price_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::DimensionalPriceConfiguration + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::InvoicingCycleConfiguration + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) + } + ) + end + def to_hash + end + + class BulkBpsConfig < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::BulkBpsConfig, + Orb::Internal::AnyHash + ) + end + + # Tiers for a bulk BPS pricing model where all usage is aggregated to a single + # tier based on total volume + sig do + returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::BulkBpsConfig::Tier + ] + ) + end + attr_accessor :tiers + + sig do + params( + tiers: + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::BulkBpsConfig::Tier::OrHash + ] + ).returns(T.attached_class) + end + def self.new( + # Tiers for a bulk BPS pricing model where all usage is aggregated to a single + # tier based on total volume + tiers: + ) + end + + sig do + override.returns( + { + tiers: + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::BulkBpsConfig::Tier + ] + } + ) + end + def to_hash + end + + class Tier < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::BulkBpsConfig::Tier, + Orb::Internal::AnyHash + ) + end + + # Basis points to rate on + sig { returns(Float) } + attr_accessor :bps + + # Upper bound for tier + sig { returns(T.nilable(String)) } + attr_accessor :maximum_amount + + # The maximum amount to charge for any one event + sig { returns(T.nilable(String)) } + attr_accessor :per_unit_maximum + + sig do + params( + bps: Float, + maximum_amount: T.nilable(String), + per_unit_maximum: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # Basis points to rate on + bps:, + # Upper bound for tier + maximum_amount: nil, + # The maximum amount to charge for any one event + per_unit_maximum: nil + ) + end + + sig do + override.returns( + { + bps: Float, + maximum_amount: T.nilable(String), + per_unit_maximum: T.nilable(String) + } + ) + end + def to_hash + end + end + end + + # The cadence to bill for this price on. + module Cadence + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::Cadence + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ANNUAL = + T.let( + :annual, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::Cadence::TaggedSymbol + ) + SEMI_ANNUAL = + T.let( + :semi_annual, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::Cadence::TaggedSymbol + ) + MONTHLY = + T.let( + :monthly, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::Cadence::TaggedSymbol + ) + QUARTERLY = + T.let( + :quarterly, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::Cadence::TaggedSymbol + ) + ONE_TIME = + T.let( + :one_time, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::Cadence::TaggedSymbol + ) + CUSTOM = + T.let( + :custom, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::Cadence::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::Cadence::TaggedSymbol + ] + ) + end + def self.values + end + end + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::BillingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::BillingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + params( + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::BillingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::BillingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::BillingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::DimensionalPriceConfiguration, + Orb::Internal::AnyHash + ) + end + + # The list of dimension values matching (in order) the dimensions of the price + # group + sig { returns(T::Array[String]) } + attr_accessor :dimension_values + + # The id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :dimensional_price_group_id + + # The external id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :external_dimensional_price_group_id + + # For dimensional price: specifies a price group and dimension values + sig do + params( + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The list of dimension values matching (in order) the dimensions of the price + # group + dimension_values:, + # The id of the dimensional price group to include this price in + dimensional_price_group_id: nil, + # The external id of the dimensional price group to include this price in + external_dimensional_price_group_id: nil + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + } + ) + end + def to_hash + end + end + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::InvoicingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + params( + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + class Bulk < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk, + Orb::Internal::AnyHash + ) + end + + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::BulkConfig + ) + end + attr_reader :bulk_config + + sig do + params( + bulk_config: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::BulkConfig::OrHash + ).void + end + attr_writer :bulk_config + + # The cadence to bill for this price on. + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::Cadence::OrSymbol + ) + end + attr_accessor :cadence + + # An ISO 4217 currency string for which this price is billed in. + sig { returns(String) } + attr_accessor :currency + + # The id of the item the price will be associated with. + sig { returns(String) } + attr_accessor :item_id + + sig { returns(Symbol) } + attr_accessor :model_type + + # The name of the price. + sig { returns(String) } + attr_accessor :name + + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + sig { returns(T.nilable(String)) } + attr_accessor :billable_metric_id + + # 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. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :billed_in_advance + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + returns( + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::BillingCycleConfiguration + ) + ) + end + attr_reader :billing_cycle_configuration + + sig do + params( + billing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::BillingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :billing_cycle_configuration + + # The per unit conversion rate of the price currency to the invoicing currency. + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + # For dimensional price: specifies a price group and dimension values + sig do + returns( + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::DimensionalPriceConfiguration + ) + ) + end + attr_reader :dimensional_price_configuration + + sig do + params( + dimensional_price_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::DimensionalPriceConfiguration::OrHash + ) + ).void + end + attr_writer :dimensional_price_configuration + + # An alias for the price. + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + # The property used to group this price on an invoice + sig { returns(T.nilable(String)) } + attr_accessor :invoice_grouping_key + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + returns( + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::InvoicingCycleConfiguration + ) + ) + end + attr_reader :invoicing_cycle_configuration + + sig do + params( + invoicing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::InvoicingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :invoicing_cycle_configuration + + # 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`. + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } + attr_accessor :metadata + + sig do + params( + bulk_config: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::BulkConfig::OrHash, + cadence: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::Cadence::OrSymbol, + 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::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::BillingCycleConfiguration::OrHash + ), + conversion_rate: T.nilable(Float), + dimensional_price_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::DimensionalPriceConfiguration::OrHash + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::InvoicingCycleConfiguration::OrHash + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), + model_type: Symbol + ).returns(T.attached_class) + end + def self.new( + bulk_config:, + # The cadence to bill for this price on. + cadence:, + # An ISO 4217 currency string for which this price is billed in. + currency:, + # The id of the item the price will be associated with. + item_id:, + # The name of the price. + name:, + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + billable_metric_id: nil, + # 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. + billed_in_advance: nil, + # For custom cadence: specifies the duration of the billing period in days or + # months. + billing_cycle_configuration: nil, + # The per unit conversion rate of the price currency to the invoicing currency. + conversion_rate: nil, + # For dimensional price: specifies a price group and dimension values + dimensional_price_configuration: nil, + # An alias for the price. + external_price_id: nil, + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + fixed_price_quantity: nil, + # The property used to group this price on an invoice + invoice_grouping_key: nil, + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + invoicing_cycle_configuration: nil, + # 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`. + metadata: nil, + model_type: :bulk + ) + end + + sig do + override.returns( + { + bulk_config: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::BulkConfig, + cadence: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::Cadence::OrSymbol, + 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::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::BillingCycleConfiguration + ), + conversion_rate: T.nilable(Float), + dimensional_price_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::DimensionalPriceConfiguration + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::InvoicingCycleConfiguration + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) + } + ) + end + def to_hash + end + + class BulkConfig < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::BulkConfig, + Orb::Internal::AnyHash + ) + end + + # Bulk tiers for rating based on total usage volume + sig do + returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::BulkConfig::Tier + ] + ) + end + attr_accessor :tiers + + sig do + params( + tiers: + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::BulkConfig::Tier::OrHash + ] + ).returns(T.attached_class) + end + def self.new( + # Bulk tiers for rating based on total usage volume + tiers: + ) + end + + sig do + override.returns( + { + tiers: + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::BulkConfig::Tier + ] + } + ) + end + def to_hash + end + + class Tier < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::BulkConfig::Tier, + Orb::Internal::AnyHash + ) + end + + # Amount per unit + sig { returns(String) } + attr_accessor :unit_amount + + # Upper bound for this tier + sig { returns(T.nilable(Float)) } + attr_accessor :maximum_units + + sig do + params( + unit_amount: String, + maximum_units: T.nilable(Float) + ).returns(T.attached_class) + end + def self.new( + # Amount per unit + unit_amount:, + # Upper bound for this tier + maximum_units: nil + ) + end + + sig do + override.returns( + { unit_amount: String, maximum_units: T.nilable(Float) } + ) + end + def to_hash + end + end + end + + # The cadence to bill for this price on. + module Cadence + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::Cadence + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ANNUAL = + T.let( + :annual, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::Cadence::TaggedSymbol + ) + SEMI_ANNUAL = + T.let( + :semi_annual, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::Cadence::TaggedSymbol + ) + MONTHLY = + T.let( + :monthly, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::Cadence::TaggedSymbol + ) + QUARTERLY = + T.let( + :quarterly, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::Cadence::TaggedSymbol + ) + ONE_TIME = + T.let( + :one_time, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::Cadence::TaggedSymbol + ) + CUSTOM = + T.let( + :custom, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::Cadence::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::Cadence::TaggedSymbol + ] + ) + end + def self.values + end + end + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::BillingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::BillingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + params( + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::BillingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::BillingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::BillingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::DimensionalPriceConfiguration, + Orb::Internal::AnyHash + ) + end + + # The list of dimension values matching (in order) the dimensions of the price + # group + sig { returns(T::Array[String]) } + attr_accessor :dimension_values + + # The id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :dimensional_price_group_id + + # The external id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :external_dimensional_price_group_id + + # For dimensional price: specifies a price group and dimension values + sig do + params( + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The list of dimension values matching (in order) the dimensions of the price + # group + dimension_values:, + # The id of the dimensional price group to include this price in + dimensional_price_group_id: nil, + # The external id of the dimensional price group to include this price in + external_dimensional_price_group_id: nil + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + } + ) + end + def to_hash + end + end + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::InvoicingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + params( + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::InvoicingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::InvoicingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + class ThresholdTotalAmount < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount, + Orb::Internal::AnyHash + ) + end + + # The cadence to bill for this price on. + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::Cadence::OrSymbol + ) + end + attr_accessor :cadence + + # An ISO 4217 currency string for which this price is billed in. + sig { returns(String) } + attr_accessor :currency + + # The id of the item the price will be associated with. + sig { returns(String) } + attr_accessor :item_id + + sig { returns(Symbol) } + attr_accessor :model_type + + # The name of the price. + sig { returns(String) } + attr_accessor :name + + sig { returns(T::Hash[Symbol, T.anything]) } + attr_accessor :threshold_total_amount_config + + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + sig { returns(T.nilable(String)) } + attr_accessor :billable_metric_id + + # 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. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :billed_in_advance + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + returns( + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::BillingCycleConfiguration + ) + ) + end + attr_reader :billing_cycle_configuration + + sig do + params( + billing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::BillingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :billing_cycle_configuration + + # The per unit conversion rate of the price currency to the invoicing currency. + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + # For dimensional price: specifies a price group and dimension values + sig do + returns( + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::DimensionalPriceConfiguration + ) + ) + end + attr_reader :dimensional_price_configuration + + sig do + params( + dimensional_price_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::DimensionalPriceConfiguration::OrHash + ) + ).void + end + attr_writer :dimensional_price_configuration + + # An alias for the price. + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + # The property used to group this price on an invoice + sig { returns(T.nilable(String)) } + attr_accessor :invoice_grouping_key + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + returns( + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::InvoicingCycleConfiguration + ) + ) + end + attr_reader :invoicing_cycle_configuration + + sig do + params( + invoicing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :invoicing_cycle_configuration + + # 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`. + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } + attr_accessor :metadata + + sig do + params( + cadence: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::Cadence::OrSymbol, + currency: String, + item_id: String, + name: String, + threshold_total_amount_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::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::BillingCycleConfiguration::OrHash + ), + conversion_rate: T.nilable(Float), + dimensional_price_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::DimensionalPriceConfiguration::OrHash + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::OrHash + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), + model_type: Symbol + ).returns(T.attached_class) + end + def self.new( + # The cadence to bill for this price on. + cadence:, + # An ISO 4217 currency string for which this price is billed in. + currency:, + # The id of the item the price will be associated with. + item_id:, + # The name of the price. + name:, + threshold_total_amount_config:, + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + billable_metric_id: nil, + # 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. + billed_in_advance: nil, + # For custom cadence: specifies the duration of the billing period in days or + # months. + billing_cycle_configuration: nil, + # The per unit conversion rate of the price currency to the invoicing currency. + conversion_rate: nil, + # For dimensional price: specifies a price group and dimension values + dimensional_price_configuration: nil, + # An alias for the price. + external_price_id: nil, + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + fixed_price_quantity: nil, + # The property used to group this price on an invoice + invoice_grouping_key: nil, + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + invoicing_cycle_configuration: nil, + # 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`. + metadata: nil, + model_type: :threshold_total_amount + ) + end + + sig do + override.returns( + { + cadence: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::Cadence::OrSymbol, + currency: String, + item_id: String, + model_type: Symbol, + name: String, + threshold_total_amount_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::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::BillingCycleConfiguration + ), + conversion_rate: T.nilable(Float), + dimensional_price_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::DimensionalPriceConfiguration + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::InvoicingCycleConfiguration + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) + } + ) + end + def to_hash + end + + # The cadence to bill for this price on. + module Cadence + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::Cadence + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ANNUAL = + T.let( + :annual, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::Cadence::TaggedSymbol + ) + SEMI_ANNUAL = + T.let( + :semi_annual, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::Cadence::TaggedSymbol + ) + MONTHLY = + T.let( + :monthly, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::Cadence::TaggedSymbol + ) + QUARTERLY = + T.let( + :quarterly, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::Cadence::TaggedSymbol + ) + ONE_TIME = + T.let( + :one_time, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::Cadence::TaggedSymbol + ) + CUSTOM = + T.let( + :custom, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::Cadence::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::Cadence::TaggedSymbol + ] + ) + end + def self.values + end + end + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::BillingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + params( + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::DimensionalPriceConfiguration, + Orb::Internal::AnyHash + ) + end + + # The list of dimension values matching (in order) the dimensions of the price + # group + sig { returns(T::Array[String]) } + attr_accessor :dimension_values + + # The id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :dimensional_price_group_id + + # The external id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :external_dimensional_price_group_id + + # For dimensional price: specifies a price group and dimension values + sig do + params( + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The list of dimension values matching (in order) the dimensions of the price + # group + dimension_values:, + # The id of the dimensional price group to include this price in + dimensional_price_group_id: nil, + # The external id of the dimensional price group to include this price in + external_dimensional_price_group_id: nil + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + } + ) + end + def to_hash + end + end + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::InvoicingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + params( + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + class TieredPackage < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage, + Orb::Internal::AnyHash + ) + end + + # The cadence to bill for this price on. + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::Cadence::OrSymbol + ) + end + attr_accessor :cadence + + # An ISO 4217 currency string for which this price is billed in. + sig { returns(String) } + attr_accessor :currency + + # The id of the item the price will be associated with. + sig { returns(String) } + attr_accessor :item_id + + sig { returns(Symbol) } + attr_accessor :model_type + + # The name of the price. + sig { returns(String) } + attr_accessor :name + + sig { returns(T::Hash[Symbol, T.anything]) } + attr_accessor :tiered_package_config + + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + sig { returns(T.nilable(String)) } + attr_accessor :billable_metric_id + + # 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. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :billed_in_advance + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + returns( + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::BillingCycleConfiguration + ) + ) + end + attr_reader :billing_cycle_configuration + + sig do + params( + billing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::BillingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :billing_cycle_configuration + + # The per unit conversion rate of the price currency to the invoicing currency. + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + # For dimensional price: specifies a price group and dimension values + sig do + returns( + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::DimensionalPriceConfiguration + ) + ) + end + attr_reader :dimensional_price_configuration + + sig do + params( + dimensional_price_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::DimensionalPriceConfiguration::OrHash + ) + ).void + end + attr_writer :dimensional_price_configuration + + # An alias for the price. + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + # The property used to group this price on an invoice + sig { returns(T.nilable(String)) } + attr_accessor :invoice_grouping_key + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + returns( + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::InvoicingCycleConfiguration + ) + ) + end + attr_reader :invoicing_cycle_configuration + + sig do + params( + invoicing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::InvoicingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :invoicing_cycle_configuration + + # 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`. + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } + attr_accessor :metadata + + sig do + params( + cadence: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::Cadence::OrSymbol, + currency: String, + item_id: String, + name: String, + tiered_package_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::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::BillingCycleConfiguration::OrHash + ), + conversion_rate: T.nilable(Float), + dimensional_price_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::DimensionalPriceConfiguration::OrHash + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::InvoicingCycleConfiguration::OrHash + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), + model_type: Symbol + ).returns(T.attached_class) + end + def self.new( + # The cadence to bill for this price on. + cadence:, + # An ISO 4217 currency string for which this price is billed in. + currency:, + # The id of the item the price will be associated with. + item_id:, + # The name of the price. + name:, + tiered_package_config:, + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + billable_metric_id: nil, + # 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. + billed_in_advance: nil, + # For custom cadence: specifies the duration of the billing period in days or + # months. + billing_cycle_configuration: nil, + # The per unit conversion rate of the price currency to the invoicing currency. + conversion_rate: nil, + # For dimensional price: specifies a price group and dimension values + dimensional_price_configuration: nil, + # An alias for the price. + external_price_id: nil, + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + fixed_price_quantity: nil, + # The property used to group this price on an invoice + invoice_grouping_key: nil, + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + invoicing_cycle_configuration: nil, + # 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`. + metadata: nil, + model_type: :tiered_package + ) + end + + sig do + override.returns( + { + cadence: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::Cadence::OrSymbol, + currency: String, + item_id: String, + model_type: Symbol, + name: String, + tiered_package_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::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::BillingCycleConfiguration + ), + conversion_rate: T.nilable(Float), + dimensional_price_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::DimensionalPriceConfiguration + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::InvoicingCycleConfiguration + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) + } + ) + end + def to_hash + end + + # The cadence to bill for this price on. + module Cadence + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::Cadence + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ANNUAL = + T.let( + :annual, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::Cadence::TaggedSymbol + ) + SEMI_ANNUAL = + T.let( + :semi_annual, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::Cadence::TaggedSymbol + ) + MONTHLY = + T.let( + :monthly, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::Cadence::TaggedSymbol + ) + QUARTERLY = + T.let( + :quarterly, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::Cadence::TaggedSymbol + ) + ONE_TIME = + T.let( + :one_time, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::Cadence::TaggedSymbol + ) + CUSTOM = + T.let( + :custom, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::Cadence::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::Cadence::TaggedSymbol + ] + ) + end + def self.values + end + end + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::BillingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + params( + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::BillingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::DimensionalPriceConfiguration, + Orb::Internal::AnyHash + ) + end + + # The list of dimension values matching (in order) the dimensions of the price + # group + sig { returns(T::Array[String]) } + attr_accessor :dimension_values + + # The id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :dimensional_price_group_id + + # The external id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :external_dimensional_price_group_id + + # For dimensional price: specifies a price group and dimension values + sig do + params( + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The list of dimension values matching (in order) the dimensions of the price + # group + dimension_values:, + # The id of the dimensional price group to include this price in + dimensional_price_group_id: nil, + # The external id of the dimensional price group to include this price in + external_dimensional_price_group_id: nil + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + } + ) + end + def to_hash + end + end + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::InvoicingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + params( + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + class GroupedTiered < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered, + Orb::Internal::AnyHash + ) + end + + # The cadence to bill for this price on. + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::Cadence::OrSymbol + ) + end + attr_accessor :cadence + + # An ISO 4217 currency string for which this price is billed in. + sig { returns(String) } + attr_accessor :currency + + sig { returns(T::Hash[Symbol, T.anything]) } + attr_accessor :grouped_tiered_config + + # The id of the item the price will be associated with. + sig { returns(String) } + attr_accessor :item_id + + sig { returns(Symbol) } + attr_accessor :model_type + + # The name of the price. + sig { returns(String) } + attr_accessor :name + + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + sig { returns(T.nilable(String)) } + attr_accessor :billable_metric_id + + # 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. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :billed_in_advance + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + returns( + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::BillingCycleConfiguration + ) + ) + end + attr_reader :billing_cycle_configuration + + sig do + params( + billing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::BillingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :billing_cycle_configuration + + # The per unit conversion rate of the price currency to the invoicing currency. + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + # For dimensional price: specifies a price group and dimension values + sig do + returns( + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::DimensionalPriceConfiguration + ) + ) + end + attr_reader :dimensional_price_configuration + + sig do + params( + dimensional_price_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::DimensionalPriceConfiguration::OrHash + ) + ).void + end + attr_writer :dimensional_price_configuration + + # An alias for the price. + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + # The property used to group this price on an invoice + sig { returns(T.nilable(String)) } + attr_accessor :invoice_grouping_key + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + returns( + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::InvoicingCycleConfiguration + ) + ) + end + attr_reader :invoicing_cycle_configuration + + sig do + params( + invoicing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::InvoicingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :invoicing_cycle_configuration + + # 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`. + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } + attr_accessor :metadata + + sig do + params( + cadence: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::Cadence::OrSymbol, + currency: String, + grouped_tiered_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::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::BillingCycleConfiguration::OrHash + ), + conversion_rate: T.nilable(Float), + dimensional_price_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::DimensionalPriceConfiguration::OrHash + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::InvoicingCycleConfiguration::OrHash + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), + model_type: Symbol + ).returns(T.attached_class) + end + def self.new( + # The cadence to bill for this price on. + cadence:, + # An ISO 4217 currency string for which this price is billed in. + currency:, + grouped_tiered_config:, + # The id of the item the price will be associated with. + item_id:, + # The name of the price. + name:, + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + billable_metric_id: nil, + # 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. + billed_in_advance: nil, + # For custom cadence: specifies the duration of the billing period in days or + # months. + billing_cycle_configuration: nil, + # The per unit conversion rate of the price currency to the invoicing currency. + conversion_rate: nil, + # For dimensional price: specifies a price group and dimension values + dimensional_price_configuration: nil, + # An alias for the price. + external_price_id: nil, + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + fixed_price_quantity: nil, + # The property used to group this price on an invoice + invoice_grouping_key: nil, + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + invoicing_cycle_configuration: nil, + # 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`. + metadata: nil, + model_type: :grouped_tiered + ) + end + + sig do + override.returns( + { + cadence: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::Cadence::OrSymbol, + currency: String, + grouped_tiered_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::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::BillingCycleConfiguration + ), + conversion_rate: T.nilable(Float), + dimensional_price_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::DimensionalPriceConfiguration + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::InvoicingCycleConfiguration + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) + } + ) + end + def to_hash + end + + # The cadence to bill for this price on. + module Cadence + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::Cadence + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ANNUAL = + T.let( + :annual, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::Cadence::TaggedSymbol + ) + SEMI_ANNUAL = + T.let( + :semi_annual, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::Cadence::TaggedSymbol + ) + MONTHLY = + T.let( + :monthly, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::Cadence::TaggedSymbol + ) + QUARTERLY = + T.let( + :quarterly, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::Cadence::TaggedSymbol + ) + ONE_TIME = + T.let( + :one_time, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::Cadence::TaggedSymbol + ) + CUSTOM = + T.let( + :custom, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::Cadence::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::Cadence::TaggedSymbol + ] + ) + end + def self.values + end + end + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::BillingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + params( + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::DimensionalPriceConfiguration, + Orb::Internal::AnyHash + ) + end + + # The list of dimension values matching (in order) the dimensions of the price + # group + sig { returns(T::Array[String]) } + attr_accessor :dimension_values + + # The id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :dimensional_price_group_id + + # The external id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :external_dimensional_price_group_id + + # For dimensional price: specifies a price group and dimension values + sig do + params( + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The list of dimension values matching (in order) the dimensions of the price + # group + dimension_values:, + # The id of the dimensional price group to include this price in + dimensional_price_group_id: nil, + # The external id of the dimensional price group to include this price in + external_dimensional_price_group_id: nil + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + } + ) + end + def to_hash + end + end + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::InvoicingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + params( + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + class MaxGroupTieredPackage < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage, + Orb::Internal::AnyHash + ) + end + + # The cadence to bill for this price on. + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::Cadence::OrSymbol + ) + end + attr_accessor :cadence + + # An ISO 4217 currency string for which this price is billed in. + sig { returns(String) } + attr_accessor :currency + + # The id of the item the price will be associated with. + sig { returns(String) } + attr_accessor :item_id + + sig { returns(T::Hash[Symbol, T.anything]) } + attr_accessor :max_group_tiered_package_config + + sig { returns(Symbol) } + attr_accessor :model_type + + # The name of the price. + sig { returns(String) } + attr_accessor :name + + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + sig { returns(T.nilable(String)) } + attr_accessor :billable_metric_id + + # 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. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :billed_in_advance + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + returns( + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::BillingCycleConfiguration + ) + ) + end + attr_reader :billing_cycle_configuration + + sig do + params( + billing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::BillingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :billing_cycle_configuration + + # The per unit conversion rate of the price currency to the invoicing currency. + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + # For dimensional price: specifies a price group and dimension values + sig do + returns( + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration + ) + ) + end + attr_reader :dimensional_price_configuration + + sig do + params( + dimensional_price_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration::OrHash + ) + ).void + end + attr_writer :dimensional_price_configuration + + # An alias for the price. + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + # The property used to group this price on an invoice + sig { returns(T.nilable(String)) } + attr_accessor :invoice_grouping_key + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + returns( + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration + ) + ) + end + attr_reader :invoicing_cycle_configuration + + sig do + params( + invoicing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :invoicing_cycle_configuration + + # 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`. + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } + attr_accessor :metadata + + sig do + params( + cadence: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::Cadence::OrSymbol, + currency: String, + item_id: String, + max_group_tiered_package_config: T::Hash[Symbol, T.anything], + name: String, + billable_metric_id: T.nilable(String), + billed_in_advance: T.nilable(T::Boolean), + billing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::BillingCycleConfiguration::OrHash + ), + conversion_rate: T.nilable(Float), + dimensional_price_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration::OrHash + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::OrHash + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), + model_type: Symbol + ).returns(T.attached_class) + end + def self.new( + # The cadence to bill for this price on. + cadence:, + # An ISO 4217 currency string for which this price is billed in. + currency:, + # The id of the item the price will be associated with. + item_id:, + max_group_tiered_package_config:, + # The name of the price. + name:, + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + billable_metric_id: nil, + # 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. + billed_in_advance: nil, + # For custom cadence: specifies the duration of the billing period in days or + # months. + billing_cycle_configuration: nil, + # The per unit conversion rate of the price currency to the invoicing currency. + conversion_rate: nil, + # For dimensional price: specifies a price group and dimension values + dimensional_price_configuration: nil, + # An alias for the price. + external_price_id: nil, + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + fixed_price_quantity: nil, + # The property used to group this price on an invoice + invoice_grouping_key: nil, + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + invoicing_cycle_configuration: nil, + # 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`. + metadata: nil, + model_type: :max_group_tiered_package + ) + end + + sig do + override.returns( + { + cadence: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::Cadence::OrSymbol, + currency: String, + item_id: String, + max_group_tiered_package_config: T::Hash[Symbol, T.anything], + model_type: Symbol, + name: String, + billable_metric_id: T.nilable(String), + billed_in_advance: T.nilable(T::Boolean), + billing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::BillingCycleConfiguration + ), + conversion_rate: T.nilable(Float), + dimensional_price_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) + } + ) + end + def to_hash + end + + # The cadence to bill for this price on. + module Cadence + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::Cadence + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ANNUAL = + T.let( + :annual, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::Cadence::TaggedSymbol + ) + SEMI_ANNUAL = + T.let( + :semi_annual, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::Cadence::TaggedSymbol + ) + MONTHLY = + T.let( + :monthly, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::Cadence::TaggedSymbol + ) + QUARTERLY = + T.let( + :quarterly, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::Cadence::TaggedSymbol + ) + ONE_TIME = + T.let( + :one_time, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::Cadence::TaggedSymbol + ) + CUSTOM = + T.let( + :custom, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::Cadence::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::Cadence::TaggedSymbol + ] + ) + end + def self.values + end + end + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::BillingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + params( + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration, + Orb::Internal::AnyHash + ) + end + + # The list of dimension values matching (in order) the dimensions of the price + # group + sig { returns(T::Array[String]) } + attr_accessor :dimension_values + + # The id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :dimensional_price_group_id + + # The external id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :external_dimensional_price_group_id + + # For dimensional price: specifies a price group and dimension values + sig do + params( + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The list of dimension values matching (in order) the dimensions of the price + # group + dimension_values:, + # The id of the dimensional price group to include this price in + dimensional_price_group_id: nil, + # The external id of the dimensional price group to include this price in + external_dimensional_price_group_id: nil + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + } + ) + end + def to_hash + end + end + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + params( + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + class TieredWithMinimum < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum, + Orb::Internal::AnyHash + ) + end + + # The cadence to bill for this price on. + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::Cadence::OrSymbol + ) + end + attr_accessor :cadence + + # An ISO 4217 currency string for which this price is billed in. + sig { returns(String) } + attr_accessor :currency + + # The id of the item the price will be associated with. + sig { returns(String) } + attr_accessor :item_id + + sig { returns(Symbol) } + attr_accessor :model_type + + # The name of the price. + sig { returns(String) } + attr_accessor :name + + sig { returns(T::Hash[Symbol, T.anything]) } + attr_accessor :tiered_with_minimum_config + + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + sig { returns(T.nilable(String)) } + attr_accessor :billable_metric_id + + # 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. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :billed_in_advance + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + returns( + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::BillingCycleConfiguration + ) + ) + end + attr_reader :billing_cycle_configuration + + sig do + params( + billing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::BillingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :billing_cycle_configuration + + # The per unit conversion rate of the price currency to the invoicing currency. + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + # For dimensional price: specifies a price group and dimension values + sig do + returns( + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::DimensionalPriceConfiguration + ) + ) + end + attr_reader :dimensional_price_configuration + + sig do + params( + dimensional_price_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::DimensionalPriceConfiguration::OrHash + ) + ).void + end + attr_writer :dimensional_price_configuration + + # An alias for the price. + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + # The property used to group this price on an invoice + sig { returns(T.nilable(String)) } + attr_accessor :invoice_grouping_key + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + returns( + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::InvoicingCycleConfiguration + ) + ) + end + attr_reader :invoicing_cycle_configuration + + sig do + params( + invoicing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::InvoicingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :invoicing_cycle_configuration + + # 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`. + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } + attr_accessor :metadata + + sig do + params( + cadence: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::Cadence::OrSymbol, + currency: String, + item_id: String, + name: String, + tiered_with_minimum_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::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::BillingCycleConfiguration::OrHash + ), + conversion_rate: T.nilable(Float), + dimensional_price_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::DimensionalPriceConfiguration::OrHash + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::InvoicingCycleConfiguration::OrHash + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), + model_type: Symbol + ).returns(T.attached_class) + end + def self.new( + # The cadence to bill for this price on. + cadence:, + # An ISO 4217 currency string for which this price is billed in. + currency:, + # The id of the item the price will be associated with. + item_id:, + # The name of the price. + name:, + tiered_with_minimum_config:, + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + billable_metric_id: nil, + # 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. + billed_in_advance: nil, + # For custom cadence: specifies the duration of the billing period in days or + # months. + billing_cycle_configuration: nil, + # The per unit conversion rate of the price currency to the invoicing currency. + conversion_rate: nil, + # For dimensional price: specifies a price group and dimension values + dimensional_price_configuration: nil, + # An alias for the price. + external_price_id: nil, + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + fixed_price_quantity: nil, + # The property used to group this price on an invoice + invoice_grouping_key: nil, + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + invoicing_cycle_configuration: nil, + # 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`. + metadata: nil, + model_type: :tiered_with_minimum + ) + end + + sig do + override.returns( + { + cadence: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::Cadence::OrSymbol, + currency: String, + item_id: String, + model_type: Symbol, + name: String, + tiered_with_minimum_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::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::BillingCycleConfiguration + ), + conversion_rate: T.nilable(Float), + dimensional_price_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::DimensionalPriceConfiguration + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::InvoicingCycleConfiguration + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) + } + ) + end + def to_hash + end + + # The cadence to bill for this price on. + module Cadence + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::Cadence + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ANNUAL = + T.let( + :annual, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::Cadence::TaggedSymbol + ) + SEMI_ANNUAL = + T.let( + :semi_annual, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::Cadence::TaggedSymbol + ) + MONTHLY = + T.let( + :monthly, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::Cadence::TaggedSymbol + ) + QUARTERLY = + T.let( + :quarterly, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::Cadence::TaggedSymbol + ) + ONE_TIME = + T.let( + :one_time, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::Cadence::TaggedSymbol + ) + CUSTOM = + T.let( + :custom, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::Cadence::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::Cadence::TaggedSymbol + ] + ) + end + def self.values + end + end + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::BillingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + params( + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::DimensionalPriceConfiguration, + Orb::Internal::AnyHash + ) + end + + # The list of dimension values matching (in order) the dimensions of the price + # group + sig { returns(T::Array[String]) } + attr_accessor :dimension_values + + # The id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :dimensional_price_group_id + + # The external id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :external_dimensional_price_group_id + + # For dimensional price: specifies a price group and dimension values + sig do + params( + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The list of dimension values matching (in order) the dimensions of the price + # group + dimension_values:, + # The id of the dimensional price group to include this price in + dimensional_price_group_id: nil, + # The external id of the dimensional price group to include this price in + external_dimensional_price_group_id: nil + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + } + ) + end + def to_hash + end + end + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::InvoicingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + params( + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + class PackageWithAllocation < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation, + Orb::Internal::AnyHash + ) + end + + # The cadence to bill for this price on. + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::Cadence::OrSymbol + ) + end + attr_accessor :cadence + + # An ISO 4217 currency string for which this price is billed in. + sig { returns(String) } + attr_accessor :currency + + # The id of the item the price will be associated with. + sig { returns(String) } + attr_accessor :item_id + + sig { returns(Symbol) } + attr_accessor :model_type + + # The name of the price. + sig { returns(String) } + attr_accessor :name + + sig { returns(T::Hash[Symbol, T.anything]) } + attr_accessor :package_with_allocation_config + + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + sig { returns(T.nilable(String)) } + attr_accessor :billable_metric_id + + # 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. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :billed_in_advance + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + returns( + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::BillingCycleConfiguration + ) + ) + end + attr_reader :billing_cycle_configuration + + sig do + params( + billing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::BillingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :billing_cycle_configuration + + # The per unit conversion rate of the price currency to the invoicing currency. + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + # For dimensional price: specifies a price group and dimension values + sig do + returns( + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::DimensionalPriceConfiguration + ) + ) + end + attr_reader :dimensional_price_configuration + + sig do + params( + dimensional_price_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::DimensionalPriceConfiguration::OrHash + ) + ).void + end + attr_writer :dimensional_price_configuration + + # An alias for the price. + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + # The property used to group this price on an invoice + sig { returns(T.nilable(String)) } + attr_accessor :invoice_grouping_key + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + returns( + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::InvoicingCycleConfiguration + ) + ) + end + attr_reader :invoicing_cycle_configuration + + sig do + params( + invoicing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::InvoicingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :invoicing_cycle_configuration + + # 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`. + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } + attr_accessor :metadata + + sig do + params( + cadence: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::Cadence::OrSymbol, + currency: String, + item_id: String, + name: String, + package_with_allocation_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::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::BillingCycleConfiguration::OrHash + ), + conversion_rate: T.nilable(Float), + dimensional_price_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::DimensionalPriceConfiguration::OrHash + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::InvoicingCycleConfiguration::OrHash + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), + model_type: Symbol + ).returns(T.attached_class) + end + def self.new( + # The cadence to bill for this price on. + cadence:, + # An ISO 4217 currency string for which this price is billed in. + currency:, + # The id of the item the price will be associated with. + item_id:, + # The name of the price. + name:, + package_with_allocation_config:, + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + billable_metric_id: nil, + # 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. + billed_in_advance: nil, + # For custom cadence: specifies the duration of the billing period in days or + # months. + billing_cycle_configuration: nil, + # The per unit conversion rate of the price currency to the invoicing currency. + conversion_rate: nil, + # For dimensional price: specifies a price group and dimension values + dimensional_price_configuration: nil, + # An alias for the price. + external_price_id: nil, + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + fixed_price_quantity: nil, + # The property used to group this price on an invoice + invoice_grouping_key: nil, + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + invoicing_cycle_configuration: nil, + # 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`. + metadata: nil, + model_type: :package_with_allocation + ) + end + + sig do + override.returns( + { + cadence: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::Cadence::OrSymbol, + currency: String, + item_id: String, + model_type: Symbol, + name: String, + package_with_allocation_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::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::BillingCycleConfiguration + ), + conversion_rate: T.nilable(Float), + dimensional_price_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::DimensionalPriceConfiguration + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::InvoicingCycleConfiguration + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) + } + ) + end + def to_hash + end + + # The cadence to bill for this price on. + module Cadence + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::Cadence + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ANNUAL = + T.let( + :annual, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::Cadence::TaggedSymbol + ) + SEMI_ANNUAL = + T.let( + :semi_annual, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::Cadence::TaggedSymbol + ) + MONTHLY = + T.let( + :monthly, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::Cadence::TaggedSymbol + ) + QUARTERLY = + T.let( + :quarterly, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::Cadence::TaggedSymbol + ) + ONE_TIME = + T.let( + :one_time, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::Cadence::TaggedSymbol + ) + CUSTOM = + T.let( + :custom, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::Cadence::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::Cadence::TaggedSymbol + ] + ) + end + def self.values + end + end + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::BillingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + params( + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::DimensionalPriceConfiguration, + Orb::Internal::AnyHash + ) + end + + # The list of dimension values matching (in order) the dimensions of the price + # group + sig { returns(T::Array[String]) } + attr_accessor :dimension_values + + # The id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :dimensional_price_group_id + + # The external id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :external_dimensional_price_group_id + + # For dimensional price: specifies a price group and dimension values + sig do + params( + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The list of dimension values matching (in order) the dimensions of the price + # group + dimension_values:, + # The id of the dimensional price group to include this price in + dimensional_price_group_id: nil, + # The external id of the dimensional price group to include this price in + external_dimensional_price_group_id: nil + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + } + ) + end + def to_hash + end + end + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::InvoicingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + params( + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + class TieredPackageWithMinimum < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum, + Orb::Internal::AnyHash + ) + end + + # The cadence to bill for this price on. + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::Cadence::OrSymbol + ) + end + attr_accessor :cadence + + # An ISO 4217 currency string for which this price is billed in. + sig { returns(String) } + attr_accessor :currency + + # The id of the item the price will be associated with. + sig { returns(String) } + attr_accessor :item_id + + sig { returns(Symbol) } + attr_accessor :model_type + + # The name of the price. + sig { returns(String) } + attr_accessor :name + + sig { returns(T::Hash[Symbol, T.anything]) } + attr_accessor :tiered_package_with_minimum_config + + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + sig { returns(T.nilable(String)) } + attr_accessor :billable_metric_id + + # 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. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :billed_in_advance + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + returns( + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::BillingCycleConfiguration + ) + ) + end + attr_reader :billing_cycle_configuration + + sig do + params( + billing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::BillingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :billing_cycle_configuration + + # The per unit conversion rate of the price currency to the invoicing currency. + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + # For dimensional price: specifies a price group and dimension values + sig do + returns( + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration + ) + ) + end + attr_reader :dimensional_price_configuration + + sig do + params( + dimensional_price_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration::OrHash + ) + ).void + end + attr_writer :dimensional_price_configuration + + # An alias for the price. + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + # The property used to group this price on an invoice + sig { returns(T.nilable(String)) } + attr_accessor :invoice_grouping_key + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + returns( + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration + ) + ) + end + attr_reader :invoicing_cycle_configuration + + sig do + params( + invoicing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :invoicing_cycle_configuration + + # 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`. + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } + attr_accessor :metadata + + sig do + params( + cadence: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::Cadence::OrSymbol, + currency: String, + item_id: String, + name: String, + tiered_package_with_minimum_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::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::BillingCycleConfiguration::OrHash + ), + conversion_rate: T.nilable(Float), + dimensional_price_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration::OrHash + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::OrHash + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), + model_type: Symbol + ).returns(T.attached_class) + end + def self.new( + # The cadence to bill for this price on. + cadence:, + # An ISO 4217 currency string for which this price is billed in. + currency:, + # The id of the item the price will be associated with. + item_id:, + # The name of the price. + name:, + tiered_package_with_minimum_config:, + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + billable_metric_id: nil, + # 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. + billed_in_advance: nil, + # For custom cadence: specifies the duration of the billing period in days or + # months. + billing_cycle_configuration: nil, + # The per unit conversion rate of the price currency to the invoicing currency. + conversion_rate: nil, + # For dimensional price: specifies a price group and dimension values + dimensional_price_configuration: nil, + # An alias for the price. + external_price_id: nil, + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + fixed_price_quantity: nil, + # The property used to group this price on an invoice + invoice_grouping_key: nil, + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + invoicing_cycle_configuration: nil, + # 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`. + metadata: nil, + model_type: :tiered_package_with_minimum + ) + end + + sig do + override.returns( + { + cadence: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::Cadence::OrSymbol, + currency: String, + item_id: String, + model_type: Symbol, + name: String, + tiered_package_with_minimum_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::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::BillingCycleConfiguration + ), + conversion_rate: T.nilable(Float), + dimensional_price_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) + } + ) + end + def to_hash + end + + # The cadence to bill for this price on. + module Cadence + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::Cadence + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ANNUAL = + T.let( + :annual, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::Cadence::TaggedSymbol + ) + SEMI_ANNUAL = + T.let( + :semi_annual, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::Cadence::TaggedSymbol + ) + MONTHLY = + T.let( + :monthly, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::Cadence::TaggedSymbol + ) + QUARTERLY = + T.let( + :quarterly, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::Cadence::TaggedSymbol + ) + ONE_TIME = + T.let( + :one_time, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::Cadence::TaggedSymbol + ) + CUSTOM = + T.let( + :custom, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::Cadence::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::Cadence::TaggedSymbol + ] + ) + end + def self.values + end + end + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::BillingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + params( + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration, + Orb::Internal::AnyHash + ) + end + + # The list of dimension values matching (in order) the dimensions of the price + # group + sig { returns(T::Array[String]) } + attr_accessor :dimension_values + + # The id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :dimensional_price_group_id + + # The external id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :external_dimensional_price_group_id + + # For dimensional price: specifies a price group and dimension values + sig do + params( + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The list of dimension values matching (in order) the dimensions of the price + # group + dimension_values:, + # The id of the dimensional price group to include this price in + dimensional_price_group_id: nil, + # The external id of the dimensional price group to include this price in + external_dimensional_price_group_id: nil + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + } + ) + end + def to_hash + end + end + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + params( + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + class UnitWithPercent < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent, + Orb::Internal::AnyHash + ) + end + + # The cadence to bill for this price on. + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::Cadence::OrSymbol + ) + end + attr_accessor :cadence + + # An ISO 4217 currency string for which this price is billed in. + sig { returns(String) } + attr_accessor :currency + + # The id of the item the price will be associated with. + sig { returns(String) } + attr_accessor :item_id + + sig { returns(Symbol) } + attr_accessor :model_type + + # The name of the price. + sig { returns(String) } + attr_accessor :name + + sig { returns(T::Hash[Symbol, T.anything]) } + attr_accessor :unit_with_percent_config + + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + sig { returns(T.nilable(String)) } + attr_accessor :billable_metric_id + + # 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. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :billed_in_advance + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + returns( + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::BillingCycleConfiguration + ) + ) + end + attr_reader :billing_cycle_configuration + + sig do + params( + billing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::BillingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :billing_cycle_configuration + + # The per unit conversion rate of the price currency to the invoicing currency. + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + # For dimensional price: specifies a price group and dimension values + sig do + returns( + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::DimensionalPriceConfiguration + ) + ) + end + attr_reader :dimensional_price_configuration + + sig do + params( + dimensional_price_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::DimensionalPriceConfiguration::OrHash + ) + ).void + end + attr_writer :dimensional_price_configuration + + # An alias for the price. + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + # The property used to group this price on an invoice + sig { returns(T.nilable(String)) } + attr_accessor :invoice_grouping_key + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + returns( + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::InvoicingCycleConfiguration + ) + ) + end + attr_reader :invoicing_cycle_configuration + + sig do + params( + invoicing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::InvoicingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :invoicing_cycle_configuration + + # 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`. + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } + attr_accessor :metadata + + sig do + params( + cadence: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::Cadence::OrSymbol, + currency: String, + item_id: String, + name: String, + unit_with_percent_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::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::BillingCycleConfiguration::OrHash + ), + conversion_rate: T.nilable(Float), + dimensional_price_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::DimensionalPriceConfiguration::OrHash + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::InvoicingCycleConfiguration::OrHash + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), + model_type: Symbol + ).returns(T.attached_class) + end + def self.new( + # The cadence to bill for this price on. + cadence:, + # An ISO 4217 currency string for which this price is billed in. + currency:, + # The id of the item the price will be associated with. + item_id:, + # The name of the price. + name:, + unit_with_percent_config:, + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + billable_metric_id: nil, + # 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. + billed_in_advance: nil, + # For custom cadence: specifies the duration of the billing period in days or + # months. + billing_cycle_configuration: nil, + # The per unit conversion rate of the price currency to the invoicing currency. + conversion_rate: nil, + # For dimensional price: specifies a price group and dimension values + dimensional_price_configuration: nil, + # An alias for the price. + external_price_id: nil, + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + fixed_price_quantity: nil, + # The property used to group this price on an invoice + invoice_grouping_key: nil, + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + invoicing_cycle_configuration: nil, + # 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`. + metadata: nil, + model_type: :unit_with_percent + ) + end + + sig do + override.returns( + { + cadence: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::Cadence::OrSymbol, + currency: String, + item_id: String, + model_type: Symbol, + name: String, + unit_with_percent_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::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::BillingCycleConfiguration + ), + conversion_rate: T.nilable(Float), + dimensional_price_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::DimensionalPriceConfiguration + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::InvoicingCycleConfiguration + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) + } + ) + end + def to_hash + end + + # The cadence to bill for this price on. + module Cadence + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::Cadence + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ANNUAL = + T.let( + :annual, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::Cadence::TaggedSymbol + ) + SEMI_ANNUAL = + T.let( + :semi_annual, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::Cadence::TaggedSymbol + ) + MONTHLY = + T.let( + :monthly, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::Cadence::TaggedSymbol + ) + QUARTERLY = + T.let( + :quarterly, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::Cadence::TaggedSymbol + ) + ONE_TIME = + T.let( + :one_time, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::Cadence::TaggedSymbol + ) + CUSTOM = + T.let( + :custom, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::Cadence::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::Cadence::TaggedSymbol + ] + ) + end + def self.values + end + end + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::BillingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + params( + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::DimensionalPriceConfiguration, + Orb::Internal::AnyHash + ) + end + + # The list of dimension values matching (in order) the dimensions of the price + # group + sig { returns(T::Array[String]) } + attr_accessor :dimension_values + + # The id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :dimensional_price_group_id + + # The external id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :external_dimensional_price_group_id + + # For dimensional price: specifies a price group and dimension values + sig do + params( + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The list of dimension values matching (in order) the dimensions of the price + # group + dimension_values:, + # The id of the dimensional price group to include this price in + dimensional_price_group_id: nil, + # The external id of the dimensional price group to include this price in + external_dimensional_price_group_id: nil + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + } + ) + end + def to_hash + end + end + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::InvoicingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + params( + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + class TieredWithProration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration, + Orb::Internal::AnyHash + ) + end + + # The cadence to bill for this price on. + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::Cadence::OrSymbol + ) + end + attr_accessor :cadence + + # An ISO 4217 currency string for which this price is billed in. + sig { returns(String) } + attr_accessor :currency + + # The id of the item the price will be associated with. + sig { returns(String) } + attr_accessor :item_id + + sig { returns(Symbol) } + attr_accessor :model_type + + # The name of the price. + sig { returns(String) } + attr_accessor :name + + sig { returns(T::Hash[Symbol, T.anything]) } + attr_accessor :tiered_with_proration_config + + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + sig { returns(T.nilable(String)) } + attr_accessor :billable_metric_id + + # 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. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :billed_in_advance + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + returns( + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::BillingCycleConfiguration + ) + ) + end + attr_reader :billing_cycle_configuration + + sig do + params( + billing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::BillingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :billing_cycle_configuration + + # The per unit conversion rate of the price currency to the invoicing currency. + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + # For dimensional price: specifies a price group and dimension values + sig do + returns( + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::DimensionalPriceConfiguration + ) + ) + end + attr_reader :dimensional_price_configuration + + sig do + params( + dimensional_price_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::DimensionalPriceConfiguration::OrHash + ) + ).void + end + attr_writer :dimensional_price_configuration + + # An alias for the price. + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + # The property used to group this price on an invoice + sig { returns(T.nilable(String)) } + attr_accessor :invoice_grouping_key + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + returns( + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::InvoicingCycleConfiguration + ) + ) + end + attr_reader :invoicing_cycle_configuration + + sig do + params( + invoicing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::InvoicingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :invoicing_cycle_configuration + + # 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`. + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } + attr_accessor :metadata + + sig do + params( + cadence: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::Cadence::OrSymbol, + currency: String, + item_id: String, + name: String, + tiered_with_proration_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::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::BillingCycleConfiguration::OrHash + ), + conversion_rate: T.nilable(Float), + dimensional_price_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::DimensionalPriceConfiguration::OrHash + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::InvoicingCycleConfiguration::OrHash + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), + model_type: Symbol + ).returns(T.attached_class) + end + def self.new( + # The cadence to bill for this price on. + cadence:, + # An ISO 4217 currency string for which this price is billed in. + currency:, + # The id of the item the price will be associated with. + item_id:, + # The name of the price. + name:, + tiered_with_proration_config:, + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + billable_metric_id: nil, + # 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. + billed_in_advance: nil, + # For custom cadence: specifies the duration of the billing period in days or + # months. + billing_cycle_configuration: nil, + # The per unit conversion rate of the price currency to the invoicing currency. + conversion_rate: nil, + # For dimensional price: specifies a price group and dimension values + dimensional_price_configuration: nil, + # An alias for the price. + external_price_id: nil, + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + fixed_price_quantity: nil, + # The property used to group this price on an invoice + invoice_grouping_key: nil, + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + invoicing_cycle_configuration: nil, + # 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`. + metadata: nil, + model_type: :tiered_with_proration + ) + end + + sig do + override.returns( + { + cadence: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::Cadence::OrSymbol, + currency: String, + item_id: String, + model_type: Symbol, + name: String, + tiered_with_proration_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::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::BillingCycleConfiguration + ), + conversion_rate: T.nilable(Float), + dimensional_price_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::DimensionalPriceConfiguration + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::InvoicingCycleConfiguration + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) + } + ) + end + def to_hash + end + + # The cadence to bill for this price on. + module Cadence + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::Cadence + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ANNUAL = + T.let( + :annual, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::Cadence::TaggedSymbol + ) + SEMI_ANNUAL = + T.let( + :semi_annual, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::Cadence::TaggedSymbol + ) + MONTHLY = + T.let( + :monthly, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::Cadence::TaggedSymbol + ) + QUARTERLY = + T.let( + :quarterly, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::Cadence::TaggedSymbol + ) + ONE_TIME = + T.let( + :one_time, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::Cadence::TaggedSymbol + ) + CUSTOM = + T.let( + :custom, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::Cadence::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::Cadence::TaggedSymbol + ] + ) + end + def self.values + end + end + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::BillingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + params( + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::DimensionalPriceConfiguration, + Orb::Internal::AnyHash + ) + end + + # The list of dimension values matching (in order) the dimensions of the price + # group + sig { returns(T::Array[String]) } + attr_accessor :dimension_values + + # The id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :dimensional_price_group_id + + # The external id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :external_dimensional_price_group_id + + # For dimensional price: specifies a price group and dimension values + sig do + params( + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The list of dimension values matching (in order) the dimensions of the price + # group + dimension_values:, + # The id of the dimensional price group to include this price in + dimensional_price_group_id: nil, + # The external id of the dimensional price group to include this price in + external_dimensional_price_group_id: nil + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + } + ) + end + def to_hash + end + end + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::InvoicingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + params( + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + class UnitWithProration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration, + Orb::Internal::AnyHash + ) + end + + # The cadence to bill for this price on. + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::Cadence::OrSymbol + ) + end + attr_accessor :cadence + + # An ISO 4217 currency string for which this price is billed in. + sig { returns(String) } + attr_accessor :currency + + # The id of the item the price will be associated with. + sig { returns(String) } + attr_accessor :item_id + + sig { returns(Symbol) } + attr_accessor :model_type + + # The name of the price. + sig { returns(String) } + attr_accessor :name + + sig { returns(T::Hash[Symbol, T.anything]) } + attr_accessor :unit_with_proration_config + + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + sig { returns(T.nilable(String)) } + attr_accessor :billable_metric_id + + # 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. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :billed_in_advance + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + returns( + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::BillingCycleConfiguration + ) + ) + end + attr_reader :billing_cycle_configuration + + sig do + params( + billing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::BillingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :billing_cycle_configuration + + # The per unit conversion rate of the price currency to the invoicing currency. + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + # For dimensional price: specifies a price group and dimension values + sig do + returns( + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::DimensionalPriceConfiguration + ) + ) + end + attr_reader :dimensional_price_configuration + + sig do + params( + dimensional_price_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::DimensionalPriceConfiguration::OrHash + ) + ).void + end + attr_writer :dimensional_price_configuration + + # An alias for the price. + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + # The property used to group this price on an invoice + sig { returns(T.nilable(String)) } + attr_accessor :invoice_grouping_key + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + returns( + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::InvoicingCycleConfiguration + ) + ) + end + attr_reader :invoicing_cycle_configuration + + sig do + params( + invoicing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::InvoicingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :invoicing_cycle_configuration + + # 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`. + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } + attr_accessor :metadata + + sig do + params( + cadence: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::Cadence::OrSymbol, + currency: String, + item_id: String, + name: String, + unit_with_proration_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::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::BillingCycleConfiguration::OrHash + ), + conversion_rate: T.nilable(Float), + dimensional_price_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::DimensionalPriceConfiguration::OrHash + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::InvoicingCycleConfiguration::OrHash + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), + model_type: Symbol + ).returns(T.attached_class) + end + def self.new( + # The cadence to bill for this price on. + cadence:, + # An ISO 4217 currency string for which this price is billed in. + currency:, + # The id of the item the price will be associated with. + item_id:, + # The name of the price. + name:, + unit_with_proration_config:, + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + billable_metric_id: nil, + # 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. + billed_in_advance: nil, + # For custom cadence: specifies the duration of the billing period in days or + # months. + billing_cycle_configuration: nil, + # The per unit conversion rate of the price currency to the invoicing currency. + conversion_rate: nil, + # For dimensional price: specifies a price group and dimension values + dimensional_price_configuration: nil, + # An alias for the price. + external_price_id: nil, + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + fixed_price_quantity: nil, + # The property used to group this price on an invoice + invoice_grouping_key: nil, + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + invoicing_cycle_configuration: nil, + # 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`. + metadata: nil, + model_type: :unit_with_proration + ) + end + + sig do + override.returns( + { + cadence: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::Cadence::OrSymbol, + currency: String, + item_id: String, + model_type: Symbol, + name: String, + unit_with_proration_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::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::BillingCycleConfiguration + ), + conversion_rate: T.nilable(Float), + dimensional_price_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::DimensionalPriceConfiguration + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::InvoicingCycleConfiguration + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) + } + ) + end + def to_hash + end + + # The cadence to bill for this price on. + module Cadence + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::Cadence + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ANNUAL = + T.let( + :annual, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::Cadence::TaggedSymbol + ) + SEMI_ANNUAL = + T.let( + :semi_annual, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::Cadence::TaggedSymbol + ) + MONTHLY = + T.let( + :monthly, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::Cadence::TaggedSymbol + ) + QUARTERLY = + T.let( + :quarterly, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::Cadence::TaggedSymbol + ) + ONE_TIME = + T.let( + :one_time, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::Cadence::TaggedSymbol + ) + CUSTOM = + T.let( + :custom, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::Cadence::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::Cadence::TaggedSymbol + ] + ) + end + def self.values + end + end + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::BillingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + params( + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::DimensionalPriceConfiguration, + Orb::Internal::AnyHash + ) + end + + # The list of dimension values matching (in order) the dimensions of the price + # group + sig { returns(T::Array[String]) } + attr_accessor :dimension_values + + # The id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :dimensional_price_group_id + + # The external id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :external_dimensional_price_group_id + + # For dimensional price: specifies a price group and dimension values + sig do + params( + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The list of dimension values matching (in order) the dimensions of the price + # group + dimension_values:, + # The id of the dimensional price group to include this price in + dimensional_price_group_id: nil, + # The external id of the dimensional price group to include this price in + external_dimensional_price_group_id: nil + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + } + ) + end + def to_hash + end + end + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::InvoicingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + params( + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + class GroupedAllocation < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation, + Orb::Internal::AnyHash + ) + end + + # The cadence to bill for this price on. + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::Cadence::OrSymbol + ) + end + attr_accessor :cadence + + # An ISO 4217 currency string for which this price is billed in. + sig { returns(String) } + attr_accessor :currency + + sig { returns(T::Hash[Symbol, T.anything]) } + attr_accessor :grouped_allocation_config + + # The id of the item the price will be associated with. + sig { returns(String) } + attr_accessor :item_id + + sig { returns(Symbol) } + attr_accessor :model_type + + # The name of the price. + sig { returns(String) } + attr_accessor :name + + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + sig { returns(T.nilable(String)) } + attr_accessor :billable_metric_id + + # 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. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :billed_in_advance + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + returns( + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::BillingCycleConfiguration + ) + ) + end + attr_reader :billing_cycle_configuration + + sig do + params( + billing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::BillingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :billing_cycle_configuration + + # The per unit conversion rate of the price currency to the invoicing currency. + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + # For dimensional price: specifies a price group and dimension values + sig do + returns( + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::DimensionalPriceConfiguration + ) + ) + end + attr_reader :dimensional_price_configuration + + sig do + params( + dimensional_price_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::DimensionalPriceConfiguration::OrHash + ) + ).void + end + attr_writer :dimensional_price_configuration + + # An alias for the price. + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + # The property used to group this price on an invoice + sig { returns(T.nilable(String)) } + attr_accessor :invoice_grouping_key + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + returns( + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::InvoicingCycleConfiguration + ) + ) + end + attr_reader :invoicing_cycle_configuration + + sig do + params( + invoicing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::InvoicingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :invoicing_cycle_configuration + + # 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`. + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } + attr_accessor :metadata + + sig do + params( + cadence: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::Cadence::OrSymbol, + currency: String, + grouped_allocation_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::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::BillingCycleConfiguration::OrHash + ), + conversion_rate: T.nilable(Float), + dimensional_price_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::DimensionalPriceConfiguration::OrHash + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::InvoicingCycleConfiguration::OrHash + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), + model_type: Symbol + ).returns(T.attached_class) + end + def self.new( + # The cadence to bill for this price on. + cadence:, + # An ISO 4217 currency string for which this price is billed in. + currency:, + grouped_allocation_config:, + # The id of the item the price will be associated with. + item_id:, + # The name of the price. + name:, + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + billable_metric_id: nil, + # 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. + billed_in_advance: nil, + # For custom cadence: specifies the duration of the billing period in days or + # months. + billing_cycle_configuration: nil, + # The per unit conversion rate of the price currency to the invoicing currency. + conversion_rate: nil, + # For dimensional price: specifies a price group and dimension values + dimensional_price_configuration: nil, + # An alias for the price. + external_price_id: nil, + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + fixed_price_quantity: nil, + # The property used to group this price on an invoice + invoice_grouping_key: nil, + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + invoicing_cycle_configuration: nil, + # 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`. + metadata: nil, + model_type: :grouped_allocation + ) + end + + sig do + override.returns( + { + cadence: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::Cadence::OrSymbol, + currency: String, + grouped_allocation_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::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::BillingCycleConfiguration + ), + conversion_rate: T.nilable(Float), + dimensional_price_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::DimensionalPriceConfiguration + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::InvoicingCycleConfiguration + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) + } + ) + end + def to_hash + end + + # The cadence to bill for this price on. + module Cadence + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::Cadence + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ANNUAL = + T.let( + :annual, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::Cadence::TaggedSymbol + ) + SEMI_ANNUAL = + T.let( + :semi_annual, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::Cadence::TaggedSymbol + ) + MONTHLY = + T.let( + :monthly, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::Cadence::TaggedSymbol + ) + QUARTERLY = + T.let( + :quarterly, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::Cadence::TaggedSymbol + ) + ONE_TIME = + T.let( + :one_time, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::Cadence::TaggedSymbol + ) + CUSTOM = + T.let( + :custom, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::Cadence::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::Cadence::TaggedSymbol + ] + ) + end + def self.values + end + end + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::BillingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + params( + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::DimensionalPriceConfiguration, + Orb::Internal::AnyHash + ) + end + + # The list of dimension values matching (in order) the dimensions of the price + # group + sig { returns(T::Array[String]) } + attr_accessor :dimension_values + + # The id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :dimensional_price_group_id + + # The external id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :external_dimensional_price_group_id + + # For dimensional price: specifies a price group and dimension values + sig do + params( + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The list of dimension values matching (in order) the dimensions of the price + # group + dimension_values:, + # The id of the dimensional price group to include this price in + dimensional_price_group_id: nil, + # The external id of the dimensional price group to include this price in + external_dimensional_price_group_id: nil + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + } + ) + end + def to_hash + end + end + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::InvoicingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + params( + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + class GroupedWithProratedMinimum < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum, + Orb::Internal::AnyHash + ) + end + + # The cadence to bill for this price on. + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::Cadence::OrSymbol + ) + end + attr_accessor :cadence + + # An ISO 4217 currency string for which this price is billed in. + sig { returns(String) } + attr_accessor :currency + + sig { returns(T::Hash[Symbol, T.anything]) } + attr_accessor :grouped_with_prorated_minimum_config + + # The id of the item the price will be associated with. + sig { returns(String) } + attr_accessor :item_id + + sig { returns(Symbol) } + attr_accessor :model_type + + # The name of the price. + sig { returns(String) } + attr_accessor :name + + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + sig { returns(T.nilable(String)) } + attr_accessor :billable_metric_id + + # 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. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :billed_in_advance + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + returns( + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::BillingCycleConfiguration + ) + ) + end + attr_reader :billing_cycle_configuration + + sig do + params( + billing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :billing_cycle_configuration + + # The per unit conversion rate of the price currency to the invoicing currency. + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + # For dimensional price: specifies a price group and dimension values + sig do + returns( + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration + ) + ) + end + attr_reader :dimensional_price_configuration + + sig do + params( + dimensional_price_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration::OrHash + ) + ).void + end + attr_writer :dimensional_price_configuration + + # An alias for the price. + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + # The property used to group this price on an invoice + sig { returns(T.nilable(String)) } + attr_accessor :invoice_grouping_key + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + returns( + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration + ) + ) + end + attr_reader :invoicing_cycle_configuration + + sig do + params( + invoicing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :invoicing_cycle_configuration + + # 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`. + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } + attr_accessor :metadata + + sig do + params( + cadence: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::Cadence::OrSymbol, + currency: String, + grouped_with_prorated_minimum_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::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::OrHash + ), + conversion_rate: T.nilable(Float), + dimensional_price_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration::OrHash + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::OrHash + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), + model_type: Symbol + ).returns(T.attached_class) + end + def self.new( + # The cadence to bill for this price on. + cadence:, + # An ISO 4217 currency string for which this price is billed in. + currency:, + grouped_with_prorated_minimum_config:, + # The id of the item the price will be associated with. + item_id:, + # The name of the price. + name:, + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + billable_metric_id: nil, + # 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. + billed_in_advance: nil, + # For custom cadence: specifies the duration of the billing period in days or + # months. + billing_cycle_configuration: nil, + # The per unit conversion rate of the price currency to the invoicing currency. + conversion_rate: nil, + # For dimensional price: specifies a price group and dimension values + dimensional_price_configuration: nil, + # An alias for the price. + external_price_id: nil, + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + fixed_price_quantity: nil, + # The property used to group this price on an invoice + invoice_grouping_key: nil, + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + invoicing_cycle_configuration: nil, + # 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`. + metadata: nil, + model_type: :grouped_with_prorated_minimum + ) + end + + sig do + override.returns( + { + cadence: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::Cadence::OrSymbol, + currency: String, + grouped_with_prorated_minimum_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::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::BillingCycleConfiguration + ), + conversion_rate: T.nilable(Float), + dimensional_price_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) + } + ) + end + def to_hash + end + + # The cadence to bill for this price on. + module Cadence + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::Cadence + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ANNUAL = + T.let( + :annual, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::Cadence::TaggedSymbol + ) + SEMI_ANNUAL = + T.let( + :semi_annual, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::Cadence::TaggedSymbol + ) + MONTHLY = + T.let( + :monthly, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::Cadence::TaggedSymbol + ) + QUARTERLY = + T.let( + :quarterly, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::Cadence::TaggedSymbol + ) + ONE_TIME = + T.let( + :one_time, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::Cadence::TaggedSymbol + ) + CUSTOM = + T.let( + :custom, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::Cadence::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::Cadence::TaggedSymbol + ] + ) + end + def self.values + end + end + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::BillingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + params( + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration, + Orb::Internal::AnyHash + ) + end + + # The list of dimension values matching (in order) the dimensions of the price + # group + sig { returns(T::Array[String]) } + attr_accessor :dimension_values + + # The id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :dimensional_price_group_id + + # The external id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :external_dimensional_price_group_id + + # For dimensional price: specifies a price group and dimension values + sig do + params( + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The list of dimension values matching (in order) the dimensions of the price + # group + dimension_values:, + # The id of the dimensional price group to include this price in + dimensional_price_group_id: nil, + # The external id of the dimensional price group to include this price in + external_dimensional_price_group_id: nil + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + } + ) + end + def to_hash + end + end + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + params( + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + class GroupedWithMeteredMinimum < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum, + Orb::Internal::AnyHash + ) + end + + # The cadence to bill for this price on. + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::Cadence::OrSymbol + ) + end + attr_accessor :cadence + + # An ISO 4217 currency string for which this price is billed in. + sig { returns(String) } + attr_accessor :currency + + sig { returns(T::Hash[Symbol, T.anything]) } + attr_accessor :grouped_with_metered_minimum_config + + # The id of the item the price will be associated with. + sig { returns(String) } + attr_accessor :item_id + + sig { returns(Symbol) } + attr_accessor :model_type + + # The name of the price. + sig { returns(String) } + attr_accessor :name + + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + sig { returns(T.nilable(String)) } + attr_accessor :billable_metric_id + + # 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. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :billed_in_advance + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + returns( + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration + ) + ) + end + attr_reader :billing_cycle_configuration + + sig do + params( + billing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :billing_cycle_configuration + + # The per unit conversion rate of the price currency to the invoicing currency. + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + # For dimensional price: specifies a price group and dimension values + sig do + returns( + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration + ) + ) + end + attr_reader :dimensional_price_configuration + + sig do + params( + dimensional_price_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration::OrHash + ) + ).void + end + attr_writer :dimensional_price_configuration + + # An alias for the price. + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + # The property used to group this price on an invoice + sig { returns(T.nilable(String)) } + attr_accessor :invoice_grouping_key + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + returns( + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration + ) + ) + end + attr_reader :invoicing_cycle_configuration + + sig do + params( + invoicing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :invoicing_cycle_configuration + + # 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`. + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } + attr_accessor :metadata + + sig do + params( + cadence: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::Cadence::OrSymbol, + currency: String, + grouped_with_metered_minimum_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::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::OrHash + ), + conversion_rate: T.nilable(Float), + dimensional_price_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration::OrHash + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::OrHash + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), + model_type: Symbol + ).returns(T.attached_class) + end + def self.new( + # The cadence to bill for this price on. + cadence:, + # An ISO 4217 currency string for which this price is billed in. + currency:, + grouped_with_metered_minimum_config:, + # The id of the item the price will be associated with. + item_id:, + # The name of the price. + name:, + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + billable_metric_id: nil, + # 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. + billed_in_advance: nil, + # For custom cadence: specifies the duration of the billing period in days or + # months. + billing_cycle_configuration: nil, + # The per unit conversion rate of the price currency to the invoicing currency. + conversion_rate: nil, + # For dimensional price: specifies a price group and dimension values + dimensional_price_configuration: nil, + # An alias for the price. + external_price_id: nil, + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + fixed_price_quantity: nil, + # The property used to group this price on an invoice + invoice_grouping_key: nil, + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + invoicing_cycle_configuration: nil, + # 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`. + metadata: nil, + model_type: :grouped_with_metered_minimum + ) + end + + sig do + override.returns( + { + cadence: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::Cadence::OrSymbol, + currency: String, + grouped_with_metered_minimum_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::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration + ), + conversion_rate: T.nilable(Float), + dimensional_price_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) + } + ) + end + def to_hash + end + + # The cadence to bill for this price on. + module Cadence + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::Cadence + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ANNUAL = + T.let( + :annual, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::Cadence::TaggedSymbol + ) + SEMI_ANNUAL = + T.let( + :semi_annual, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::Cadence::TaggedSymbol + ) + MONTHLY = + T.let( + :monthly, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::Cadence::TaggedSymbol + ) + QUARTERLY = + T.let( + :quarterly, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::Cadence::TaggedSymbol + ) + ONE_TIME = + T.let( + :one_time, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::Cadence::TaggedSymbol + ) + CUSTOM = + T.let( + :custom, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::Cadence::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::Cadence::TaggedSymbol + ] + ) + end + def self.values + end + end + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + params( + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration, + Orb::Internal::AnyHash + ) + end + + # The list of dimension values matching (in order) the dimensions of the price + # group + sig { returns(T::Array[String]) } + attr_accessor :dimension_values + + # The id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :dimensional_price_group_id + + # The external id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :external_dimensional_price_group_id + + # For dimensional price: specifies a price group and dimension values + sig do + params( + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The list of dimension values matching (in order) the dimensions of the price + # group + dimension_values:, + # The id of the dimensional price group to include this price in + dimensional_price_group_id: nil, + # The external id of the dimensional price group to include this price in + external_dimensional_price_group_id: nil + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + } + ) + end + def to_hash + end + end + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + params( + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + class MatrixWithDisplayName < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName, + Orb::Internal::AnyHash + ) + end + + # The cadence to bill for this price on. + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::Cadence::OrSymbol + ) + end + attr_accessor :cadence + + # An ISO 4217 currency string for which this price is billed in. + sig { returns(String) } + attr_accessor :currency + + # The id of the item the price will be associated with. + sig { returns(String) } + attr_accessor :item_id + + sig { returns(T::Hash[Symbol, T.anything]) } + attr_accessor :matrix_with_display_name_config + + sig { returns(Symbol) } + attr_accessor :model_type + + # The name of the price. + sig { returns(String) } + attr_accessor :name + + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + sig { returns(T.nilable(String)) } + attr_accessor :billable_metric_id + + # 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. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :billed_in_advance + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + returns( + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::BillingCycleConfiguration + ) + ) + end + attr_reader :billing_cycle_configuration + + sig do + params( + billing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::BillingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :billing_cycle_configuration + + # The per unit conversion rate of the price currency to the invoicing currency. + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + # For dimensional price: specifies a price group and dimension values + sig do + returns( + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::DimensionalPriceConfiguration + ) + ) + end + attr_reader :dimensional_price_configuration + + sig do + params( + dimensional_price_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::DimensionalPriceConfiguration::OrHash + ) + ).void + end + attr_writer :dimensional_price_configuration + + # An alias for the price. + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + # The property used to group this price on an invoice + sig { returns(T.nilable(String)) } + attr_accessor :invoice_grouping_key + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + returns( + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::InvoicingCycleConfiguration + ) + ) + end + attr_reader :invoicing_cycle_configuration + + sig do + params( + invoicing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :invoicing_cycle_configuration + + # 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`. + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } + attr_accessor :metadata + + sig do + params( + cadence: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::Cadence::OrSymbol, + currency: String, + item_id: String, + matrix_with_display_name_config: T::Hash[Symbol, T.anything], + name: String, + billable_metric_id: T.nilable(String), + billed_in_advance: T.nilable(T::Boolean), + billing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::BillingCycleConfiguration::OrHash + ), + conversion_rate: T.nilable(Float), + dimensional_price_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::DimensionalPriceConfiguration::OrHash + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::OrHash + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), + model_type: Symbol + ).returns(T.attached_class) + end + def self.new( + # The cadence to bill for this price on. + cadence:, + # An ISO 4217 currency string for which this price is billed in. + currency:, + # The id of the item the price will be associated with. + item_id:, + matrix_with_display_name_config:, + # The name of the price. + name:, + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + billable_metric_id: nil, + # 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. + billed_in_advance: nil, + # For custom cadence: specifies the duration of the billing period in days or + # months. + billing_cycle_configuration: nil, + # The per unit conversion rate of the price currency to the invoicing currency. + conversion_rate: nil, + # For dimensional price: specifies a price group and dimension values + dimensional_price_configuration: nil, + # An alias for the price. + external_price_id: nil, + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + fixed_price_quantity: nil, + # The property used to group this price on an invoice + invoice_grouping_key: nil, + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + invoicing_cycle_configuration: nil, + # 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`. + metadata: nil, + model_type: :matrix_with_display_name + ) + end + + sig do + override.returns( + { + cadence: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::Cadence::OrSymbol, + currency: String, + item_id: String, + matrix_with_display_name_config: T::Hash[Symbol, T.anything], + model_type: Symbol, + name: String, + billable_metric_id: T.nilable(String), + billed_in_advance: T.nilable(T::Boolean), + billing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::BillingCycleConfiguration + ), + conversion_rate: T.nilable(Float), + dimensional_price_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::DimensionalPriceConfiguration + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::InvoicingCycleConfiguration + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) + } + ) + end + def to_hash + end + + # The cadence to bill for this price on. + module Cadence + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::Cadence + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ANNUAL = + T.let( + :annual, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::Cadence::TaggedSymbol + ) + SEMI_ANNUAL = + T.let( + :semi_annual, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::Cadence::TaggedSymbol + ) + MONTHLY = + T.let( + :monthly, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::Cadence::TaggedSymbol + ) + QUARTERLY = + T.let( + :quarterly, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::Cadence::TaggedSymbol + ) + ONE_TIME = + T.let( + :one_time, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::Cadence::TaggedSymbol + ) + CUSTOM = + T.let( + :custom, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::Cadence::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::Cadence::TaggedSymbol + ] + ) + end + def self.values + end + end + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::BillingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + params( + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::DimensionalPriceConfiguration, + Orb::Internal::AnyHash + ) + end + + # The list of dimension values matching (in order) the dimensions of the price + # group + sig { returns(T::Array[String]) } + attr_accessor :dimension_values + + # The id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :dimensional_price_group_id + + # The external id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :external_dimensional_price_group_id + + # For dimensional price: specifies a price group and dimension values + sig do + params( + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The list of dimension values matching (in order) the dimensions of the price + # group + dimension_values:, + # The id of the dimensional price group to include this price in + dimensional_price_group_id: nil, + # The external id of the dimensional price group to include this price in + external_dimensional_price_group_id: nil + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + } + ) + end + def to_hash + end + end + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::InvoicingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + params( + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + class BulkWithProration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration, + Orb::Internal::AnyHash + ) + end + + sig { returns(T::Hash[Symbol, T.anything]) } + attr_accessor :bulk_with_proration_config + + # The cadence to bill for this price on. + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::Cadence::OrSymbol + ) + end + attr_accessor :cadence + + # An ISO 4217 currency string for which this price is billed in. + sig { returns(String) } + attr_accessor :currency + + # The id of the item the price will be associated with. + sig { returns(String) } + attr_accessor :item_id + + sig { returns(Symbol) } + attr_accessor :model_type + + # The name of the price. + sig { returns(String) } + attr_accessor :name + + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + sig { returns(T.nilable(String)) } + attr_accessor :billable_metric_id + + # 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. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :billed_in_advance + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + returns( + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::BillingCycleConfiguration + ) + ) + end + attr_reader :billing_cycle_configuration + + sig do + params( + billing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::BillingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :billing_cycle_configuration + + # The per unit conversion rate of the price currency to the invoicing currency. + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + # For dimensional price: specifies a price group and dimension values + sig do + returns( + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::DimensionalPriceConfiguration + ) + ) + end + attr_reader :dimensional_price_configuration + + sig do + params( + dimensional_price_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::DimensionalPriceConfiguration::OrHash + ) + ).void + end + attr_writer :dimensional_price_configuration + + # An alias for the price. + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + # The property used to group this price on an invoice + sig { returns(T.nilable(String)) } + attr_accessor :invoice_grouping_key + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + returns( + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::InvoicingCycleConfiguration + ) + ) + end + attr_reader :invoicing_cycle_configuration + + sig do + params( + invoicing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::InvoicingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :invoicing_cycle_configuration + + # 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`. + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } + attr_accessor :metadata + + sig do + params( + bulk_with_proration_config: T::Hash[Symbol, T.anything], + cadence: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::Cadence::OrSymbol, + 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::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::BillingCycleConfiguration::OrHash + ), + conversion_rate: T.nilable(Float), + dimensional_price_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::DimensionalPriceConfiguration::OrHash + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::InvoicingCycleConfiguration::OrHash + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), + model_type: Symbol + ).returns(T.attached_class) + end + def self.new( + bulk_with_proration_config:, + # The cadence to bill for this price on. + cadence:, + # An ISO 4217 currency string for which this price is billed in. + currency:, + # The id of the item the price will be associated with. + item_id:, + # The name of the price. + name:, + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + billable_metric_id: nil, + # 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. + billed_in_advance: nil, + # For custom cadence: specifies the duration of the billing period in days or + # months. + billing_cycle_configuration: nil, + # The per unit conversion rate of the price currency to the invoicing currency. + conversion_rate: nil, + # For dimensional price: specifies a price group and dimension values + dimensional_price_configuration: nil, + # An alias for the price. + external_price_id: nil, + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + fixed_price_quantity: nil, + # The property used to group this price on an invoice + invoice_grouping_key: nil, + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + invoicing_cycle_configuration: nil, + # 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`. + metadata: nil, + model_type: :bulk_with_proration + ) + end + + sig do + override.returns( + { + bulk_with_proration_config: T::Hash[Symbol, T.anything], + cadence: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::Cadence::OrSymbol, + 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::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::BillingCycleConfiguration + ), + conversion_rate: T.nilable(Float), + dimensional_price_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::DimensionalPriceConfiguration + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::InvoicingCycleConfiguration + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) + } + ) + end + def to_hash + end + + # The cadence to bill for this price on. + module Cadence + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::Cadence + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ANNUAL = + T.let( + :annual, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::Cadence::TaggedSymbol + ) + SEMI_ANNUAL = + T.let( + :semi_annual, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::Cadence::TaggedSymbol + ) + MONTHLY = + T.let( + :monthly, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::Cadence::TaggedSymbol + ) + QUARTERLY = + T.let( + :quarterly, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::Cadence::TaggedSymbol + ) + ONE_TIME = + T.let( + :one_time, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::Cadence::TaggedSymbol + ) + CUSTOM = + T.let( + :custom, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::Cadence::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::Cadence::TaggedSymbol + ] + ) + end + def self.values + end + end + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::BillingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + params( + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::DimensionalPriceConfiguration, + Orb::Internal::AnyHash + ) + end + + # The list of dimension values matching (in order) the dimensions of the price + # group + sig { returns(T::Array[String]) } + attr_accessor :dimension_values + + # The id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :dimensional_price_group_id + + # The external id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :external_dimensional_price_group_id + + # For dimensional price: specifies a price group and dimension values + sig do + params( + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The list of dimension values matching (in order) the dimensions of the price + # group + dimension_values:, + # The id of the dimensional price group to include this price in + dimensional_price_group_id: nil, + # The external id of the dimensional price group to include this price in + external_dimensional_price_group_id: nil + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + } + ) + end + def to_hash + end + end + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::InvoicingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + params( + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + class GroupedTieredPackage < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage, + Orb::Internal::AnyHash + ) + end + + # The cadence to bill for this price on. + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::Cadence::OrSymbol + ) + end + attr_accessor :cadence + + # An ISO 4217 currency string for which this price is billed in. + sig { returns(String) } + attr_accessor :currency + + sig { returns(T::Hash[Symbol, T.anything]) } + attr_accessor :grouped_tiered_package_config + + # The id of the item the price will be associated with. + sig { returns(String) } + attr_accessor :item_id + + sig { returns(Symbol) } + attr_accessor :model_type + + # The name of the price. + sig { returns(String) } + attr_accessor :name + + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + sig { returns(T.nilable(String)) } + attr_accessor :billable_metric_id + + # 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. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :billed_in_advance + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + returns( + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::BillingCycleConfiguration + ) + ) + end + attr_reader :billing_cycle_configuration + + sig do + params( + billing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::BillingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :billing_cycle_configuration + + # The per unit conversion rate of the price currency to the invoicing currency. + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + # For dimensional price: specifies a price group and dimension values + sig do + returns( + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::DimensionalPriceConfiguration + ) + ) + end + attr_reader :dimensional_price_configuration + + sig do + params( + dimensional_price_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::DimensionalPriceConfiguration::OrHash + ) + ).void + end + attr_writer :dimensional_price_configuration + + # An alias for the price. + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + # The property used to group this price on an invoice + sig { returns(T.nilable(String)) } + attr_accessor :invoice_grouping_key + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + returns( + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::InvoicingCycleConfiguration + ) + ) + end + attr_reader :invoicing_cycle_configuration + + sig do + params( + invoicing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::InvoicingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :invoicing_cycle_configuration + + # 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`. + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } + attr_accessor :metadata + + sig do + params( + cadence: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::Cadence::OrSymbol, + currency: String, + grouped_tiered_package_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::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::BillingCycleConfiguration::OrHash + ), + conversion_rate: T.nilable(Float), + dimensional_price_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::DimensionalPriceConfiguration::OrHash + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::InvoicingCycleConfiguration::OrHash + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), + model_type: Symbol + ).returns(T.attached_class) + end + def self.new( + # The cadence to bill for this price on. + cadence:, + # An ISO 4217 currency string for which this price is billed in. + currency:, + grouped_tiered_package_config:, + # The id of the item the price will be associated with. + item_id:, + # The name of the price. + name:, + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + billable_metric_id: nil, + # 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. + billed_in_advance: nil, + # For custom cadence: specifies the duration of the billing period in days or + # months. + billing_cycle_configuration: nil, + # The per unit conversion rate of the price currency to the invoicing currency. + conversion_rate: nil, + # For dimensional price: specifies a price group and dimension values + dimensional_price_configuration: nil, + # An alias for the price. + external_price_id: nil, + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + fixed_price_quantity: nil, + # The property used to group this price on an invoice + invoice_grouping_key: nil, + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + invoicing_cycle_configuration: nil, + # 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`. + metadata: nil, + model_type: :grouped_tiered_package + ) + end + + sig do + override.returns( + { + cadence: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::Cadence::OrSymbol, + currency: String, + grouped_tiered_package_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::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::BillingCycleConfiguration + ), + conversion_rate: T.nilable(Float), + dimensional_price_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::DimensionalPriceConfiguration + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::InvoicingCycleConfiguration + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) + } + ) + end + def to_hash + end + + # The cadence to bill for this price on. + module Cadence + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::Cadence + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ANNUAL = + T.let( + :annual, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::Cadence::TaggedSymbol + ) + SEMI_ANNUAL = + T.let( + :semi_annual, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::Cadence::TaggedSymbol + ) + MONTHLY = + T.let( + :monthly, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::Cadence::TaggedSymbol + ) + QUARTERLY = + T.let( + :quarterly, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::Cadence::TaggedSymbol + ) + ONE_TIME = + T.let( + :one_time, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::Cadence::TaggedSymbol + ) + CUSTOM = + T.let( + :custom, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::Cadence::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::Cadence::TaggedSymbol + ] + ) + end + def self.values + end + end + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::BillingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + params( + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::DimensionalPriceConfiguration, + Orb::Internal::AnyHash + ) + end + + # The list of dimension values matching (in order) the dimensions of the price + # group + sig { returns(T::Array[String]) } + attr_accessor :dimension_values + + # The id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :dimensional_price_group_id + + # The external id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :external_dimensional_price_group_id + + # For dimensional price: specifies a price group and dimension values + sig do + params( + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The list of dimension values matching (in order) the dimensions of the price + # group + dimension_values:, + # The id of the dimensional price group to include this price in + dimensional_price_group_id: nil, + # The external id of the dimensional price group to include this price in + external_dimensional_price_group_id: nil + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + } + ) + end + def to_hash + end + end + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::InvoicingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + params( + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + class ScalableMatrixWithUnitPricing < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing, + Orb::Internal::AnyHash + ) + end + + # The cadence to bill for this price on. + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::Cadence::OrSymbol + ) + end + attr_accessor :cadence + + # An ISO 4217 currency string for which this price is billed in. + sig { returns(String) } + attr_accessor :currency + + # The id of the item the price will be associated with. + sig { returns(String) } + attr_accessor :item_id + + sig { returns(Symbol) } + attr_accessor :model_type + + # The name of the price. + sig { returns(String) } + attr_accessor :name + + sig { returns(T::Hash[Symbol, T.anything]) } + attr_accessor :scalable_matrix_with_unit_pricing_config + + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + sig { returns(T.nilable(String)) } + attr_accessor :billable_metric_id + + # 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. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :billed_in_advance + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + returns( + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration + ) + ) + end + attr_reader :billing_cycle_configuration + + sig do + params( + billing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :billing_cycle_configuration + + # The per unit conversion rate of the price currency to the invoicing currency. + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + # For dimensional price: specifies a price group and dimension values + sig do + returns( + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration + ) + ) + end + attr_reader :dimensional_price_configuration + + sig do + params( + dimensional_price_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration::OrHash + ) + ).void + end + attr_writer :dimensional_price_configuration + + # An alias for the price. + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + # The property used to group this price on an invoice + sig { returns(T.nilable(String)) } + attr_accessor :invoice_grouping_key + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + returns( + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration + ) + ) + end + attr_reader :invoicing_cycle_configuration + + sig do + params( + invoicing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :invoicing_cycle_configuration + + # 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`. + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } + attr_accessor :metadata + + sig do + params( + cadence: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::Cadence::OrSymbol, + currency: String, + item_id: String, + name: String, + scalable_matrix_with_unit_pricing_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::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::OrHash + ), + conversion_rate: T.nilable(Float), + dimensional_price_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration::OrHash + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::OrHash + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), + model_type: Symbol + ).returns(T.attached_class) + end + def self.new( + # The cadence to bill for this price on. + cadence:, + # An ISO 4217 currency string for which this price is billed in. + currency:, + # The id of the item the price will be associated with. + item_id:, + # The name of the price. + name:, + scalable_matrix_with_unit_pricing_config:, + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + billable_metric_id: nil, + # 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. + billed_in_advance: nil, + # For custom cadence: specifies the duration of the billing period in days or + # months. + billing_cycle_configuration: nil, + # The per unit conversion rate of the price currency to the invoicing currency. + conversion_rate: nil, + # For dimensional price: specifies a price group and dimension values + dimensional_price_configuration: nil, + # An alias for the price. + external_price_id: nil, + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + fixed_price_quantity: nil, + # The property used to group this price on an invoice + invoice_grouping_key: nil, + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + invoicing_cycle_configuration: nil, + # 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`. + metadata: nil, + model_type: :scalable_matrix_with_unit_pricing + ) + end + + sig do + override.returns( + { + cadence: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::Cadence::OrSymbol, + currency: String, + item_id: String, + model_type: Symbol, + name: String, + scalable_matrix_with_unit_pricing_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::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration + ), + conversion_rate: T.nilable(Float), + dimensional_price_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) + } + ) + end + def to_hash + end + + # The cadence to bill for this price on. + module Cadence + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::Cadence + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ANNUAL = + T.let( + :annual, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::Cadence::TaggedSymbol + ) + SEMI_ANNUAL = + T.let( + :semi_annual, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::Cadence::TaggedSymbol + ) + MONTHLY = + T.let( + :monthly, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::Cadence::TaggedSymbol + ) + QUARTERLY = + T.let( + :quarterly, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::Cadence::TaggedSymbol + ) + ONE_TIME = + T.let( + :one_time, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::Cadence::TaggedSymbol + ) + CUSTOM = + T.let( + :custom, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::Cadence::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::Cadence::TaggedSymbol + ] + ) + end + def self.values + end + end + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + params( + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration, + Orb::Internal::AnyHash + ) + end + + # The list of dimension values matching (in order) the dimensions of the price + # group + sig { returns(T::Array[String]) } + attr_accessor :dimension_values + + # The id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :dimensional_price_group_id + + # The external id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :external_dimensional_price_group_id + + # For dimensional price: specifies a price group and dimension values + sig do + params( + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The list of dimension values matching (in order) the dimensions of the price + # group + dimension_values:, + # The id of the dimensional price group to include this price in + dimensional_price_group_id: nil, + # The external id of the dimensional price group to include this price in + external_dimensional_price_group_id: nil + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + } + ) + end + def to_hash + end + end + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + params( + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + class ScalableMatrixWithTieredPricing < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing, + Orb::Internal::AnyHash + ) + end + + # The cadence to bill for this price on. + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::Cadence::OrSymbol + ) + end + attr_accessor :cadence + + # An ISO 4217 currency string for which this price is billed in. + sig { returns(String) } + attr_accessor :currency + + # The id of the item the price will be associated with. + sig { returns(String) } + attr_accessor :item_id + + sig { returns(Symbol) } + attr_accessor :model_type + + # The name of the price. + sig { returns(String) } + attr_accessor :name + + sig { returns(T::Hash[Symbol, T.anything]) } + attr_accessor :scalable_matrix_with_tiered_pricing_config + + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + sig { returns(T.nilable(String)) } + attr_accessor :billable_metric_id + + # 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. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :billed_in_advance + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + returns( + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration + ) + ) + end + attr_reader :billing_cycle_configuration + + sig do + params( + billing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :billing_cycle_configuration + + # The per unit conversion rate of the price currency to the invoicing currency. + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + # For dimensional price: specifies a price group and dimension values + sig do + returns( + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration + ) + ) + end + attr_reader :dimensional_price_configuration + + sig do + params( + dimensional_price_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration::OrHash + ) + ).void + end + attr_writer :dimensional_price_configuration + + # An alias for the price. + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + # The property used to group this price on an invoice + sig { returns(T.nilable(String)) } + attr_accessor :invoice_grouping_key + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + returns( + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration + ) + ) + end + attr_reader :invoicing_cycle_configuration + + sig do + params( + invoicing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :invoicing_cycle_configuration + + # 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`. + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } + attr_accessor :metadata + + sig do + params( + cadence: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::Cadence::OrSymbol, + currency: String, + item_id: String, + name: String, + scalable_matrix_with_tiered_pricing_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::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::OrHash + ), + conversion_rate: T.nilable(Float), + dimensional_price_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration::OrHash + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::OrHash + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), + model_type: Symbol + ).returns(T.attached_class) + end + def self.new( + # The cadence to bill for this price on. + cadence:, + # An ISO 4217 currency string for which this price is billed in. + currency:, + # The id of the item the price will be associated with. + item_id:, + # The name of the price. + name:, + scalable_matrix_with_tiered_pricing_config:, + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + billable_metric_id: nil, + # 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. + billed_in_advance: nil, + # For custom cadence: specifies the duration of the billing period in days or + # months. + billing_cycle_configuration: nil, + # The per unit conversion rate of the price currency to the invoicing currency. + conversion_rate: nil, + # For dimensional price: specifies a price group and dimension values + dimensional_price_configuration: nil, + # An alias for the price. + external_price_id: nil, + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + fixed_price_quantity: nil, + # The property used to group this price on an invoice + invoice_grouping_key: nil, + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + invoicing_cycle_configuration: nil, + # 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`. + metadata: nil, + model_type: :scalable_matrix_with_tiered_pricing + ) + end + + sig do + override.returns( + { + cadence: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::Cadence::OrSymbol, + currency: String, + item_id: String, + model_type: Symbol, + name: String, + scalable_matrix_with_tiered_pricing_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::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration + ), + conversion_rate: T.nilable(Float), + dimensional_price_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) + } + ) + end + def to_hash + end + + # The cadence to bill for this price on. + module Cadence + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::Cadence + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ANNUAL = + T.let( + :annual, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::Cadence::TaggedSymbol + ) + SEMI_ANNUAL = + T.let( + :semi_annual, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::Cadence::TaggedSymbol + ) + MONTHLY = + T.let( + :monthly, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::Cadence::TaggedSymbol + ) + QUARTERLY = + T.let( + :quarterly, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::Cadence::TaggedSymbol + ) + ONE_TIME = + T.let( + :one_time, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::Cadence::TaggedSymbol + ) + CUSTOM = + T.let( + :custom, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::Cadence::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::Cadence::TaggedSymbol + ] + ) + end + def self.values + end + end + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + params( + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration, + Orb::Internal::AnyHash + ) + end + + # The list of dimension values matching (in order) the dimensions of the price + # group + sig { returns(T::Array[String]) } + attr_accessor :dimension_values + + # The id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :dimensional_price_group_id + + # The external id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :external_dimensional_price_group_id + + # For dimensional price: specifies a price group and dimension values + sig do + params( + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The list of dimension values matching (in order) the dimensions of the price + # group + dimension_values:, + # The id of the dimensional price group to include this price in + dimensional_price_group_id: nil, + # The external id of the dimensional price group to include this price in + external_dimensional_price_group_id: nil + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + } + ) + end + def to_hash + end + end + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + params( + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + class CumulativeGroupedBulk < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk, + Orb::Internal::AnyHash + ) + end + + # The cadence to bill for this price on. + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::Cadence::OrSymbol + ) + end + attr_accessor :cadence + + sig { returns(T::Hash[Symbol, T.anything]) } + attr_accessor :cumulative_grouped_bulk_config + + # An ISO 4217 currency string for which this price is billed in. + sig { returns(String) } + attr_accessor :currency + + # The id of the item the price will be associated with. + sig { returns(String) } + attr_accessor :item_id + + sig { returns(Symbol) } + attr_accessor :model_type + + # The name of the price. + sig { returns(String) } + attr_accessor :name + + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + sig { returns(T.nilable(String)) } + attr_accessor :billable_metric_id + + # 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. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :billed_in_advance + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + returns( + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::BillingCycleConfiguration + ) + ) + end + attr_reader :billing_cycle_configuration + + sig do + params( + billing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::BillingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :billing_cycle_configuration + + # The per unit conversion rate of the price currency to the invoicing currency. + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + # For dimensional price: specifies a price group and dimension values + sig do + returns( + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration + ) + ) + end + attr_reader :dimensional_price_configuration + + sig do + params( + dimensional_price_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration::OrHash + ) + ).void + end + attr_writer :dimensional_price_configuration + + # An alias for the price. + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + # The property used to group this price on an invoice + sig { returns(T.nilable(String)) } + attr_accessor :invoice_grouping_key + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + returns( + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration + ) + ) + end + attr_reader :invoicing_cycle_configuration + + sig do + params( + invoicing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::OrHash + ) + ).void + end + attr_writer :invoicing_cycle_configuration + + # 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`. + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } + attr_accessor :metadata + + sig do + params( + cadence: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::Cadence::OrSymbol, + 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::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::BillingCycleConfiguration::OrHash + ), + conversion_rate: T.nilable(Float), + dimensional_price_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration::OrHash + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::OrHash + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), + model_type: Symbol + ).returns(T.attached_class) + end + def self.new( + # The cadence to bill for this price on. + cadence:, + cumulative_grouped_bulk_config:, + # An ISO 4217 currency string for which this price is billed in. + currency:, + # The id of the item the price will be associated with. + item_id:, + # The name of the price. + name:, + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + billable_metric_id: nil, + # 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. + billed_in_advance: nil, + # For custom cadence: specifies the duration of the billing period in days or + # months. + billing_cycle_configuration: nil, + # The per unit conversion rate of the price currency to the invoicing currency. + conversion_rate: nil, + # For dimensional price: specifies a price group and dimension values + dimensional_price_configuration: nil, + # An alias for the price. + external_price_id: nil, + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + fixed_price_quantity: nil, + # The property used to group this price on an invoice + invoice_grouping_key: nil, + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + invoicing_cycle_configuration: nil, + # 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`. + metadata: nil, + model_type: :cumulative_grouped_bulk + ) + end + + sig do + override.returns( + { + cadence: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::Cadence::OrSymbol, + 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::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::BillingCycleConfiguration + ), + conversion_rate: T.nilable(Float), + dimensional_price_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: + T.nilable( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration + ), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) + } + ) + end + def to_hash + end + + # The cadence to bill for this price on. + module Cadence + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::Cadence + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ANNUAL = + T.let( + :annual, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::Cadence::TaggedSymbol + ) + SEMI_ANNUAL = + T.let( + :semi_annual, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::Cadence::TaggedSymbol + ) + MONTHLY = + T.let( + :monthly, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::Cadence::TaggedSymbol + ) + QUARTERLY = + T.let( + :quarterly, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::Cadence::TaggedSymbol + ) + ONE_TIME = + T.let( + :one_time, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::Cadence::TaggedSymbol + ) + CUSTOM = + T.let( + :custom, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::Cadence::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::Cadence::TaggedSymbol + ] + ) + end + def self.values + end + end + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::BillingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # For custom cadence: specifies the duration of the billing period in days or + # months. + sig do + params( + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration, + Orb::Internal::AnyHash + ) + end + + # The list of dimension values matching (in order) the dimensions of the price + # group + sig { returns(T::Array[String]) } + attr_accessor :dimension_values + + # The id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :dimensional_price_group_id + + # The external id of the dimensional price group to include this price in + sig { returns(T.nilable(String)) } + attr_accessor :external_dimensional_price_group_id + + # For dimensional price: specifies a price group and dimension values + sig do + params( + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The list of dimension values matching (in order) the dimensions of the price + # group + dimension_values:, + # The id of the dimensional price group to include this price in + dimensional_price_group_id: nil, + # The external id of the dimensional price group to include this price in + external_dimensional_price_group_id: nil + ) + end + + sig do + override.returns( + { + dimension_values: T::Array[String], + dimensional_price_group_id: T.nilable(String), + external_dimensional_price_group_id: T.nilable(String) + } + ) + end + def to_hash + end + end + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration, + Orb::Internal::AnyHash + ) + end + + # The duration of the billing period. + sig { returns(Integer) } + attr_accessor :duration + + # The unit of billing period duration. + sig do + returns( + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + sig do + params( + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The duration of the billing period. + duration:, + # The unit of billing period duration. + duration_unit: + ) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + # The unit of billing period duration. + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + sig do + override.returns( + T::Array[ + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Variants + ] + ) + end + def self.variants + end + end + end + end + end +end diff --git a/rbi/orb/models/price_evaluate_multiple_response.rbi b/rbi/orb/models/price_evaluate_multiple_response.rbi new file mode 100644 index 00000000..01a3dc97 --- /dev/null +++ b/rbi/orb/models/price_evaluate_multiple_response.rbi @@ -0,0 +1,96 @@ +# typed: strong + +module Orb + module Models + class PriceEvaluateMultipleResponse < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::Models::PriceEvaluateMultipleResponse, + Orb::Internal::AnyHash + ) + end + + sig do + returns(T::Array[Orb::Models::PriceEvaluateMultipleResponse::Data]) + end + attr_accessor :data + + sig do + params( + data: + T::Array[Orb::Models::PriceEvaluateMultipleResponse::Data::OrHash] + ).returns(T.attached_class) + end + def self.new(data:) + end + + sig do + override.returns( + { data: T::Array[Orb::Models::PriceEvaluateMultipleResponse::Data] } + ) + end + def to_hash + end + + class Data < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::Models::PriceEvaluateMultipleResponse::Data, + Orb::Internal::AnyHash + ) + end + + # The currency of the price + sig { returns(String) } + attr_accessor :currency + + # The computed price groups associated with input price. + sig { returns(T::Array[Orb::EvaluatePriceGroup]) } + attr_accessor :price_groups + + # The index of the inline price + sig { returns(T.nilable(Integer)) } + attr_accessor :inline_price_index + + # The ID of the price + sig { returns(T.nilable(String)) } + attr_accessor :price_id + + sig do + params( + currency: String, + price_groups: T::Array[Orb::EvaluatePriceGroup::OrHash], + inline_price_index: T.nilable(Integer), + price_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The currency of the price + currency:, + # The computed price groups associated with input price. + price_groups:, + # The index of the inline price + inline_price_index: nil, + # The ID of the price + price_id: nil + ) + end + + sig do + override.returns( + { + currency: String, + price_groups: T::Array[Orb::EvaluatePriceGroup], + inline_price_index: T.nilable(Integer), + price_id: T.nilable(String) + } + ) + end + def to_hash + end + end + end + end +end diff --git a/rbi/orb/models/price_evaluate_params.rbi b/rbi/orb/models/price_evaluate_params.rbi index d8b845b2..c1171289 100644 --- a/rbi/orb/models/price_evaluate_params.rbi +++ b/rbi/orb/models/price_evaluate_params.rbi @@ -21,37 +21,33 @@ module Orb sig { returns(T.nilable(String)) } attr_accessor :customer_id - # Optional list of preview events to use instead of actual usage data (max 500) - sig { returns(T.nilable(T::Array[Orb::PriceEvaluateParams::Event])) } - attr_accessor :events - # The external customer ID of the customer to which this evaluation is scoped. sig { returns(T.nilable(String)) } attr_accessor :external_customer_id - # List of prices to evaluate (max 100) - sig do - returns(T.nilable(T::Array[Orb::PriceEvaluateParams::PriceEvaluation])) - end - attr_reader :price_evaluations + # A boolean + # [computed property](/extensibility/advanced-metrics#computed-properties) used to + # filter the underlying billable metric + sig { returns(T.nilable(String)) } + attr_accessor :filter - sig do - params( - price_evaluations: - T::Array[Orb::PriceEvaluateParams::PriceEvaluation::OrHash] - ).void - end - attr_writer :price_evaluations + # Properties (or + # [computed properties](/extensibility/advanced-metrics#computed-properties)) used + # to group the underlying billable metric + sig { returns(T.nilable(T::Array[String])) } + attr_reader :grouping_keys + + sig { params(grouping_keys: T::Array[String]).void } + attr_writer :grouping_keys sig do params( timeframe_end: Time, timeframe_start: Time, customer_id: T.nilable(String), - events: T.nilable(T::Array[Orb::PriceEvaluateParams::Event::OrHash]), external_customer_id: T.nilable(String), - price_evaluations: - T::Array[Orb::PriceEvaluateParams::PriceEvaluation::OrHash], + filter: T.nilable(String), + grouping_keys: T::Array[String], request_options: Orb::RequestOptions::OrHash ).returns(T.attached_class) end @@ -62,12 +58,16 @@ module Orb timeframe_start:, # The ID of the customer to which this evaluation is scoped. customer_id: nil, - # Optional list of preview events to use instead of actual usage data (max 500) - events: nil, # The external customer ID of the customer to which this evaluation is scoped. external_customer_id: nil, - # List of prices to evaluate (max 100) - price_evaluations: nil, + # A boolean + # [computed property](/extensibility/advanced-metrics#computed-properties) used to + # filter the underlying billable metric + filter: nil, + # Properties (or + # [computed properties](/extensibility/advanced-metrics#computed-properties)) used + # to group the underlying billable metric + grouping_keys: nil, request_options: {} ) end @@ -78,15674 +78,15 @@ module Orb timeframe_end: Time, timeframe_start: Time, customer_id: T.nilable(String), - events: T.nilable(T::Array[Orb::PriceEvaluateParams::Event]), external_customer_id: T.nilable(String), - price_evaluations: - T::Array[Orb::PriceEvaluateParams::PriceEvaluation], + filter: T.nilable(String), + grouping_keys: T::Array[String], request_options: Orb::RequestOptions } ) end def to_hash end - - class Event < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any(Orb::PriceEvaluateParams::Event, Orb::Internal::AnyHash) - end - - # A name to meaningfully identify the action or event type. - sig { returns(String) } - attr_accessor :event_name - - # A dictionary of custom properties. Values in this dictionary must be numeric, - # boolean, or strings. Nested dictionaries are disallowed. - sig { returns(T.anything) } - attr_accessor :properties - - # An ISO 8601 format date with no timezone offset (i.e. UTC). This should - # represent the time that usage was recorded, and is particularly important to - # attribute usage to a given billing period. - sig { returns(Time) } - attr_accessor :timestamp - - # The Orb Customer identifier - sig { returns(T.nilable(String)) } - attr_accessor :customer_id - - # An alias for the Orb customer, whose mapping is specified when creating the - # customer - sig { returns(T.nilable(String)) } - attr_accessor :external_customer_id - - sig do - params( - event_name: String, - properties: T.anything, - timestamp: Time, - customer_id: T.nilable(String), - external_customer_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # A name to meaningfully identify the action or event type. - event_name:, - # A dictionary of custom properties. Values in this dictionary must be numeric, - # boolean, or strings. Nested dictionaries are disallowed. - properties:, - # An ISO 8601 format date with no timezone offset (i.e. UTC). This should - # represent the time that usage was recorded, and is particularly important to - # attribute usage to a given billing period. - timestamp:, - # The Orb Customer identifier - customer_id: nil, - # An alias for the Orb customer, whose mapping is specified when creating the - # customer - external_customer_id: nil - ) - end - - sig do - override.returns( - { - event_name: String, - properties: T.anything, - timestamp: Time, - customer_id: T.nilable(String), - external_customer_id: T.nilable(String) - } - ) - end - def to_hash - end - end - - class PriceEvaluation < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation, - Orb::Internal::AnyHash - ) - end - - # A boolean - # [computed property](/extensibility/advanced-metrics#computed-properties) used to - # filter the underlying billable metric - sig { returns(T.nilable(String)) } - attr_accessor :filter - - # Properties (or - # [computed properties](/extensibility/advanced-metrics#computed-properties)) used - # to group the underlying billable metric - sig { returns(T.nilable(T::Array[String])) } - attr_reader :grouping_keys - - sig { params(grouping_keys: T::Array[String]).void } - attr_writer :grouping_keys - - # An inline price definition to evaluate, allowing you to test price - # configurations before adding them to Orb. - sig do - returns( - T.nilable( - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Unit, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Package, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Matrix, - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Tiered, - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredBps, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bps, - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkBps, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bulk, - Orb::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount, - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage, - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered, - Orb::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage, - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum, - Orb::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation, - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum, - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent, - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration, - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration, - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation, - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum, - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum, - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName, - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration, - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage, - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing, - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing, - Orb::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk - ) - ) - ) - end - attr_accessor :price - - # The ID of a price to evaluate that exists in your Orb account. - sig { returns(T.nilable(String)) } - attr_accessor :price_id - - sig do - params( - filter: T.nilable(String), - grouping_keys: T::Array[String], - price: - T.nilable( - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Unit::OrHash, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Package::OrHash, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Matrix::OrHash, - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::OrHash, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Tiered::OrHash, - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::OrHash, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bps::OrHash, - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::OrHash, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bulk::OrHash, - Orb::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::OrHash, - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::OrHash, - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::OrHash, - Orb::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::OrHash, - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::OrHash, - Orb::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::OrHash, - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::OrHash, - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::OrHash, - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::OrHash, - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::OrHash, - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::OrHash, - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::OrHash, - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::OrHash, - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::OrHash, - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::OrHash, - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::OrHash, - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::OrHash, - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::OrHash, - Orb::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::OrHash - ) - ), - price_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # A boolean - # [computed property](/extensibility/advanced-metrics#computed-properties) used to - # filter the underlying billable metric - filter: nil, - # Properties (or - # [computed properties](/extensibility/advanced-metrics#computed-properties)) used - # to group the underlying billable metric - grouping_keys: nil, - # An inline price definition to evaluate, allowing you to test price - # configurations before adding them to Orb. - price: nil, - # The ID of a price to evaluate that exists in your Orb account. - price_id: nil - ) - end - - sig do - override.returns( - { - filter: T.nilable(String), - grouping_keys: T::Array[String], - price: - T.nilable( - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Unit, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Package, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Matrix, - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Tiered, - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredBps, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bps, - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkBps, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bulk, - Orb::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount, - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage, - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered, - Orb::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage, - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum, - Orb::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation, - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum, - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent, - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration, - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration, - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation, - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum, - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum, - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName, - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration, - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage, - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing, - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing, - Orb::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk - ) - ), - price_id: T.nilable(String) - } - ) - end - def to_hash - end - - # An inline price definition to evaluate, allowing you to test price - # configurations before adding them to Orb. - module Price - extend Orb::Internal::Type::Union - - Variants = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Unit, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Package, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Matrix, - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Tiered, - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredBps, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bps, - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkBps, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bulk, - Orb::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount, - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage, - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered, - Orb::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage, - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum, - Orb::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation, - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum, - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent, - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration, - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration, - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation, - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum, - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum, - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName, - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration, - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage, - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing, - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing, - Orb::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk - ) - end - - class Unit < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Unit, - Orb::Internal::AnyHash - ) - end - - # The cadence to bill for this price on. - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Unit::Cadence::OrSymbol - ) - end - attr_accessor :cadence - - # An ISO 4217 currency string for which this price is billed in. - sig { returns(String) } - attr_accessor :currency - - # The id of the item the price will be associated with. - sig { returns(String) } - attr_accessor :item_id - - sig { returns(Symbol) } - attr_accessor :model_type - - # The name of the price. - sig { returns(String) } - attr_accessor :name - - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Unit::UnitConfig - ) - end - attr_reader :unit_config - - sig do - params( - unit_config: - Orb::PriceEvaluateParams::PriceEvaluation::Price::Unit::UnitConfig::OrHash - ).void - end - attr_writer :unit_config - - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - sig { returns(T.nilable(String)) } - attr_accessor :billable_metric_id - - # 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. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :billed_in_advance - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - returns( - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Unit::BillingCycleConfiguration - ) - ) - end - attr_reader :billing_cycle_configuration - - sig do - params( - billing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Unit::BillingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :billing_cycle_configuration - - # The per unit conversion rate of the price currency to the invoicing currency. - sig { returns(T.nilable(Float)) } - attr_accessor :conversion_rate - - # For dimensional price: specifies a price group and dimension values - sig do - returns( - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Unit::DimensionalPriceConfiguration - ) - ) - end - attr_reader :dimensional_price_configuration - - sig do - params( - dimensional_price_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Unit::DimensionalPriceConfiguration::OrHash - ) - ).void - end - attr_writer :dimensional_price_configuration - - # An alias for the price. - sig { returns(T.nilable(String)) } - attr_accessor :external_price_id - - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - sig { returns(T.nilable(Float)) } - attr_accessor :fixed_price_quantity - - # The property used to group this price on an invoice - sig { returns(T.nilable(String)) } - attr_accessor :invoice_grouping_key - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - returns( - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Unit::InvoicingCycleConfiguration - ) - ) - end - attr_reader :invoicing_cycle_configuration - - sig do - params( - invoicing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Unit::InvoicingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :invoicing_cycle_configuration - - # 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`. - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } - attr_accessor :metadata - - sig do - params( - cadence: - Orb::PriceEvaluateParams::PriceEvaluation::Price::Unit::Cadence::OrSymbol, - currency: String, - item_id: String, - name: String, - unit_config: - Orb::PriceEvaluateParams::PriceEvaluation::Price::Unit::UnitConfig::OrHash, - billable_metric_id: T.nilable(String), - billed_in_advance: T.nilable(T::Boolean), - billing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Unit::BillingCycleConfiguration::OrHash - ), - conversion_rate: T.nilable(Float), - dimensional_price_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Unit::DimensionalPriceConfiguration::OrHash - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Unit::InvoicingCycleConfiguration::OrHash - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), - model_type: Symbol - ).returns(T.attached_class) - end - def self.new( - # The cadence to bill for this price on. - cadence:, - # An ISO 4217 currency string for which this price is billed in. - currency:, - # The id of the item the price will be associated with. - item_id:, - # The name of the price. - name:, - unit_config:, - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - billable_metric_id: nil, - # 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. - billed_in_advance: nil, - # For custom cadence: specifies the duration of the billing period in days or - # months. - billing_cycle_configuration: nil, - # The per unit conversion rate of the price currency to the invoicing currency. - conversion_rate: nil, - # For dimensional price: specifies a price group and dimension values - dimensional_price_configuration: nil, - # An alias for the price. - external_price_id: nil, - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - fixed_price_quantity: nil, - # The property used to group this price on an invoice - invoice_grouping_key: nil, - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - invoicing_cycle_configuration: nil, - # 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`. - metadata: nil, - model_type: :unit - ) - end - - sig do - override.returns( - { - cadence: - Orb::PriceEvaluateParams::PriceEvaluation::Price::Unit::Cadence::OrSymbol, - currency: String, - item_id: String, - model_type: Symbol, - name: String, - unit_config: - Orb::PriceEvaluateParams::PriceEvaluation::Price::Unit::UnitConfig, - billable_metric_id: T.nilable(String), - billed_in_advance: T.nilable(T::Boolean), - billing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Unit::BillingCycleConfiguration - ), - conversion_rate: T.nilable(Float), - dimensional_price_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Unit::DimensionalPriceConfiguration - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Unit::InvoicingCycleConfiguration - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) - } - ) - end - def to_hash - end - - # The cadence to bill for this price on. - module Cadence - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Unit::Cadence - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ANNUAL = - T.let( - :annual, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Unit::Cadence::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Unit::Cadence::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Unit::Cadence::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Unit::Cadence::TaggedSymbol - ) - ONE_TIME = - T.let( - :one_time, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Unit::Cadence::TaggedSymbol - ) - CUSTOM = - T.let( - :custom, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Unit::Cadence::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::Unit::Cadence::TaggedSymbol - ] - ) - end - def self.values - end - end - - class UnitConfig < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Unit::UnitConfig, - Orb::Internal::AnyHash - ) - end - - # Rate per unit of usage - sig { returns(String) } - attr_accessor :unit_amount - - sig { params(unit_amount: String).returns(T.attached_class) } - def self.new( - # Rate per unit of usage - unit_amount: - ) - end - - sig { override.returns({ unit_amount: String }) } - def to_hash - end - end - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Unit::BillingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Unit::BillingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - params( - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::Unit::BillingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::Unit::BillingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Unit::BillingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Unit::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Unit::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::Unit::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Unit::DimensionalPriceConfiguration, - Orb::Internal::AnyHash - ) - end - - # The list of dimension values matching (in order) the dimensions of the price - # group - sig { returns(T::Array[String]) } - attr_accessor :dimension_values - - # The id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :dimensional_price_group_id - - # The external id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :external_dimensional_price_group_id - - # For dimensional price: specifies a price group and dimension values - sig do - params( - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The list of dimension values matching (in order) the dimensions of the price - # group - dimension_values:, - # The id of the dimensional price group to include this price in - dimensional_price_group_id: nil, - # The external id of the dimensional price group to include this price in - external_dimensional_price_group_id: nil - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - } - ) - end - def to_hash - end - end - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Unit::InvoicingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Unit::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - params( - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::Unit::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::Unit::InvoicingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Unit::InvoicingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Unit::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Unit::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::Unit::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class Package < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Package, - Orb::Internal::AnyHash - ) - end - - # The cadence to bill for this price on. - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Package::Cadence::OrSymbol - ) - end - attr_accessor :cadence - - # An ISO 4217 currency string for which this price is billed in. - sig { returns(String) } - attr_accessor :currency - - # The id of the item the price will be associated with. - sig { returns(String) } - attr_accessor :item_id - - sig { returns(Symbol) } - attr_accessor :model_type - - # The name of the price. - sig { returns(String) } - attr_accessor :name - - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Package::PackageConfig - ) - end - attr_reader :package_config - - sig do - params( - package_config: - Orb::PriceEvaluateParams::PriceEvaluation::Price::Package::PackageConfig::OrHash - ).void - end - attr_writer :package_config - - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - sig { returns(T.nilable(String)) } - attr_accessor :billable_metric_id - - # 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. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :billed_in_advance - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - returns( - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Package::BillingCycleConfiguration - ) - ) - end - attr_reader :billing_cycle_configuration - - sig do - params( - billing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Package::BillingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :billing_cycle_configuration - - # The per unit conversion rate of the price currency to the invoicing currency. - sig { returns(T.nilable(Float)) } - attr_accessor :conversion_rate - - # For dimensional price: specifies a price group and dimension values - sig do - returns( - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Package::DimensionalPriceConfiguration - ) - ) - end - attr_reader :dimensional_price_configuration - - sig do - params( - dimensional_price_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Package::DimensionalPriceConfiguration::OrHash - ) - ).void - end - attr_writer :dimensional_price_configuration - - # An alias for the price. - sig { returns(T.nilable(String)) } - attr_accessor :external_price_id - - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - sig { returns(T.nilable(Float)) } - attr_accessor :fixed_price_quantity - - # The property used to group this price on an invoice - sig { returns(T.nilable(String)) } - attr_accessor :invoice_grouping_key - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - returns( - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Package::InvoicingCycleConfiguration - ) - ) - end - attr_reader :invoicing_cycle_configuration - - sig do - params( - invoicing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Package::InvoicingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :invoicing_cycle_configuration - - # 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`. - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } - attr_accessor :metadata - - sig do - params( - cadence: - Orb::PriceEvaluateParams::PriceEvaluation::Price::Package::Cadence::OrSymbol, - currency: String, - item_id: String, - name: String, - package_config: - Orb::PriceEvaluateParams::PriceEvaluation::Price::Package::PackageConfig::OrHash, - billable_metric_id: T.nilable(String), - billed_in_advance: T.nilable(T::Boolean), - billing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Package::BillingCycleConfiguration::OrHash - ), - conversion_rate: T.nilable(Float), - dimensional_price_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Package::DimensionalPriceConfiguration::OrHash - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Package::InvoicingCycleConfiguration::OrHash - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), - model_type: Symbol - ).returns(T.attached_class) - end - def self.new( - # The cadence to bill for this price on. - cadence:, - # An ISO 4217 currency string for which this price is billed in. - currency:, - # The id of the item the price will be associated with. - item_id:, - # The name of the price. - name:, - package_config:, - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - billable_metric_id: nil, - # 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. - billed_in_advance: nil, - # For custom cadence: specifies the duration of the billing period in days or - # months. - billing_cycle_configuration: nil, - # The per unit conversion rate of the price currency to the invoicing currency. - conversion_rate: nil, - # For dimensional price: specifies a price group and dimension values - dimensional_price_configuration: nil, - # An alias for the price. - external_price_id: nil, - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - fixed_price_quantity: nil, - # The property used to group this price on an invoice - invoice_grouping_key: nil, - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - invoicing_cycle_configuration: nil, - # 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`. - metadata: nil, - model_type: :package - ) - end - - sig do - override.returns( - { - cadence: - Orb::PriceEvaluateParams::PriceEvaluation::Price::Package::Cadence::OrSymbol, - currency: String, - item_id: String, - model_type: Symbol, - name: String, - package_config: - Orb::PriceEvaluateParams::PriceEvaluation::Price::Package::PackageConfig, - billable_metric_id: T.nilable(String), - billed_in_advance: T.nilable(T::Boolean), - billing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Package::BillingCycleConfiguration - ), - conversion_rate: T.nilable(Float), - dimensional_price_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Package::DimensionalPriceConfiguration - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Package::InvoicingCycleConfiguration - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) - } - ) - end - def to_hash - end - - # The cadence to bill for this price on. - module Cadence - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Package::Cadence - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ANNUAL = - T.let( - :annual, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Package::Cadence::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Package::Cadence::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Package::Cadence::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Package::Cadence::TaggedSymbol - ) - ONE_TIME = - T.let( - :one_time, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Package::Cadence::TaggedSymbol - ) - CUSTOM = - T.let( - :custom, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Package::Cadence::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::Package::Cadence::TaggedSymbol - ] - ) - end - def self.values - end - end - - class PackageConfig < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Package::PackageConfig, - Orb::Internal::AnyHash - ) - end - - # A currency amount to rate usage by - sig { returns(String) } - attr_accessor :package_amount - - # An integer amount to represent package size. For example, 1000 here would divide - # usage by 1000 before multiplying by package_amount in rating - sig { returns(Integer) } - attr_accessor :package_size - - sig do - params(package_amount: String, package_size: Integer).returns( - T.attached_class - ) - end - def self.new( - # A currency amount to rate usage by - package_amount:, - # An integer amount to represent package size. For example, 1000 here would divide - # usage by 1000 before multiplying by package_amount in rating - package_size: - ) - end - - sig do - override.returns( - { package_amount: String, package_size: Integer } - ) - end - def to_hash - end - end - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Package::BillingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Package::BillingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - params( - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::Package::BillingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::Package::BillingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Package::BillingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Package::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Package::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::Package::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Package::DimensionalPriceConfiguration, - Orb::Internal::AnyHash - ) - end - - # The list of dimension values matching (in order) the dimensions of the price - # group - sig { returns(T::Array[String]) } - attr_accessor :dimension_values - - # The id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :dimensional_price_group_id - - # The external id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :external_dimensional_price_group_id - - # For dimensional price: specifies a price group and dimension values - sig do - params( - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The list of dimension values matching (in order) the dimensions of the price - # group - dimension_values:, - # The id of the dimensional price group to include this price in - dimensional_price_group_id: nil, - # The external id of the dimensional price group to include this price in - external_dimensional_price_group_id: nil - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - } - ) - end - def to_hash - end - end - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Package::InvoicingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Package::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - params( - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::Package::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::Package::InvoicingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Package::InvoicingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Package::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Package::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::Package::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class Matrix < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Matrix, - Orb::Internal::AnyHash - ) - end - - # The cadence to bill for this price on. - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Matrix::Cadence::OrSymbol - ) - end - attr_accessor :cadence - - # An ISO 4217 currency string for which this price is billed in. - sig { returns(String) } - attr_accessor :currency - - # The id of the item the price will be associated with. - sig { returns(String) } - attr_accessor :item_id - - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Matrix::MatrixConfig - ) - end - attr_reader :matrix_config - - sig do - params( - matrix_config: - Orb::PriceEvaluateParams::PriceEvaluation::Price::Matrix::MatrixConfig::OrHash - ).void - end - attr_writer :matrix_config - - sig { returns(Symbol) } - attr_accessor :model_type - - # The name of the price. - sig { returns(String) } - attr_accessor :name - - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - sig { returns(T.nilable(String)) } - attr_accessor :billable_metric_id - - # 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. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :billed_in_advance - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - returns( - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Matrix::BillingCycleConfiguration - ) - ) - end - attr_reader :billing_cycle_configuration - - sig do - params( - billing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Matrix::BillingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :billing_cycle_configuration - - # The per unit conversion rate of the price currency to the invoicing currency. - sig { returns(T.nilable(Float)) } - attr_accessor :conversion_rate - - # For dimensional price: specifies a price group and dimension values - sig do - returns( - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Matrix::DimensionalPriceConfiguration - ) - ) - end - attr_reader :dimensional_price_configuration - - sig do - params( - dimensional_price_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Matrix::DimensionalPriceConfiguration::OrHash - ) - ).void - end - attr_writer :dimensional_price_configuration - - # An alias for the price. - sig { returns(T.nilable(String)) } - attr_accessor :external_price_id - - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - sig { returns(T.nilable(Float)) } - attr_accessor :fixed_price_quantity - - # The property used to group this price on an invoice - sig { returns(T.nilable(String)) } - attr_accessor :invoice_grouping_key - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - returns( - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Matrix::InvoicingCycleConfiguration - ) - ) - end - attr_reader :invoicing_cycle_configuration - - sig do - params( - invoicing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Matrix::InvoicingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :invoicing_cycle_configuration - - # 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`. - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } - attr_accessor :metadata - - sig do - params( - cadence: - Orb::PriceEvaluateParams::PriceEvaluation::Price::Matrix::Cadence::OrSymbol, - currency: String, - item_id: String, - matrix_config: - Orb::PriceEvaluateParams::PriceEvaluation::Price::Matrix::MatrixConfig::OrHash, - name: String, - billable_metric_id: T.nilable(String), - billed_in_advance: T.nilable(T::Boolean), - billing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Matrix::BillingCycleConfiguration::OrHash - ), - conversion_rate: T.nilable(Float), - dimensional_price_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Matrix::DimensionalPriceConfiguration::OrHash - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Matrix::InvoicingCycleConfiguration::OrHash - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), - model_type: Symbol - ).returns(T.attached_class) - end - def self.new( - # The cadence to bill for this price on. - cadence:, - # An ISO 4217 currency string for which this price is billed in. - currency:, - # The id of the item the price will be associated with. - item_id:, - matrix_config:, - # The name of the price. - name:, - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - billable_metric_id: nil, - # 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. - billed_in_advance: nil, - # For custom cadence: specifies the duration of the billing period in days or - # months. - billing_cycle_configuration: nil, - # The per unit conversion rate of the price currency to the invoicing currency. - conversion_rate: nil, - # For dimensional price: specifies a price group and dimension values - dimensional_price_configuration: nil, - # An alias for the price. - external_price_id: nil, - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - fixed_price_quantity: nil, - # The property used to group this price on an invoice - invoice_grouping_key: nil, - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - invoicing_cycle_configuration: nil, - # 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`. - metadata: nil, - model_type: :matrix - ) - end - - sig do - override.returns( - { - cadence: - Orb::PriceEvaluateParams::PriceEvaluation::Price::Matrix::Cadence::OrSymbol, - currency: String, - item_id: String, - matrix_config: - Orb::PriceEvaluateParams::PriceEvaluation::Price::Matrix::MatrixConfig, - model_type: Symbol, - name: String, - billable_metric_id: T.nilable(String), - billed_in_advance: T.nilable(T::Boolean), - billing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Matrix::BillingCycleConfiguration - ), - conversion_rate: T.nilable(Float), - dimensional_price_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Matrix::DimensionalPriceConfiguration - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Matrix::InvoicingCycleConfiguration - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) - } - ) - end - def to_hash - end - - # The cadence to bill for this price on. - module Cadence - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Matrix::Cadence - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ANNUAL = - T.let( - :annual, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Matrix::Cadence::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Matrix::Cadence::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Matrix::Cadence::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Matrix::Cadence::TaggedSymbol - ) - ONE_TIME = - T.let( - :one_time, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Matrix::Cadence::TaggedSymbol - ) - CUSTOM = - T.let( - :custom, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Matrix::Cadence::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::Matrix::Cadence::TaggedSymbol - ] - ) - end - def self.values - end - end - - class MatrixConfig < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Matrix::MatrixConfig, - Orb::Internal::AnyHash - ) - end - - # Default per unit rate for any usage not bucketed into a specified matrix_value - sig { returns(String) } - attr_accessor :default_unit_amount - - # One or two event property values to evaluate matrix groups by - sig { returns(T::Array[T.nilable(String)]) } - attr_accessor :dimensions - - # Matrix values for specified matrix grouping keys - sig do - returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::Matrix::MatrixConfig::MatrixValue - ] - ) - end - attr_accessor :matrix_values - - sig do - params( - default_unit_amount: String, - dimensions: T::Array[T.nilable(String)], - matrix_values: - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::Matrix::MatrixConfig::MatrixValue::OrHash - ] - ).returns(T.attached_class) - end - def self.new( - # Default per unit rate for any usage not bucketed into a specified matrix_value - default_unit_amount:, - # One or two event property values to evaluate matrix groups by - dimensions:, - # Matrix values for specified matrix grouping keys - matrix_values: - ) - end - - sig do - override.returns( - { - default_unit_amount: String, - dimensions: T::Array[T.nilable(String)], - matrix_values: - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::Matrix::MatrixConfig::MatrixValue - ] - } - ) - end - def to_hash - end - - class MatrixValue < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Matrix::MatrixConfig::MatrixValue, - Orb::Internal::AnyHash - ) - end - - # One or two matrix keys to filter usage to this Matrix value by. For example, - # ["region", "tier"] could be used to filter cloud usage by a cloud region and an - # instance tier. - sig { returns(T::Array[T.nilable(String)]) } - attr_accessor :dimension_values - - # Unit price for the specified dimension_values - sig { returns(String) } - attr_accessor :unit_amount - - sig do - params( - dimension_values: T::Array[T.nilable(String)], - unit_amount: String - ).returns(T.attached_class) - end - def self.new( - # One or two matrix keys to filter usage to this Matrix value by. For example, - # ["region", "tier"] could be used to filter cloud usage by a cloud region and an - # instance tier. - dimension_values:, - # Unit price for the specified dimension_values - unit_amount: - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[T.nilable(String)], - unit_amount: String - } - ) - end - def to_hash - end - end - end - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Matrix::BillingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Matrix::BillingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - params( - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::Matrix::BillingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::Matrix::BillingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Matrix::BillingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Matrix::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Matrix::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::Matrix::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Matrix::DimensionalPriceConfiguration, - Orb::Internal::AnyHash - ) - end - - # The list of dimension values matching (in order) the dimensions of the price - # group - sig { returns(T::Array[String]) } - attr_accessor :dimension_values - - # The id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :dimensional_price_group_id - - # The external id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :external_dimensional_price_group_id - - # For dimensional price: specifies a price group and dimension values - sig do - params( - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The list of dimension values matching (in order) the dimensions of the price - # group - dimension_values:, - # The id of the dimensional price group to include this price in - dimensional_price_group_id: nil, - # The external id of the dimensional price group to include this price in - external_dimensional_price_group_id: nil - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - } - ) - end - def to_hash - end - end - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Matrix::InvoicingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Matrix::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - params( - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::Matrix::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::Matrix::InvoicingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Matrix::InvoicingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Matrix::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Matrix::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::Matrix::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class MatrixWithAllocation < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation, - Orb::Internal::AnyHash - ) - end - - # The cadence to bill for this price on. - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::Cadence::OrSymbol - ) - end - attr_accessor :cadence - - # An ISO 4217 currency string for which this price is billed in. - sig { returns(String) } - attr_accessor :currency - - # The id of the item the price will be associated with. - sig { returns(String) } - attr_accessor :item_id - - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::MatrixWithAllocationConfig - ) - end - attr_reader :matrix_with_allocation_config - - sig do - params( - matrix_with_allocation_config: - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::MatrixWithAllocationConfig::OrHash - ).void - end - attr_writer :matrix_with_allocation_config - - sig { returns(Symbol) } - attr_accessor :model_type - - # The name of the price. - sig { returns(String) } - attr_accessor :name - - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - sig { returns(T.nilable(String)) } - attr_accessor :billable_metric_id - - # 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. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :billed_in_advance - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - returns( - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::BillingCycleConfiguration - ) - ) - end - attr_reader :billing_cycle_configuration - - sig do - params( - billing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::BillingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :billing_cycle_configuration - - # The per unit conversion rate of the price currency to the invoicing currency. - sig { returns(T.nilable(Float)) } - attr_accessor :conversion_rate - - # For dimensional price: specifies a price group and dimension values - sig do - returns( - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::DimensionalPriceConfiguration - ) - ) - end - attr_reader :dimensional_price_configuration - - sig do - params( - dimensional_price_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::DimensionalPriceConfiguration::OrHash - ) - ).void - end - attr_writer :dimensional_price_configuration - - # An alias for the price. - sig { returns(T.nilable(String)) } - attr_accessor :external_price_id - - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - sig { returns(T.nilable(Float)) } - attr_accessor :fixed_price_quantity - - # The property used to group this price on an invoice - sig { returns(T.nilable(String)) } - attr_accessor :invoice_grouping_key - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - returns( - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::InvoicingCycleConfiguration - ) - ) - end - attr_reader :invoicing_cycle_configuration - - sig do - params( - invoicing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::InvoicingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :invoicing_cycle_configuration - - # 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`. - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } - attr_accessor :metadata - - sig do - params( - cadence: - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::Cadence::OrSymbol, - currency: String, - item_id: String, - matrix_with_allocation_config: - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::MatrixWithAllocationConfig::OrHash, - name: String, - billable_metric_id: T.nilable(String), - billed_in_advance: T.nilable(T::Boolean), - billing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::BillingCycleConfiguration::OrHash - ), - conversion_rate: T.nilable(Float), - dimensional_price_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::DimensionalPriceConfiguration::OrHash - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::InvoicingCycleConfiguration::OrHash - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), - model_type: Symbol - ).returns(T.attached_class) - end - def self.new( - # The cadence to bill for this price on. - cadence:, - # An ISO 4217 currency string for which this price is billed in. - currency:, - # The id of the item the price will be associated with. - item_id:, - matrix_with_allocation_config:, - # The name of the price. - name:, - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - billable_metric_id: nil, - # 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. - billed_in_advance: nil, - # For custom cadence: specifies the duration of the billing period in days or - # months. - billing_cycle_configuration: nil, - # The per unit conversion rate of the price currency to the invoicing currency. - conversion_rate: nil, - # For dimensional price: specifies a price group and dimension values - dimensional_price_configuration: nil, - # An alias for the price. - external_price_id: nil, - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - fixed_price_quantity: nil, - # The property used to group this price on an invoice - invoice_grouping_key: nil, - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - invoicing_cycle_configuration: nil, - # 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`. - metadata: nil, - model_type: :matrix_with_allocation - ) - end - - sig do - override.returns( - { - cadence: - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::Cadence::OrSymbol, - currency: String, - item_id: String, - matrix_with_allocation_config: - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::MatrixWithAllocationConfig, - model_type: Symbol, - name: String, - billable_metric_id: T.nilable(String), - billed_in_advance: T.nilable(T::Boolean), - billing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::BillingCycleConfiguration - ), - conversion_rate: T.nilable(Float), - dimensional_price_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::DimensionalPriceConfiguration - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::InvoicingCycleConfiguration - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) - } - ) - end - def to_hash - end - - # The cadence to bill for this price on. - module Cadence - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::Cadence - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ANNUAL = - T.let( - :annual, - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::Cadence::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::Cadence::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::Cadence::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::Cadence::TaggedSymbol - ) - ONE_TIME = - T.let( - :one_time, - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::Cadence::TaggedSymbol - ) - CUSTOM = - T.let( - :custom, - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::Cadence::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::Cadence::TaggedSymbol - ] - ) - end - def self.values - end - end - - class MatrixWithAllocationConfig < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::MatrixWithAllocationConfig, - Orb::Internal::AnyHash - ) - end - - # Allocation to be used to calculate the price - sig { returns(Float) } - attr_accessor :allocation - - # Default per unit rate for any usage not bucketed into a specified matrix_value - sig { returns(String) } - attr_accessor :default_unit_amount - - # One or two event property values to evaluate matrix groups by - sig { returns(T::Array[T.nilable(String)]) } - attr_accessor :dimensions - - # Matrix values for specified matrix grouping keys - sig do - returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue - ] - ) - end - attr_accessor :matrix_values - - sig do - params( - allocation: Float, - default_unit_amount: String, - dimensions: T::Array[T.nilable(String)], - matrix_values: - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue::OrHash - ] - ).returns(T.attached_class) - end - def self.new( - # Allocation to be used to calculate the price - allocation:, - # Default per unit rate for any usage not bucketed into a specified matrix_value - default_unit_amount:, - # One or two event property values to evaluate matrix groups by - dimensions:, - # Matrix values for specified matrix grouping keys - matrix_values: - ) - end - - sig do - override.returns( - { - allocation: Float, - default_unit_amount: String, - dimensions: T::Array[T.nilable(String)], - matrix_values: - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue - ] - } - ) - end - def to_hash - end - - class MatrixValue < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue, - Orb::Internal::AnyHash - ) - end - - # One or two matrix keys to filter usage to this Matrix value by. For example, - # ["region", "tier"] could be used to filter cloud usage by a cloud region and an - # instance tier. - sig { returns(T::Array[T.nilable(String)]) } - attr_accessor :dimension_values - - # Unit price for the specified dimension_values - sig { returns(String) } - attr_accessor :unit_amount - - sig do - params( - dimension_values: T::Array[T.nilable(String)], - unit_amount: String - ).returns(T.attached_class) - end - def self.new( - # One or two matrix keys to filter usage to this Matrix value by. For example, - # ["region", "tier"] could be used to filter cloud usage by a cloud region and an - # instance tier. - dimension_values:, - # Unit price for the specified dimension_values - unit_amount: - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[T.nilable(String)], - unit_amount: String - } - ) - end - def to_hash - end - end - end - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::BillingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - params( - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::DimensionalPriceConfiguration, - Orb::Internal::AnyHash - ) - end - - # The list of dimension values matching (in order) the dimensions of the price - # group - sig { returns(T::Array[String]) } - attr_accessor :dimension_values - - # The id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :dimensional_price_group_id - - # The external id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :external_dimensional_price_group_id - - # For dimensional price: specifies a price group and dimension values - sig do - params( - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The list of dimension values matching (in order) the dimensions of the price - # group - dimension_values:, - # The id of the dimensional price group to include this price in - dimensional_price_group_id: nil, - # The external id of the dimensional price group to include this price in - external_dimensional_price_group_id: nil - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - } - ) - end - def to_hash - end - end - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::InvoicingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - params( - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class Tiered < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Tiered, - Orb::Internal::AnyHash - ) - end - - # The cadence to bill for this price on. - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Tiered::Cadence::OrSymbol - ) - end - attr_accessor :cadence - - # An ISO 4217 currency string for which this price is billed in. - sig { returns(String) } - attr_accessor :currency - - # The id of the item the price will be associated with. - sig { returns(String) } - attr_accessor :item_id - - sig { returns(Symbol) } - attr_accessor :model_type - - # The name of the price. - sig { returns(String) } - attr_accessor :name - - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Tiered::TieredConfig - ) - end - attr_reader :tiered_config - - sig do - params( - tiered_config: - Orb::PriceEvaluateParams::PriceEvaluation::Price::Tiered::TieredConfig::OrHash - ).void - end - attr_writer :tiered_config - - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - sig { returns(T.nilable(String)) } - attr_accessor :billable_metric_id - - # 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. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :billed_in_advance - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - returns( - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Tiered::BillingCycleConfiguration - ) - ) - end - attr_reader :billing_cycle_configuration - - sig do - params( - billing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Tiered::BillingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :billing_cycle_configuration - - # The per unit conversion rate of the price currency to the invoicing currency. - sig { returns(T.nilable(Float)) } - attr_accessor :conversion_rate - - # For dimensional price: specifies a price group and dimension values - sig do - returns( - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Tiered::DimensionalPriceConfiguration - ) - ) - end - attr_reader :dimensional_price_configuration - - sig do - params( - dimensional_price_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Tiered::DimensionalPriceConfiguration::OrHash - ) - ).void - end - attr_writer :dimensional_price_configuration - - # An alias for the price. - sig { returns(T.nilable(String)) } - attr_accessor :external_price_id - - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - sig { returns(T.nilable(Float)) } - attr_accessor :fixed_price_quantity - - # The property used to group this price on an invoice - sig { returns(T.nilable(String)) } - attr_accessor :invoice_grouping_key - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - returns( - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Tiered::InvoicingCycleConfiguration - ) - ) - end - attr_reader :invoicing_cycle_configuration - - sig do - params( - invoicing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Tiered::InvoicingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :invoicing_cycle_configuration - - # 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`. - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } - attr_accessor :metadata - - sig do - params( - cadence: - Orb::PriceEvaluateParams::PriceEvaluation::Price::Tiered::Cadence::OrSymbol, - currency: String, - item_id: String, - name: String, - tiered_config: - Orb::PriceEvaluateParams::PriceEvaluation::Price::Tiered::TieredConfig::OrHash, - billable_metric_id: T.nilable(String), - billed_in_advance: T.nilable(T::Boolean), - billing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Tiered::BillingCycleConfiguration::OrHash - ), - conversion_rate: T.nilable(Float), - dimensional_price_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Tiered::DimensionalPriceConfiguration::OrHash - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Tiered::InvoicingCycleConfiguration::OrHash - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), - model_type: Symbol - ).returns(T.attached_class) - end - def self.new( - # The cadence to bill for this price on. - cadence:, - # An ISO 4217 currency string for which this price is billed in. - currency:, - # The id of the item the price will be associated with. - item_id:, - # The name of the price. - name:, - tiered_config:, - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - billable_metric_id: nil, - # 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. - billed_in_advance: nil, - # For custom cadence: specifies the duration of the billing period in days or - # months. - billing_cycle_configuration: nil, - # The per unit conversion rate of the price currency to the invoicing currency. - conversion_rate: nil, - # For dimensional price: specifies a price group and dimension values - dimensional_price_configuration: nil, - # An alias for the price. - external_price_id: nil, - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - fixed_price_quantity: nil, - # The property used to group this price on an invoice - invoice_grouping_key: nil, - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - invoicing_cycle_configuration: nil, - # 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`. - metadata: nil, - model_type: :tiered - ) - end - - sig do - override.returns( - { - cadence: - Orb::PriceEvaluateParams::PriceEvaluation::Price::Tiered::Cadence::OrSymbol, - currency: String, - item_id: String, - model_type: Symbol, - name: String, - tiered_config: - Orb::PriceEvaluateParams::PriceEvaluation::Price::Tiered::TieredConfig, - billable_metric_id: T.nilable(String), - billed_in_advance: T.nilable(T::Boolean), - billing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Tiered::BillingCycleConfiguration - ), - conversion_rate: T.nilable(Float), - dimensional_price_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Tiered::DimensionalPriceConfiguration - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Tiered::InvoicingCycleConfiguration - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) - } - ) - end - def to_hash - end - - # The cadence to bill for this price on. - module Cadence - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Tiered::Cadence - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ANNUAL = - T.let( - :annual, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Tiered::Cadence::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Tiered::Cadence::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Tiered::Cadence::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Tiered::Cadence::TaggedSymbol - ) - ONE_TIME = - T.let( - :one_time, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Tiered::Cadence::TaggedSymbol - ) - CUSTOM = - T.let( - :custom, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Tiered::Cadence::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::Tiered::Cadence::TaggedSymbol - ] - ) - end - def self.values - end - end - - class TieredConfig < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Tiered::TieredConfig, - Orb::Internal::AnyHash - ) - end - - # Tiers for rating based on total usage quantities into the specified tier - sig do - returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::Tiered::TieredConfig::Tier - ] - ) - end - attr_accessor :tiers - - sig do - params( - tiers: - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::Tiered::TieredConfig::Tier::OrHash - ] - ).returns(T.attached_class) - end - def self.new( - # Tiers for rating based on total usage quantities into the specified tier - tiers: - ) - end - - sig do - override.returns( - { - tiers: - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::Tiered::TieredConfig::Tier - ] - } - ) - end - def to_hash - end - - class Tier < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Tiered::TieredConfig::Tier, - Orb::Internal::AnyHash - ) - end - - # Exclusive tier starting value - sig { returns(Float) } - attr_accessor :first_unit - - # Amount per unit - sig { returns(String) } - attr_accessor :unit_amount - - # Inclusive tier ending value. If null, this is treated as the last tier - sig { returns(T.nilable(Float)) } - attr_accessor :last_unit - - sig do - params( - first_unit: Float, - unit_amount: String, - last_unit: T.nilable(Float) - ).returns(T.attached_class) - end - def self.new( - # Exclusive tier starting value - first_unit:, - # Amount per unit - unit_amount:, - # Inclusive tier ending value. If null, this is treated as the last tier - last_unit: nil - ) - end - - sig do - override.returns( - { - first_unit: Float, - unit_amount: String, - last_unit: T.nilable(Float) - } - ) - end - def to_hash - end - end - end - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Tiered::BillingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Tiered::BillingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - params( - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::Tiered::BillingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::Tiered::BillingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Tiered::BillingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Tiered::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Tiered::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::Tiered::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Tiered::DimensionalPriceConfiguration, - Orb::Internal::AnyHash - ) - end - - # The list of dimension values matching (in order) the dimensions of the price - # group - sig { returns(T::Array[String]) } - attr_accessor :dimension_values - - # The id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :dimensional_price_group_id - - # The external id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :external_dimensional_price_group_id - - # For dimensional price: specifies a price group and dimension values - sig do - params( - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The list of dimension values matching (in order) the dimensions of the price - # group - dimension_values:, - # The id of the dimensional price group to include this price in - dimensional_price_group_id: nil, - # The external id of the dimensional price group to include this price in - external_dimensional_price_group_id: nil - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - } - ) - end - def to_hash - end - end - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Tiered::InvoicingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Tiered::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - params( - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::Tiered::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::Tiered::InvoicingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Tiered::InvoicingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Tiered::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Tiered::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::Tiered::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class TieredBps < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredBps, - Orb::Internal::AnyHash - ) - end - - # The cadence to bill for this price on. - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::Cadence::OrSymbol - ) - end - attr_accessor :cadence - - # An ISO 4217 currency string for which this price is billed in. - sig { returns(String) } - attr_accessor :currency - - # The id of the item the price will be associated with. - sig { returns(String) } - attr_accessor :item_id - - sig { returns(Symbol) } - attr_accessor :model_type - - # The name of the price. - sig { returns(String) } - attr_accessor :name - - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::TieredBpsConfig - ) - end - attr_reader :tiered_bps_config - - sig do - params( - tiered_bps_config: - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::TieredBpsConfig::OrHash - ).void - end - attr_writer :tiered_bps_config - - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - sig { returns(T.nilable(String)) } - attr_accessor :billable_metric_id - - # 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. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :billed_in_advance - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - returns( - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::BillingCycleConfiguration - ) - ) - end - attr_reader :billing_cycle_configuration - - sig do - params( - billing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::BillingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :billing_cycle_configuration - - # The per unit conversion rate of the price currency to the invoicing currency. - sig { returns(T.nilable(Float)) } - attr_accessor :conversion_rate - - # For dimensional price: specifies a price group and dimension values - sig do - returns( - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::DimensionalPriceConfiguration - ) - ) - end - attr_reader :dimensional_price_configuration - - sig do - params( - dimensional_price_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::DimensionalPriceConfiguration::OrHash - ) - ).void - end - attr_writer :dimensional_price_configuration - - # An alias for the price. - sig { returns(T.nilable(String)) } - attr_accessor :external_price_id - - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - sig { returns(T.nilable(Float)) } - attr_accessor :fixed_price_quantity - - # The property used to group this price on an invoice - sig { returns(T.nilable(String)) } - attr_accessor :invoice_grouping_key - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - returns( - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::InvoicingCycleConfiguration - ) - ) - end - attr_reader :invoicing_cycle_configuration - - sig do - params( - invoicing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::InvoicingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :invoicing_cycle_configuration - - # 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`. - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } - attr_accessor :metadata - - sig do - params( - cadence: - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::Cadence::OrSymbol, - currency: String, - item_id: String, - name: String, - tiered_bps_config: - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::TieredBpsConfig::OrHash, - billable_metric_id: T.nilable(String), - billed_in_advance: T.nilable(T::Boolean), - billing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::BillingCycleConfiguration::OrHash - ), - conversion_rate: T.nilable(Float), - dimensional_price_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::DimensionalPriceConfiguration::OrHash - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::InvoicingCycleConfiguration::OrHash - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), - model_type: Symbol - ).returns(T.attached_class) - end - def self.new( - # The cadence to bill for this price on. - cadence:, - # An ISO 4217 currency string for which this price is billed in. - currency:, - # The id of the item the price will be associated with. - item_id:, - # The name of the price. - name:, - tiered_bps_config:, - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - billable_metric_id: nil, - # 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. - billed_in_advance: nil, - # For custom cadence: specifies the duration of the billing period in days or - # months. - billing_cycle_configuration: nil, - # The per unit conversion rate of the price currency to the invoicing currency. - conversion_rate: nil, - # For dimensional price: specifies a price group and dimension values - dimensional_price_configuration: nil, - # An alias for the price. - external_price_id: nil, - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - fixed_price_quantity: nil, - # The property used to group this price on an invoice - invoice_grouping_key: nil, - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - invoicing_cycle_configuration: nil, - # 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`. - metadata: nil, - model_type: :tiered_bps - ) - end - - sig do - override.returns( - { - cadence: - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::Cadence::OrSymbol, - currency: String, - item_id: String, - model_type: Symbol, - name: String, - tiered_bps_config: - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::TieredBpsConfig, - billable_metric_id: T.nilable(String), - billed_in_advance: T.nilable(T::Boolean), - billing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::BillingCycleConfiguration - ), - conversion_rate: T.nilable(Float), - dimensional_price_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::DimensionalPriceConfiguration - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::InvoicingCycleConfiguration - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) - } - ) - end - def to_hash - end - - # The cadence to bill for this price on. - module Cadence - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::Cadence - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ANNUAL = - T.let( - :annual, - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::Cadence::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::Cadence::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::Cadence::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::Cadence::TaggedSymbol - ) - ONE_TIME = - T.let( - :one_time, - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::Cadence::TaggedSymbol - ) - CUSTOM = - T.let( - :custom, - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::Cadence::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::Cadence::TaggedSymbol - ] - ) - end - def self.values - end - end - - class TieredBpsConfig < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::TieredBpsConfig, - Orb::Internal::AnyHash - ) - end - - # Tiers for a Graduated BPS pricing model, where usage is bucketed into specified - # tiers - sig do - returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::TieredBpsConfig::Tier - ] - ) - end - attr_accessor :tiers - - sig do - params( - tiers: - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::TieredBpsConfig::Tier::OrHash - ] - ).returns(T.attached_class) - end - def self.new( - # Tiers for a Graduated BPS pricing model, where usage is bucketed into specified - # tiers - tiers: - ) - end - - sig do - override.returns( - { - tiers: - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::TieredBpsConfig::Tier - ] - } - ) - end - def to_hash - end - - class Tier < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::TieredBpsConfig::Tier, - Orb::Internal::AnyHash - ) - end - - # Per-event basis point rate - sig { returns(Float) } - attr_accessor :bps - - # Exclusive tier starting value - sig { returns(String) } - attr_accessor :minimum_amount - - # Inclusive tier ending value - sig { returns(T.nilable(String)) } - attr_accessor :maximum_amount - - # Per unit maximum to charge - sig { returns(T.nilable(String)) } - attr_accessor :per_unit_maximum - - sig do - params( - bps: Float, - minimum_amount: String, - maximum_amount: T.nilable(String), - per_unit_maximum: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # Per-event basis point rate - bps:, - # Exclusive tier starting value - minimum_amount:, - # Inclusive tier ending value - maximum_amount: nil, - # Per unit maximum to charge - per_unit_maximum: nil - ) - end - - sig do - override.returns( - { - bps: Float, - minimum_amount: String, - maximum_amount: T.nilable(String), - per_unit_maximum: T.nilable(String) - } - ) - end - def to_hash - end - end - end - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::BillingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::BillingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - params( - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::BillingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::BillingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::BillingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::DimensionalPriceConfiguration, - Orb::Internal::AnyHash - ) - end - - # The list of dimension values matching (in order) the dimensions of the price - # group - sig { returns(T::Array[String]) } - attr_accessor :dimension_values - - # The id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :dimensional_price_group_id - - # The external id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :external_dimensional_price_group_id - - # For dimensional price: specifies a price group and dimension values - sig do - params( - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The list of dimension values matching (in order) the dimensions of the price - # group - dimension_values:, - # The id of the dimensional price group to include this price in - dimensional_price_group_id: nil, - # The external id of the dimensional price group to include this price in - external_dimensional_price_group_id: nil - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - } - ) - end - def to_hash - end - end - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::InvoicingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - params( - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class Bps < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bps, - Orb::Internal::AnyHash - ) - end - - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bps::BpsConfig - ) - end - attr_reader :bps_config - - sig do - params( - bps_config: - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bps::BpsConfig::OrHash - ).void - end - attr_writer :bps_config - - # The cadence to bill for this price on. - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bps::Cadence::OrSymbol - ) - end - attr_accessor :cadence - - # An ISO 4217 currency string for which this price is billed in. - sig { returns(String) } - attr_accessor :currency - - # The id of the item the price will be associated with. - sig { returns(String) } - attr_accessor :item_id - - sig { returns(Symbol) } - attr_accessor :model_type - - # The name of the price. - sig { returns(String) } - attr_accessor :name - - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - sig { returns(T.nilable(String)) } - attr_accessor :billable_metric_id - - # 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. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :billed_in_advance - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - returns( - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bps::BillingCycleConfiguration - ) - ) - end - attr_reader :billing_cycle_configuration - - sig do - params( - billing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bps::BillingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :billing_cycle_configuration - - # The per unit conversion rate of the price currency to the invoicing currency. - sig { returns(T.nilable(Float)) } - attr_accessor :conversion_rate - - # For dimensional price: specifies a price group and dimension values - sig do - returns( - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bps::DimensionalPriceConfiguration - ) - ) - end - attr_reader :dimensional_price_configuration - - sig do - params( - dimensional_price_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bps::DimensionalPriceConfiguration::OrHash - ) - ).void - end - attr_writer :dimensional_price_configuration - - # An alias for the price. - sig { returns(T.nilable(String)) } - attr_accessor :external_price_id - - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - sig { returns(T.nilable(Float)) } - attr_accessor :fixed_price_quantity - - # The property used to group this price on an invoice - sig { returns(T.nilable(String)) } - attr_accessor :invoice_grouping_key - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - returns( - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bps::InvoicingCycleConfiguration - ) - ) - end - attr_reader :invoicing_cycle_configuration - - sig do - params( - invoicing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bps::InvoicingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :invoicing_cycle_configuration - - # 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`. - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } - attr_accessor :metadata - - sig do - params( - bps_config: - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bps::BpsConfig::OrHash, - cadence: - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bps::Cadence::OrSymbol, - 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::PriceEvaluateParams::PriceEvaluation::Price::Bps::BillingCycleConfiguration::OrHash - ), - conversion_rate: T.nilable(Float), - dimensional_price_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bps::DimensionalPriceConfiguration::OrHash - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bps::InvoicingCycleConfiguration::OrHash - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), - model_type: Symbol - ).returns(T.attached_class) - end - def self.new( - bps_config:, - # The cadence to bill for this price on. - cadence:, - # An ISO 4217 currency string for which this price is billed in. - currency:, - # The id of the item the price will be associated with. - item_id:, - # The name of the price. - name:, - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - billable_metric_id: nil, - # 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. - billed_in_advance: nil, - # For custom cadence: specifies the duration of the billing period in days or - # months. - billing_cycle_configuration: nil, - # The per unit conversion rate of the price currency to the invoicing currency. - conversion_rate: nil, - # For dimensional price: specifies a price group and dimension values - dimensional_price_configuration: nil, - # An alias for the price. - external_price_id: nil, - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - fixed_price_quantity: nil, - # The property used to group this price on an invoice - invoice_grouping_key: nil, - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - invoicing_cycle_configuration: nil, - # 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`. - metadata: nil, - model_type: :bps - ) - end - - sig do - override.returns( - { - bps_config: - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bps::BpsConfig, - cadence: - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bps::Cadence::OrSymbol, - 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::PriceEvaluateParams::PriceEvaluation::Price::Bps::BillingCycleConfiguration - ), - conversion_rate: T.nilable(Float), - dimensional_price_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bps::DimensionalPriceConfiguration - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bps::InvoicingCycleConfiguration - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) - } - ) - end - def to_hash - end - - class BpsConfig < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bps::BpsConfig, - Orb::Internal::AnyHash - ) - end - - # Basis point take rate per event - sig { returns(Float) } - attr_accessor :bps - - # Optional currency amount maximum to cap spend per event - sig { returns(T.nilable(String)) } - attr_accessor :per_unit_maximum - - sig do - params(bps: Float, per_unit_maximum: T.nilable(String)).returns( - T.attached_class - ) - end - def self.new( - # Basis point take rate per event - bps:, - # Optional currency amount maximum to cap spend per event - per_unit_maximum: nil - ) - end - - sig do - override.returns( - { bps: Float, per_unit_maximum: T.nilable(String) } - ) - end - def to_hash - end - end - - # The cadence to bill for this price on. - module Cadence - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bps::Cadence - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ANNUAL = - T.let( - :annual, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bps::Cadence::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bps::Cadence::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bps::Cadence::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bps::Cadence::TaggedSymbol - ) - ONE_TIME = - T.let( - :one_time, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bps::Cadence::TaggedSymbol - ) - CUSTOM = - T.let( - :custom, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bps::Cadence::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bps::Cadence::TaggedSymbol - ] - ) - end - def self.values - end - end - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bps::BillingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bps::BillingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - params( - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bps::BillingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bps::BillingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bps::BillingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bps::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bps::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bps::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bps::DimensionalPriceConfiguration, - Orb::Internal::AnyHash - ) - end - - # The list of dimension values matching (in order) the dimensions of the price - # group - sig { returns(T::Array[String]) } - attr_accessor :dimension_values - - # The id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :dimensional_price_group_id - - # The external id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :external_dimensional_price_group_id - - # For dimensional price: specifies a price group and dimension values - sig do - params( - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The list of dimension values matching (in order) the dimensions of the price - # group - dimension_values:, - # The id of the dimensional price group to include this price in - dimensional_price_group_id: nil, - # The external id of the dimensional price group to include this price in - external_dimensional_price_group_id: nil - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - } - ) - end - def to_hash - end - end - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bps::InvoicingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bps::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - params( - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bps::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bps::InvoicingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bps::InvoicingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class BulkBps < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkBps, - Orb::Internal::AnyHash - ) - end - - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::BulkBpsConfig - ) - end - attr_reader :bulk_bps_config - - sig do - params( - bulk_bps_config: - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::BulkBpsConfig::OrHash - ).void - end - attr_writer :bulk_bps_config - - # The cadence to bill for this price on. - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::Cadence::OrSymbol - ) - end - attr_accessor :cadence - - # An ISO 4217 currency string for which this price is billed in. - sig { returns(String) } - attr_accessor :currency - - # The id of the item the price will be associated with. - sig { returns(String) } - attr_accessor :item_id - - sig { returns(Symbol) } - attr_accessor :model_type - - # The name of the price. - sig { returns(String) } - attr_accessor :name - - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - sig { returns(T.nilable(String)) } - attr_accessor :billable_metric_id - - # 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. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :billed_in_advance - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - returns( - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::BillingCycleConfiguration - ) - ) - end - attr_reader :billing_cycle_configuration - - sig do - params( - billing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::BillingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :billing_cycle_configuration - - # The per unit conversion rate of the price currency to the invoicing currency. - sig { returns(T.nilable(Float)) } - attr_accessor :conversion_rate - - # For dimensional price: specifies a price group and dimension values - sig do - returns( - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::DimensionalPriceConfiguration - ) - ) - end - attr_reader :dimensional_price_configuration - - sig do - params( - dimensional_price_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::DimensionalPriceConfiguration::OrHash - ) - ).void - end - attr_writer :dimensional_price_configuration - - # An alias for the price. - sig { returns(T.nilable(String)) } - attr_accessor :external_price_id - - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - sig { returns(T.nilable(Float)) } - attr_accessor :fixed_price_quantity - - # The property used to group this price on an invoice - sig { returns(T.nilable(String)) } - attr_accessor :invoice_grouping_key - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - returns( - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::InvoicingCycleConfiguration - ) - ) - end - attr_reader :invoicing_cycle_configuration - - sig do - params( - invoicing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::InvoicingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :invoicing_cycle_configuration - - # 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`. - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } - attr_accessor :metadata - - sig do - params( - bulk_bps_config: - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::BulkBpsConfig::OrHash, - cadence: - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::Cadence::OrSymbol, - 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::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::BillingCycleConfiguration::OrHash - ), - conversion_rate: T.nilable(Float), - dimensional_price_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::DimensionalPriceConfiguration::OrHash - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::InvoicingCycleConfiguration::OrHash - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), - model_type: Symbol - ).returns(T.attached_class) - end - def self.new( - bulk_bps_config:, - # The cadence to bill for this price on. - cadence:, - # An ISO 4217 currency string for which this price is billed in. - currency:, - # The id of the item the price will be associated with. - item_id:, - # The name of the price. - name:, - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - billable_metric_id: nil, - # 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. - billed_in_advance: nil, - # For custom cadence: specifies the duration of the billing period in days or - # months. - billing_cycle_configuration: nil, - # The per unit conversion rate of the price currency to the invoicing currency. - conversion_rate: nil, - # For dimensional price: specifies a price group and dimension values - dimensional_price_configuration: nil, - # An alias for the price. - external_price_id: nil, - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - fixed_price_quantity: nil, - # The property used to group this price on an invoice - invoice_grouping_key: nil, - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - invoicing_cycle_configuration: nil, - # 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`. - metadata: nil, - model_type: :bulk_bps - ) - end - - sig do - override.returns( - { - bulk_bps_config: - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::BulkBpsConfig, - cadence: - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::Cadence::OrSymbol, - 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::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::BillingCycleConfiguration - ), - conversion_rate: T.nilable(Float), - dimensional_price_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::DimensionalPriceConfiguration - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::InvoicingCycleConfiguration - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) - } - ) - end - def to_hash - end - - class BulkBpsConfig < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::BulkBpsConfig, - Orb::Internal::AnyHash - ) - end - - # Tiers for a bulk BPS pricing model where all usage is aggregated to a single - # tier based on total volume - sig do - returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::BulkBpsConfig::Tier - ] - ) - end - attr_accessor :tiers - - sig do - params( - tiers: - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::BulkBpsConfig::Tier::OrHash - ] - ).returns(T.attached_class) - end - def self.new( - # Tiers for a bulk BPS pricing model where all usage is aggregated to a single - # tier based on total volume - tiers: - ) - end - - sig do - override.returns( - { - tiers: - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::BulkBpsConfig::Tier - ] - } - ) - end - def to_hash - end - - class Tier < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::BulkBpsConfig::Tier, - Orb::Internal::AnyHash - ) - end - - # Basis points to rate on - sig { returns(Float) } - attr_accessor :bps - - # Upper bound for tier - sig { returns(T.nilable(String)) } - attr_accessor :maximum_amount - - # The maximum amount to charge for any one event - sig { returns(T.nilable(String)) } - attr_accessor :per_unit_maximum - - sig do - params( - bps: Float, - maximum_amount: T.nilable(String), - per_unit_maximum: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # Basis points to rate on - bps:, - # Upper bound for tier - maximum_amount: nil, - # The maximum amount to charge for any one event - per_unit_maximum: nil - ) - end - - sig do - override.returns( - { - bps: Float, - maximum_amount: T.nilable(String), - per_unit_maximum: T.nilable(String) - } - ) - end - def to_hash - end - end - end - - # The cadence to bill for this price on. - module Cadence - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::Cadence - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ANNUAL = - T.let( - :annual, - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::Cadence::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::Cadence::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::Cadence::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::Cadence::TaggedSymbol - ) - ONE_TIME = - T.let( - :one_time, - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::Cadence::TaggedSymbol - ) - CUSTOM = - T.let( - :custom, - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::Cadence::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::Cadence::TaggedSymbol - ] - ) - end - def self.values - end - end - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::BillingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::BillingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - params( - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::BillingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::BillingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::BillingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::DimensionalPriceConfiguration, - Orb::Internal::AnyHash - ) - end - - # The list of dimension values matching (in order) the dimensions of the price - # group - sig { returns(T::Array[String]) } - attr_accessor :dimension_values - - # The id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :dimensional_price_group_id - - # The external id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :external_dimensional_price_group_id - - # For dimensional price: specifies a price group and dimension values - sig do - params( - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The list of dimension values matching (in order) the dimensions of the price - # group - dimension_values:, - # The id of the dimensional price group to include this price in - dimensional_price_group_id: nil, - # The external id of the dimensional price group to include this price in - external_dimensional_price_group_id: nil - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - } - ) - end - def to_hash - end - end - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::InvoicingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - params( - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class Bulk < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bulk, - Orb::Internal::AnyHash - ) - end - - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bulk::BulkConfig - ) - end - attr_reader :bulk_config - - sig do - params( - bulk_config: - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bulk::BulkConfig::OrHash - ).void - end - attr_writer :bulk_config - - # The cadence to bill for this price on. - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bulk::Cadence::OrSymbol - ) - end - attr_accessor :cadence - - # An ISO 4217 currency string for which this price is billed in. - sig { returns(String) } - attr_accessor :currency - - # The id of the item the price will be associated with. - sig { returns(String) } - attr_accessor :item_id - - sig { returns(Symbol) } - attr_accessor :model_type - - # The name of the price. - sig { returns(String) } - attr_accessor :name - - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - sig { returns(T.nilable(String)) } - attr_accessor :billable_metric_id - - # 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. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :billed_in_advance - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - returns( - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bulk::BillingCycleConfiguration - ) - ) - end - attr_reader :billing_cycle_configuration - - sig do - params( - billing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bulk::BillingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :billing_cycle_configuration - - # The per unit conversion rate of the price currency to the invoicing currency. - sig { returns(T.nilable(Float)) } - attr_accessor :conversion_rate - - # For dimensional price: specifies a price group and dimension values - sig do - returns( - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bulk::DimensionalPriceConfiguration - ) - ) - end - attr_reader :dimensional_price_configuration - - sig do - params( - dimensional_price_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bulk::DimensionalPriceConfiguration::OrHash - ) - ).void - end - attr_writer :dimensional_price_configuration - - # An alias for the price. - sig { returns(T.nilable(String)) } - attr_accessor :external_price_id - - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - sig { returns(T.nilable(Float)) } - attr_accessor :fixed_price_quantity - - # The property used to group this price on an invoice - sig { returns(T.nilable(String)) } - attr_accessor :invoice_grouping_key - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - returns( - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bulk::InvoicingCycleConfiguration - ) - ) - end - attr_reader :invoicing_cycle_configuration - - sig do - params( - invoicing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bulk::InvoicingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :invoicing_cycle_configuration - - # 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`. - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } - attr_accessor :metadata - - sig do - params( - bulk_config: - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bulk::BulkConfig::OrHash, - cadence: - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bulk::Cadence::OrSymbol, - 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::PriceEvaluateParams::PriceEvaluation::Price::Bulk::BillingCycleConfiguration::OrHash - ), - conversion_rate: T.nilable(Float), - dimensional_price_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bulk::DimensionalPriceConfiguration::OrHash - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bulk::InvoicingCycleConfiguration::OrHash - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), - model_type: Symbol - ).returns(T.attached_class) - end - def self.new( - bulk_config:, - # The cadence to bill for this price on. - cadence:, - # An ISO 4217 currency string for which this price is billed in. - currency:, - # The id of the item the price will be associated with. - item_id:, - # The name of the price. - name:, - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - billable_metric_id: nil, - # 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. - billed_in_advance: nil, - # For custom cadence: specifies the duration of the billing period in days or - # months. - billing_cycle_configuration: nil, - # The per unit conversion rate of the price currency to the invoicing currency. - conversion_rate: nil, - # For dimensional price: specifies a price group and dimension values - dimensional_price_configuration: nil, - # An alias for the price. - external_price_id: nil, - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - fixed_price_quantity: nil, - # The property used to group this price on an invoice - invoice_grouping_key: nil, - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - invoicing_cycle_configuration: nil, - # 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`. - metadata: nil, - model_type: :bulk - ) - end - - sig do - override.returns( - { - bulk_config: - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bulk::BulkConfig, - cadence: - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bulk::Cadence::OrSymbol, - 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::PriceEvaluateParams::PriceEvaluation::Price::Bulk::BillingCycleConfiguration - ), - conversion_rate: T.nilable(Float), - dimensional_price_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bulk::DimensionalPriceConfiguration - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bulk::InvoicingCycleConfiguration - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) - } - ) - end - def to_hash - end - - class BulkConfig < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bulk::BulkConfig, - Orb::Internal::AnyHash - ) - end - - # Bulk tiers for rating based on total usage volume - sig do - returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bulk::BulkConfig::Tier - ] - ) - end - attr_accessor :tiers - - sig do - params( - tiers: - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bulk::BulkConfig::Tier::OrHash - ] - ).returns(T.attached_class) - end - def self.new( - # Bulk tiers for rating based on total usage volume - tiers: - ) - end - - sig do - override.returns( - { - tiers: - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bulk::BulkConfig::Tier - ] - } - ) - end - def to_hash - end - - class Tier < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bulk::BulkConfig::Tier, - Orb::Internal::AnyHash - ) - end - - # Amount per unit - sig { returns(String) } - attr_accessor :unit_amount - - # Upper bound for this tier - sig { returns(T.nilable(Float)) } - attr_accessor :maximum_units - - sig do - params( - unit_amount: String, - maximum_units: T.nilable(Float) - ).returns(T.attached_class) - end - def self.new( - # Amount per unit - unit_amount:, - # Upper bound for this tier - maximum_units: nil - ) - end - - sig do - override.returns( - { unit_amount: String, maximum_units: T.nilable(Float) } - ) - end - def to_hash - end - end - end - - # The cadence to bill for this price on. - module Cadence - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bulk::Cadence - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ANNUAL = - T.let( - :annual, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bulk::Cadence::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bulk::Cadence::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bulk::Cadence::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bulk::Cadence::TaggedSymbol - ) - ONE_TIME = - T.let( - :one_time, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bulk::Cadence::TaggedSymbol - ) - CUSTOM = - T.let( - :custom, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bulk::Cadence::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bulk::Cadence::TaggedSymbol - ] - ) - end - def self.values - end - end - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bulk::BillingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bulk::BillingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - params( - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bulk::BillingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bulk::BillingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bulk::BillingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bulk::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bulk::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bulk::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bulk::DimensionalPriceConfiguration, - Orb::Internal::AnyHash - ) - end - - # The list of dimension values matching (in order) the dimensions of the price - # group - sig { returns(T::Array[String]) } - attr_accessor :dimension_values - - # The id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :dimensional_price_group_id - - # The external id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :external_dimensional_price_group_id - - # For dimensional price: specifies a price group and dimension values - sig do - params( - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The list of dimension values matching (in order) the dimensions of the price - # group - dimension_values:, - # The id of the dimensional price group to include this price in - dimensional_price_group_id: nil, - # The external id of the dimensional price group to include this price in - external_dimensional_price_group_id: nil - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - } - ) - end - def to_hash - end - end - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bulk::InvoicingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bulk::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - params( - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bulk::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bulk::InvoicingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bulk::InvoicingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bulk::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bulk::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::Bulk::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class ThresholdTotalAmount < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount, - Orb::Internal::AnyHash - ) - end - - # The cadence to bill for this price on. - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::Cadence::OrSymbol - ) - end - attr_accessor :cadence - - # An ISO 4217 currency string for which this price is billed in. - sig { returns(String) } - attr_accessor :currency - - # The id of the item the price will be associated with. - sig { returns(String) } - attr_accessor :item_id - - sig { returns(Symbol) } - attr_accessor :model_type - - # The name of the price. - sig { returns(String) } - attr_accessor :name - - sig { returns(T::Hash[Symbol, T.anything]) } - attr_accessor :threshold_total_amount_config - - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - sig { returns(T.nilable(String)) } - attr_accessor :billable_metric_id - - # 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. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :billed_in_advance - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - returns( - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::BillingCycleConfiguration - ) - ) - end - attr_reader :billing_cycle_configuration - - sig do - params( - billing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::BillingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :billing_cycle_configuration - - # The per unit conversion rate of the price currency to the invoicing currency. - sig { returns(T.nilable(Float)) } - attr_accessor :conversion_rate - - # For dimensional price: specifies a price group and dimension values - sig do - returns( - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::DimensionalPriceConfiguration - ) - ) - end - attr_reader :dimensional_price_configuration - - sig do - params( - dimensional_price_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::DimensionalPriceConfiguration::OrHash - ) - ).void - end - attr_writer :dimensional_price_configuration - - # An alias for the price. - sig { returns(T.nilable(String)) } - attr_accessor :external_price_id - - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - sig { returns(T.nilable(Float)) } - attr_accessor :fixed_price_quantity - - # The property used to group this price on an invoice - sig { returns(T.nilable(String)) } - attr_accessor :invoice_grouping_key - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - returns( - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::InvoicingCycleConfiguration - ) - ) - end - attr_reader :invoicing_cycle_configuration - - sig do - params( - invoicing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :invoicing_cycle_configuration - - # 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`. - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } - attr_accessor :metadata - - sig do - params( - cadence: - Orb::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::Cadence::OrSymbol, - currency: String, - item_id: String, - name: String, - threshold_total_amount_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::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::BillingCycleConfiguration::OrHash - ), - conversion_rate: T.nilable(Float), - dimensional_price_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::DimensionalPriceConfiguration::OrHash - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::OrHash - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), - model_type: Symbol - ).returns(T.attached_class) - end - def self.new( - # The cadence to bill for this price on. - cadence:, - # An ISO 4217 currency string for which this price is billed in. - currency:, - # The id of the item the price will be associated with. - item_id:, - # The name of the price. - name:, - threshold_total_amount_config:, - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - billable_metric_id: nil, - # 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. - billed_in_advance: nil, - # For custom cadence: specifies the duration of the billing period in days or - # months. - billing_cycle_configuration: nil, - # The per unit conversion rate of the price currency to the invoicing currency. - conversion_rate: nil, - # For dimensional price: specifies a price group and dimension values - dimensional_price_configuration: nil, - # An alias for the price. - external_price_id: nil, - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - fixed_price_quantity: nil, - # The property used to group this price on an invoice - invoice_grouping_key: nil, - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - invoicing_cycle_configuration: nil, - # 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`. - metadata: nil, - model_type: :threshold_total_amount - ) - end - - sig do - override.returns( - { - cadence: - Orb::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::Cadence::OrSymbol, - currency: String, - item_id: String, - model_type: Symbol, - name: String, - threshold_total_amount_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::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::BillingCycleConfiguration - ), - conversion_rate: T.nilable(Float), - dimensional_price_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::DimensionalPriceConfiguration - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::InvoicingCycleConfiguration - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) - } - ) - end - def to_hash - end - - # The cadence to bill for this price on. - module Cadence - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::Cadence - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ANNUAL = - T.let( - :annual, - Orb::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::Cadence::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::Cadence::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::Cadence::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::Cadence::TaggedSymbol - ) - ONE_TIME = - T.let( - :one_time, - Orb::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::Cadence::TaggedSymbol - ) - CUSTOM = - T.let( - :custom, - Orb::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::Cadence::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::Cadence::TaggedSymbol - ] - ) - end - def self.values - end - end - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::BillingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - params( - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::DimensionalPriceConfiguration, - Orb::Internal::AnyHash - ) - end - - # The list of dimension values matching (in order) the dimensions of the price - # group - sig { returns(T::Array[String]) } - attr_accessor :dimension_values - - # The id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :dimensional_price_group_id - - # The external id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :external_dimensional_price_group_id - - # For dimensional price: specifies a price group and dimension values - sig do - params( - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The list of dimension values matching (in order) the dimensions of the price - # group - dimension_values:, - # The id of the dimensional price group to include this price in - dimensional_price_group_id: nil, - # The external id of the dimensional price group to include this price in - external_dimensional_price_group_id: nil - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - } - ) - end - def to_hash - end - end - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::InvoicingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - params( - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class TieredPackage < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage, - Orb::Internal::AnyHash - ) - end - - # The cadence to bill for this price on. - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::Cadence::OrSymbol - ) - end - attr_accessor :cadence - - # An ISO 4217 currency string for which this price is billed in. - sig { returns(String) } - attr_accessor :currency - - # The id of the item the price will be associated with. - sig { returns(String) } - attr_accessor :item_id - - sig { returns(Symbol) } - attr_accessor :model_type - - # The name of the price. - sig { returns(String) } - attr_accessor :name - - sig { returns(T::Hash[Symbol, T.anything]) } - attr_accessor :tiered_package_config - - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - sig { returns(T.nilable(String)) } - attr_accessor :billable_metric_id - - # 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. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :billed_in_advance - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - returns( - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::BillingCycleConfiguration - ) - ) - end - attr_reader :billing_cycle_configuration - - sig do - params( - billing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::BillingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :billing_cycle_configuration - - # The per unit conversion rate of the price currency to the invoicing currency. - sig { returns(T.nilable(Float)) } - attr_accessor :conversion_rate - - # For dimensional price: specifies a price group and dimension values - sig do - returns( - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::DimensionalPriceConfiguration - ) - ) - end - attr_reader :dimensional_price_configuration - - sig do - params( - dimensional_price_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::DimensionalPriceConfiguration::OrHash - ) - ).void - end - attr_writer :dimensional_price_configuration - - # An alias for the price. - sig { returns(T.nilable(String)) } - attr_accessor :external_price_id - - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - sig { returns(T.nilable(Float)) } - attr_accessor :fixed_price_quantity - - # The property used to group this price on an invoice - sig { returns(T.nilable(String)) } - attr_accessor :invoice_grouping_key - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - returns( - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::InvoicingCycleConfiguration - ) - ) - end - attr_reader :invoicing_cycle_configuration - - sig do - params( - invoicing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::InvoicingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :invoicing_cycle_configuration - - # 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`. - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } - attr_accessor :metadata - - sig do - params( - cadence: - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::Cadence::OrSymbol, - currency: String, - item_id: String, - name: String, - tiered_package_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::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::BillingCycleConfiguration::OrHash - ), - conversion_rate: T.nilable(Float), - dimensional_price_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::DimensionalPriceConfiguration::OrHash - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::InvoicingCycleConfiguration::OrHash - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), - model_type: Symbol - ).returns(T.attached_class) - end - def self.new( - # The cadence to bill for this price on. - cadence:, - # An ISO 4217 currency string for which this price is billed in. - currency:, - # The id of the item the price will be associated with. - item_id:, - # The name of the price. - name:, - tiered_package_config:, - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - billable_metric_id: nil, - # 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. - billed_in_advance: nil, - # For custom cadence: specifies the duration of the billing period in days or - # months. - billing_cycle_configuration: nil, - # The per unit conversion rate of the price currency to the invoicing currency. - conversion_rate: nil, - # For dimensional price: specifies a price group and dimension values - dimensional_price_configuration: nil, - # An alias for the price. - external_price_id: nil, - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - fixed_price_quantity: nil, - # The property used to group this price on an invoice - invoice_grouping_key: nil, - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - invoicing_cycle_configuration: nil, - # 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`. - metadata: nil, - model_type: :tiered_package - ) - end - - sig do - override.returns( - { - cadence: - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::Cadence::OrSymbol, - currency: String, - item_id: String, - model_type: Symbol, - name: String, - tiered_package_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::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::BillingCycleConfiguration - ), - conversion_rate: T.nilable(Float), - dimensional_price_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::DimensionalPriceConfiguration - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::InvoicingCycleConfiguration - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) - } - ) - end - def to_hash - end - - # The cadence to bill for this price on. - module Cadence - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::Cadence - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ANNUAL = - T.let( - :annual, - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::Cadence::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::Cadence::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::Cadence::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::Cadence::TaggedSymbol - ) - ONE_TIME = - T.let( - :one_time, - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::Cadence::TaggedSymbol - ) - CUSTOM = - T.let( - :custom, - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::Cadence::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::Cadence::TaggedSymbol - ] - ) - end - def self.values - end - end - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::BillingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - params( - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::BillingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::DimensionalPriceConfiguration, - Orb::Internal::AnyHash - ) - end - - # The list of dimension values matching (in order) the dimensions of the price - # group - sig { returns(T::Array[String]) } - attr_accessor :dimension_values - - # The id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :dimensional_price_group_id - - # The external id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :external_dimensional_price_group_id - - # For dimensional price: specifies a price group and dimension values - sig do - params( - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The list of dimension values matching (in order) the dimensions of the price - # group - dimension_values:, - # The id of the dimensional price group to include this price in - dimensional_price_group_id: nil, - # The external id of the dimensional price group to include this price in - external_dimensional_price_group_id: nil - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - } - ) - end - def to_hash - end - end - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::InvoicingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - params( - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class GroupedTiered < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered, - Orb::Internal::AnyHash - ) - end - - # The cadence to bill for this price on. - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::Cadence::OrSymbol - ) - end - attr_accessor :cadence - - # An ISO 4217 currency string for which this price is billed in. - sig { returns(String) } - attr_accessor :currency - - sig { returns(T::Hash[Symbol, T.anything]) } - attr_accessor :grouped_tiered_config - - # The id of the item the price will be associated with. - sig { returns(String) } - attr_accessor :item_id - - sig { returns(Symbol) } - attr_accessor :model_type - - # The name of the price. - sig { returns(String) } - attr_accessor :name - - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - sig { returns(T.nilable(String)) } - attr_accessor :billable_metric_id - - # 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. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :billed_in_advance - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - returns( - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::BillingCycleConfiguration - ) - ) - end - attr_reader :billing_cycle_configuration - - sig do - params( - billing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::BillingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :billing_cycle_configuration - - # The per unit conversion rate of the price currency to the invoicing currency. - sig { returns(T.nilable(Float)) } - attr_accessor :conversion_rate - - # For dimensional price: specifies a price group and dimension values - sig do - returns( - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::DimensionalPriceConfiguration - ) - ) - end - attr_reader :dimensional_price_configuration - - sig do - params( - dimensional_price_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::DimensionalPriceConfiguration::OrHash - ) - ).void - end - attr_writer :dimensional_price_configuration - - # An alias for the price. - sig { returns(T.nilable(String)) } - attr_accessor :external_price_id - - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - sig { returns(T.nilable(Float)) } - attr_accessor :fixed_price_quantity - - # The property used to group this price on an invoice - sig { returns(T.nilable(String)) } - attr_accessor :invoice_grouping_key - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - returns( - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::InvoicingCycleConfiguration - ) - ) - end - attr_reader :invoicing_cycle_configuration - - sig do - params( - invoicing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::InvoicingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :invoicing_cycle_configuration - - # 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`. - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } - attr_accessor :metadata - - sig do - params( - cadence: - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::Cadence::OrSymbol, - currency: String, - grouped_tiered_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::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::BillingCycleConfiguration::OrHash - ), - conversion_rate: T.nilable(Float), - dimensional_price_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::DimensionalPriceConfiguration::OrHash - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::InvoicingCycleConfiguration::OrHash - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), - model_type: Symbol - ).returns(T.attached_class) - end - def self.new( - # The cadence to bill for this price on. - cadence:, - # An ISO 4217 currency string for which this price is billed in. - currency:, - grouped_tiered_config:, - # The id of the item the price will be associated with. - item_id:, - # The name of the price. - name:, - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - billable_metric_id: nil, - # 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. - billed_in_advance: nil, - # For custom cadence: specifies the duration of the billing period in days or - # months. - billing_cycle_configuration: nil, - # The per unit conversion rate of the price currency to the invoicing currency. - conversion_rate: nil, - # For dimensional price: specifies a price group and dimension values - dimensional_price_configuration: nil, - # An alias for the price. - external_price_id: nil, - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - fixed_price_quantity: nil, - # The property used to group this price on an invoice - invoice_grouping_key: nil, - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - invoicing_cycle_configuration: nil, - # 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`. - metadata: nil, - model_type: :grouped_tiered - ) - end - - sig do - override.returns( - { - cadence: - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::Cadence::OrSymbol, - currency: String, - grouped_tiered_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::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::BillingCycleConfiguration - ), - conversion_rate: T.nilable(Float), - dimensional_price_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::DimensionalPriceConfiguration - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::InvoicingCycleConfiguration - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) - } - ) - end - def to_hash - end - - # The cadence to bill for this price on. - module Cadence - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::Cadence - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ANNUAL = - T.let( - :annual, - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::Cadence::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::Cadence::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::Cadence::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::Cadence::TaggedSymbol - ) - ONE_TIME = - T.let( - :one_time, - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::Cadence::TaggedSymbol - ) - CUSTOM = - T.let( - :custom, - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::Cadence::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::Cadence::TaggedSymbol - ] - ) - end - def self.values - end - end - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::BillingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - params( - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::DimensionalPriceConfiguration, - Orb::Internal::AnyHash - ) - end - - # The list of dimension values matching (in order) the dimensions of the price - # group - sig { returns(T::Array[String]) } - attr_accessor :dimension_values - - # The id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :dimensional_price_group_id - - # The external id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :external_dimensional_price_group_id - - # For dimensional price: specifies a price group and dimension values - sig do - params( - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The list of dimension values matching (in order) the dimensions of the price - # group - dimension_values:, - # The id of the dimensional price group to include this price in - dimensional_price_group_id: nil, - # The external id of the dimensional price group to include this price in - external_dimensional_price_group_id: nil - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - } - ) - end - def to_hash - end - end - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::InvoicingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - params( - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class MaxGroupTieredPackage < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage, - Orb::Internal::AnyHash - ) - end - - # The cadence to bill for this price on. - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::Cadence::OrSymbol - ) - end - attr_accessor :cadence - - # An ISO 4217 currency string for which this price is billed in. - sig { returns(String) } - attr_accessor :currency - - # The id of the item the price will be associated with. - sig { returns(String) } - attr_accessor :item_id - - sig { returns(T::Hash[Symbol, T.anything]) } - attr_accessor :max_group_tiered_package_config - - sig { returns(Symbol) } - attr_accessor :model_type - - # The name of the price. - sig { returns(String) } - attr_accessor :name - - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - sig { returns(T.nilable(String)) } - attr_accessor :billable_metric_id - - # 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. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :billed_in_advance - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - returns( - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::BillingCycleConfiguration - ) - ) - end - attr_reader :billing_cycle_configuration - - sig do - params( - billing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::BillingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :billing_cycle_configuration - - # The per unit conversion rate of the price currency to the invoicing currency. - sig { returns(T.nilable(Float)) } - attr_accessor :conversion_rate - - # For dimensional price: specifies a price group and dimension values - sig do - returns( - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration - ) - ) - end - attr_reader :dimensional_price_configuration - - sig do - params( - dimensional_price_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration::OrHash - ) - ).void - end - attr_writer :dimensional_price_configuration - - # An alias for the price. - sig { returns(T.nilable(String)) } - attr_accessor :external_price_id - - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - sig { returns(T.nilable(Float)) } - attr_accessor :fixed_price_quantity - - # The property used to group this price on an invoice - sig { returns(T.nilable(String)) } - attr_accessor :invoice_grouping_key - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - returns( - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration - ) - ) - end - attr_reader :invoicing_cycle_configuration - - sig do - params( - invoicing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :invoicing_cycle_configuration - - # 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`. - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } - attr_accessor :metadata - - sig do - params( - cadence: - Orb::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::Cadence::OrSymbol, - currency: String, - item_id: String, - max_group_tiered_package_config: T::Hash[Symbol, T.anything], - name: String, - billable_metric_id: T.nilable(String), - billed_in_advance: T.nilable(T::Boolean), - billing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::BillingCycleConfiguration::OrHash - ), - conversion_rate: T.nilable(Float), - dimensional_price_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration::OrHash - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::OrHash - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), - model_type: Symbol - ).returns(T.attached_class) - end - def self.new( - # The cadence to bill for this price on. - cadence:, - # An ISO 4217 currency string for which this price is billed in. - currency:, - # The id of the item the price will be associated with. - item_id:, - max_group_tiered_package_config:, - # The name of the price. - name:, - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - billable_metric_id: nil, - # 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. - billed_in_advance: nil, - # For custom cadence: specifies the duration of the billing period in days or - # months. - billing_cycle_configuration: nil, - # The per unit conversion rate of the price currency to the invoicing currency. - conversion_rate: nil, - # For dimensional price: specifies a price group and dimension values - dimensional_price_configuration: nil, - # An alias for the price. - external_price_id: nil, - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - fixed_price_quantity: nil, - # The property used to group this price on an invoice - invoice_grouping_key: nil, - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - invoicing_cycle_configuration: nil, - # 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`. - metadata: nil, - model_type: :max_group_tiered_package - ) - end - - sig do - override.returns( - { - cadence: - Orb::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::Cadence::OrSymbol, - currency: String, - item_id: String, - max_group_tiered_package_config: T::Hash[Symbol, T.anything], - model_type: Symbol, - name: String, - billable_metric_id: T.nilable(String), - billed_in_advance: T.nilable(T::Boolean), - billing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::BillingCycleConfiguration - ), - conversion_rate: T.nilable(Float), - dimensional_price_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) - } - ) - end - def to_hash - end - - # The cadence to bill for this price on. - module Cadence - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::Cadence - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ANNUAL = - T.let( - :annual, - Orb::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::Cadence::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::Cadence::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::Cadence::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::Cadence::TaggedSymbol - ) - ONE_TIME = - T.let( - :one_time, - Orb::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::Cadence::TaggedSymbol - ) - CUSTOM = - T.let( - :custom, - Orb::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::Cadence::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::Cadence::TaggedSymbol - ] - ) - end - def self.values - end - end - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::BillingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - params( - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration, - Orb::Internal::AnyHash - ) - end - - # The list of dimension values matching (in order) the dimensions of the price - # group - sig { returns(T::Array[String]) } - attr_accessor :dimension_values - - # The id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :dimensional_price_group_id - - # The external id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :external_dimensional_price_group_id - - # For dimensional price: specifies a price group and dimension values - sig do - params( - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The list of dimension values matching (in order) the dimensions of the price - # group - dimension_values:, - # The id of the dimensional price group to include this price in - dimensional_price_group_id: nil, - # The external id of the dimensional price group to include this price in - external_dimensional_price_group_id: nil - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - } - ) - end - def to_hash - end - end - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - params( - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class TieredWithMinimum < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum, - Orb::Internal::AnyHash - ) - end - - # The cadence to bill for this price on. - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::Cadence::OrSymbol - ) - end - attr_accessor :cadence - - # An ISO 4217 currency string for which this price is billed in. - sig { returns(String) } - attr_accessor :currency - - # The id of the item the price will be associated with. - sig { returns(String) } - attr_accessor :item_id - - sig { returns(Symbol) } - attr_accessor :model_type - - # The name of the price. - sig { returns(String) } - attr_accessor :name - - sig { returns(T::Hash[Symbol, T.anything]) } - attr_accessor :tiered_with_minimum_config - - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - sig { returns(T.nilable(String)) } - attr_accessor :billable_metric_id - - # 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. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :billed_in_advance - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - returns( - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::BillingCycleConfiguration - ) - ) - end - attr_reader :billing_cycle_configuration - - sig do - params( - billing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::BillingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :billing_cycle_configuration - - # The per unit conversion rate of the price currency to the invoicing currency. - sig { returns(T.nilable(Float)) } - attr_accessor :conversion_rate - - # For dimensional price: specifies a price group and dimension values - sig do - returns( - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::DimensionalPriceConfiguration - ) - ) - end - attr_reader :dimensional_price_configuration - - sig do - params( - dimensional_price_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::DimensionalPriceConfiguration::OrHash - ) - ).void - end - attr_writer :dimensional_price_configuration - - # An alias for the price. - sig { returns(T.nilable(String)) } - attr_accessor :external_price_id - - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - sig { returns(T.nilable(Float)) } - attr_accessor :fixed_price_quantity - - # The property used to group this price on an invoice - sig { returns(T.nilable(String)) } - attr_accessor :invoice_grouping_key - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - returns( - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::InvoicingCycleConfiguration - ) - ) - end - attr_reader :invoicing_cycle_configuration - - sig do - params( - invoicing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::InvoicingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :invoicing_cycle_configuration - - # 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`. - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } - attr_accessor :metadata - - sig do - params( - cadence: - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::Cadence::OrSymbol, - currency: String, - item_id: String, - name: String, - tiered_with_minimum_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::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::BillingCycleConfiguration::OrHash - ), - conversion_rate: T.nilable(Float), - dimensional_price_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::DimensionalPriceConfiguration::OrHash - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::InvoicingCycleConfiguration::OrHash - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), - model_type: Symbol - ).returns(T.attached_class) - end - def self.new( - # The cadence to bill for this price on. - cadence:, - # An ISO 4217 currency string for which this price is billed in. - currency:, - # The id of the item the price will be associated with. - item_id:, - # The name of the price. - name:, - tiered_with_minimum_config:, - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - billable_metric_id: nil, - # 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. - billed_in_advance: nil, - # For custom cadence: specifies the duration of the billing period in days or - # months. - billing_cycle_configuration: nil, - # The per unit conversion rate of the price currency to the invoicing currency. - conversion_rate: nil, - # For dimensional price: specifies a price group and dimension values - dimensional_price_configuration: nil, - # An alias for the price. - external_price_id: nil, - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - fixed_price_quantity: nil, - # The property used to group this price on an invoice - invoice_grouping_key: nil, - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - invoicing_cycle_configuration: nil, - # 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`. - metadata: nil, - model_type: :tiered_with_minimum - ) - end - - sig do - override.returns( - { - cadence: - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::Cadence::OrSymbol, - currency: String, - item_id: String, - model_type: Symbol, - name: String, - tiered_with_minimum_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::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::BillingCycleConfiguration - ), - conversion_rate: T.nilable(Float), - dimensional_price_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::DimensionalPriceConfiguration - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::InvoicingCycleConfiguration - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) - } - ) - end - def to_hash - end - - # The cadence to bill for this price on. - module Cadence - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::Cadence - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ANNUAL = - T.let( - :annual, - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::Cadence::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::Cadence::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::Cadence::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::Cadence::TaggedSymbol - ) - ONE_TIME = - T.let( - :one_time, - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::Cadence::TaggedSymbol - ) - CUSTOM = - T.let( - :custom, - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::Cadence::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::Cadence::TaggedSymbol - ] - ) - end - def self.values - end - end - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::BillingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - params( - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::DimensionalPriceConfiguration, - Orb::Internal::AnyHash - ) - end - - # The list of dimension values matching (in order) the dimensions of the price - # group - sig { returns(T::Array[String]) } - attr_accessor :dimension_values - - # The id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :dimensional_price_group_id - - # The external id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :external_dimensional_price_group_id - - # For dimensional price: specifies a price group and dimension values - sig do - params( - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The list of dimension values matching (in order) the dimensions of the price - # group - dimension_values:, - # The id of the dimensional price group to include this price in - dimensional_price_group_id: nil, - # The external id of the dimensional price group to include this price in - external_dimensional_price_group_id: nil - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - } - ) - end - def to_hash - end - end - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::InvoicingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - params( - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class PackageWithAllocation < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation, - Orb::Internal::AnyHash - ) - end - - # The cadence to bill for this price on. - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::Cadence::OrSymbol - ) - end - attr_accessor :cadence - - # An ISO 4217 currency string for which this price is billed in. - sig { returns(String) } - attr_accessor :currency - - # The id of the item the price will be associated with. - sig { returns(String) } - attr_accessor :item_id - - sig { returns(Symbol) } - attr_accessor :model_type - - # The name of the price. - sig { returns(String) } - attr_accessor :name - - sig { returns(T::Hash[Symbol, T.anything]) } - attr_accessor :package_with_allocation_config - - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - sig { returns(T.nilable(String)) } - attr_accessor :billable_metric_id - - # 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. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :billed_in_advance - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - returns( - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::BillingCycleConfiguration - ) - ) - end - attr_reader :billing_cycle_configuration - - sig do - params( - billing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::BillingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :billing_cycle_configuration - - # The per unit conversion rate of the price currency to the invoicing currency. - sig { returns(T.nilable(Float)) } - attr_accessor :conversion_rate - - # For dimensional price: specifies a price group and dimension values - sig do - returns( - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::DimensionalPriceConfiguration - ) - ) - end - attr_reader :dimensional_price_configuration - - sig do - params( - dimensional_price_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::DimensionalPriceConfiguration::OrHash - ) - ).void - end - attr_writer :dimensional_price_configuration - - # An alias for the price. - sig { returns(T.nilable(String)) } - attr_accessor :external_price_id - - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - sig { returns(T.nilable(Float)) } - attr_accessor :fixed_price_quantity - - # The property used to group this price on an invoice - sig { returns(T.nilable(String)) } - attr_accessor :invoice_grouping_key - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - returns( - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::InvoicingCycleConfiguration - ) - ) - end - attr_reader :invoicing_cycle_configuration - - sig do - params( - invoicing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::InvoicingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :invoicing_cycle_configuration - - # 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`. - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } - attr_accessor :metadata - - sig do - params( - cadence: - Orb::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::Cadence::OrSymbol, - currency: String, - item_id: String, - name: String, - package_with_allocation_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::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::BillingCycleConfiguration::OrHash - ), - conversion_rate: T.nilable(Float), - dimensional_price_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::DimensionalPriceConfiguration::OrHash - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::InvoicingCycleConfiguration::OrHash - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), - model_type: Symbol - ).returns(T.attached_class) - end - def self.new( - # The cadence to bill for this price on. - cadence:, - # An ISO 4217 currency string for which this price is billed in. - currency:, - # The id of the item the price will be associated with. - item_id:, - # The name of the price. - name:, - package_with_allocation_config:, - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - billable_metric_id: nil, - # 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. - billed_in_advance: nil, - # For custom cadence: specifies the duration of the billing period in days or - # months. - billing_cycle_configuration: nil, - # The per unit conversion rate of the price currency to the invoicing currency. - conversion_rate: nil, - # For dimensional price: specifies a price group and dimension values - dimensional_price_configuration: nil, - # An alias for the price. - external_price_id: nil, - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - fixed_price_quantity: nil, - # The property used to group this price on an invoice - invoice_grouping_key: nil, - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - invoicing_cycle_configuration: nil, - # 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`. - metadata: nil, - model_type: :package_with_allocation - ) - end - - sig do - override.returns( - { - cadence: - Orb::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::Cadence::OrSymbol, - currency: String, - item_id: String, - model_type: Symbol, - name: String, - package_with_allocation_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::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::BillingCycleConfiguration - ), - conversion_rate: T.nilable(Float), - dimensional_price_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::DimensionalPriceConfiguration - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::InvoicingCycleConfiguration - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) - } - ) - end - def to_hash - end - - # The cadence to bill for this price on. - module Cadence - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::Cadence - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ANNUAL = - T.let( - :annual, - Orb::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::Cadence::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::Cadence::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::Cadence::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::Cadence::TaggedSymbol - ) - ONE_TIME = - T.let( - :one_time, - Orb::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::Cadence::TaggedSymbol - ) - CUSTOM = - T.let( - :custom, - Orb::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::Cadence::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::Cadence::TaggedSymbol - ] - ) - end - def self.values - end - end - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::BillingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - params( - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::DimensionalPriceConfiguration, - Orb::Internal::AnyHash - ) - end - - # The list of dimension values matching (in order) the dimensions of the price - # group - sig { returns(T::Array[String]) } - attr_accessor :dimension_values - - # The id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :dimensional_price_group_id - - # The external id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :external_dimensional_price_group_id - - # For dimensional price: specifies a price group and dimension values - sig do - params( - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The list of dimension values matching (in order) the dimensions of the price - # group - dimension_values:, - # The id of the dimensional price group to include this price in - dimensional_price_group_id: nil, - # The external id of the dimensional price group to include this price in - external_dimensional_price_group_id: nil - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - } - ) - end - def to_hash - end - end - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::InvoicingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - params( - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class TieredPackageWithMinimum < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum, - Orb::Internal::AnyHash - ) - end - - # The cadence to bill for this price on. - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::Cadence::OrSymbol - ) - end - attr_accessor :cadence - - # An ISO 4217 currency string for which this price is billed in. - sig { returns(String) } - attr_accessor :currency - - # The id of the item the price will be associated with. - sig { returns(String) } - attr_accessor :item_id - - sig { returns(Symbol) } - attr_accessor :model_type - - # The name of the price. - sig { returns(String) } - attr_accessor :name - - sig { returns(T::Hash[Symbol, T.anything]) } - attr_accessor :tiered_package_with_minimum_config - - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - sig { returns(T.nilable(String)) } - attr_accessor :billable_metric_id - - # 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. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :billed_in_advance - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - returns( - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::BillingCycleConfiguration - ) - ) - end - attr_reader :billing_cycle_configuration - - sig do - params( - billing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::BillingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :billing_cycle_configuration - - # The per unit conversion rate of the price currency to the invoicing currency. - sig { returns(T.nilable(Float)) } - attr_accessor :conversion_rate - - # For dimensional price: specifies a price group and dimension values - sig do - returns( - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration - ) - ) - end - attr_reader :dimensional_price_configuration - - sig do - params( - dimensional_price_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration::OrHash - ) - ).void - end - attr_writer :dimensional_price_configuration - - # An alias for the price. - sig { returns(T.nilable(String)) } - attr_accessor :external_price_id - - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - sig { returns(T.nilable(Float)) } - attr_accessor :fixed_price_quantity - - # The property used to group this price on an invoice - sig { returns(T.nilable(String)) } - attr_accessor :invoice_grouping_key - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - returns( - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration - ) - ) - end - attr_reader :invoicing_cycle_configuration - - sig do - params( - invoicing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :invoicing_cycle_configuration - - # 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`. - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } - attr_accessor :metadata - - sig do - params( - cadence: - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::Cadence::OrSymbol, - currency: String, - item_id: String, - name: String, - tiered_package_with_minimum_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::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::BillingCycleConfiguration::OrHash - ), - conversion_rate: T.nilable(Float), - dimensional_price_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration::OrHash - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::OrHash - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), - model_type: Symbol - ).returns(T.attached_class) - end - def self.new( - # The cadence to bill for this price on. - cadence:, - # An ISO 4217 currency string for which this price is billed in. - currency:, - # The id of the item the price will be associated with. - item_id:, - # The name of the price. - name:, - tiered_package_with_minimum_config:, - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - billable_metric_id: nil, - # 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. - billed_in_advance: nil, - # For custom cadence: specifies the duration of the billing period in days or - # months. - billing_cycle_configuration: nil, - # The per unit conversion rate of the price currency to the invoicing currency. - conversion_rate: nil, - # For dimensional price: specifies a price group and dimension values - dimensional_price_configuration: nil, - # An alias for the price. - external_price_id: nil, - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - fixed_price_quantity: nil, - # The property used to group this price on an invoice - invoice_grouping_key: nil, - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - invoicing_cycle_configuration: nil, - # 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`. - metadata: nil, - model_type: :tiered_package_with_minimum - ) - end - - sig do - override.returns( - { - cadence: - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::Cadence::OrSymbol, - currency: String, - item_id: String, - model_type: Symbol, - name: String, - tiered_package_with_minimum_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::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::BillingCycleConfiguration - ), - conversion_rate: T.nilable(Float), - dimensional_price_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) - } - ) - end - def to_hash - end - - # The cadence to bill for this price on. - module Cadence - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::Cadence - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ANNUAL = - T.let( - :annual, - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::Cadence::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::Cadence::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::Cadence::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::Cadence::TaggedSymbol - ) - ONE_TIME = - T.let( - :one_time, - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::Cadence::TaggedSymbol - ) - CUSTOM = - T.let( - :custom, - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::Cadence::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::Cadence::TaggedSymbol - ] - ) - end - def self.values - end - end - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::BillingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - params( - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration, - Orb::Internal::AnyHash - ) - end - - # The list of dimension values matching (in order) the dimensions of the price - # group - sig { returns(T::Array[String]) } - attr_accessor :dimension_values - - # The id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :dimensional_price_group_id - - # The external id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :external_dimensional_price_group_id - - # For dimensional price: specifies a price group and dimension values - sig do - params( - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The list of dimension values matching (in order) the dimensions of the price - # group - dimension_values:, - # The id of the dimensional price group to include this price in - dimensional_price_group_id: nil, - # The external id of the dimensional price group to include this price in - external_dimensional_price_group_id: nil - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - } - ) - end - def to_hash - end - end - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - params( - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class UnitWithPercent < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent, - Orb::Internal::AnyHash - ) - end - - # The cadence to bill for this price on. - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::Cadence::OrSymbol - ) - end - attr_accessor :cadence - - # An ISO 4217 currency string for which this price is billed in. - sig { returns(String) } - attr_accessor :currency - - # The id of the item the price will be associated with. - sig { returns(String) } - attr_accessor :item_id - - sig { returns(Symbol) } - attr_accessor :model_type - - # The name of the price. - sig { returns(String) } - attr_accessor :name - - sig { returns(T::Hash[Symbol, T.anything]) } - attr_accessor :unit_with_percent_config - - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - sig { returns(T.nilable(String)) } - attr_accessor :billable_metric_id - - # 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. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :billed_in_advance - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - returns( - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::BillingCycleConfiguration - ) - ) - end - attr_reader :billing_cycle_configuration - - sig do - params( - billing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::BillingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :billing_cycle_configuration - - # The per unit conversion rate of the price currency to the invoicing currency. - sig { returns(T.nilable(Float)) } - attr_accessor :conversion_rate - - # For dimensional price: specifies a price group and dimension values - sig do - returns( - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::DimensionalPriceConfiguration - ) - ) - end - attr_reader :dimensional_price_configuration - - sig do - params( - dimensional_price_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::DimensionalPriceConfiguration::OrHash - ) - ).void - end - attr_writer :dimensional_price_configuration - - # An alias for the price. - sig { returns(T.nilable(String)) } - attr_accessor :external_price_id - - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - sig { returns(T.nilable(Float)) } - attr_accessor :fixed_price_quantity - - # The property used to group this price on an invoice - sig { returns(T.nilable(String)) } - attr_accessor :invoice_grouping_key - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - returns( - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::InvoicingCycleConfiguration - ) - ) - end - attr_reader :invoicing_cycle_configuration - - sig do - params( - invoicing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::InvoicingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :invoicing_cycle_configuration - - # 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`. - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } - attr_accessor :metadata - - sig do - params( - cadence: - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::Cadence::OrSymbol, - currency: String, - item_id: String, - name: String, - unit_with_percent_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::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::BillingCycleConfiguration::OrHash - ), - conversion_rate: T.nilable(Float), - dimensional_price_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::DimensionalPriceConfiguration::OrHash - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::InvoicingCycleConfiguration::OrHash - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), - model_type: Symbol - ).returns(T.attached_class) - end - def self.new( - # The cadence to bill for this price on. - cadence:, - # An ISO 4217 currency string for which this price is billed in. - currency:, - # The id of the item the price will be associated with. - item_id:, - # The name of the price. - name:, - unit_with_percent_config:, - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - billable_metric_id: nil, - # 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. - billed_in_advance: nil, - # For custom cadence: specifies the duration of the billing period in days or - # months. - billing_cycle_configuration: nil, - # The per unit conversion rate of the price currency to the invoicing currency. - conversion_rate: nil, - # For dimensional price: specifies a price group and dimension values - dimensional_price_configuration: nil, - # An alias for the price. - external_price_id: nil, - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - fixed_price_quantity: nil, - # The property used to group this price on an invoice - invoice_grouping_key: nil, - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - invoicing_cycle_configuration: nil, - # 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`. - metadata: nil, - model_type: :unit_with_percent - ) - end - - sig do - override.returns( - { - cadence: - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::Cadence::OrSymbol, - currency: String, - item_id: String, - model_type: Symbol, - name: String, - unit_with_percent_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::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::BillingCycleConfiguration - ), - conversion_rate: T.nilable(Float), - dimensional_price_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::DimensionalPriceConfiguration - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::InvoicingCycleConfiguration - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) - } - ) - end - def to_hash - end - - # The cadence to bill for this price on. - module Cadence - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::Cadence - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ANNUAL = - T.let( - :annual, - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::Cadence::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::Cadence::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::Cadence::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::Cadence::TaggedSymbol - ) - ONE_TIME = - T.let( - :one_time, - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::Cadence::TaggedSymbol - ) - CUSTOM = - T.let( - :custom, - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::Cadence::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::Cadence::TaggedSymbol - ] - ) - end - def self.values - end - end - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::BillingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - params( - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::DimensionalPriceConfiguration, - Orb::Internal::AnyHash - ) - end - - # The list of dimension values matching (in order) the dimensions of the price - # group - sig { returns(T::Array[String]) } - attr_accessor :dimension_values - - # The id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :dimensional_price_group_id - - # The external id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :external_dimensional_price_group_id - - # For dimensional price: specifies a price group and dimension values - sig do - params( - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The list of dimension values matching (in order) the dimensions of the price - # group - dimension_values:, - # The id of the dimensional price group to include this price in - dimensional_price_group_id: nil, - # The external id of the dimensional price group to include this price in - external_dimensional_price_group_id: nil - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - } - ) - end - def to_hash - end - end - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::InvoicingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - params( - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class TieredWithProration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration, - Orb::Internal::AnyHash - ) - end - - # The cadence to bill for this price on. - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::Cadence::OrSymbol - ) - end - attr_accessor :cadence - - # An ISO 4217 currency string for which this price is billed in. - sig { returns(String) } - attr_accessor :currency - - # The id of the item the price will be associated with. - sig { returns(String) } - attr_accessor :item_id - - sig { returns(Symbol) } - attr_accessor :model_type - - # The name of the price. - sig { returns(String) } - attr_accessor :name - - sig { returns(T::Hash[Symbol, T.anything]) } - attr_accessor :tiered_with_proration_config - - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - sig { returns(T.nilable(String)) } - attr_accessor :billable_metric_id - - # 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. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :billed_in_advance - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - returns( - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::BillingCycleConfiguration - ) - ) - end - attr_reader :billing_cycle_configuration - - sig do - params( - billing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::BillingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :billing_cycle_configuration - - # The per unit conversion rate of the price currency to the invoicing currency. - sig { returns(T.nilable(Float)) } - attr_accessor :conversion_rate - - # For dimensional price: specifies a price group and dimension values - sig do - returns( - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::DimensionalPriceConfiguration - ) - ) - end - attr_reader :dimensional_price_configuration - - sig do - params( - dimensional_price_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::DimensionalPriceConfiguration::OrHash - ) - ).void - end - attr_writer :dimensional_price_configuration - - # An alias for the price. - sig { returns(T.nilable(String)) } - attr_accessor :external_price_id - - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - sig { returns(T.nilable(Float)) } - attr_accessor :fixed_price_quantity - - # The property used to group this price on an invoice - sig { returns(T.nilable(String)) } - attr_accessor :invoice_grouping_key - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - returns( - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::InvoicingCycleConfiguration - ) - ) - end - attr_reader :invoicing_cycle_configuration - - sig do - params( - invoicing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::InvoicingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :invoicing_cycle_configuration - - # 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`. - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } - attr_accessor :metadata - - sig do - params( - cadence: - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::Cadence::OrSymbol, - currency: String, - item_id: String, - name: String, - tiered_with_proration_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::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::BillingCycleConfiguration::OrHash - ), - conversion_rate: T.nilable(Float), - dimensional_price_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::DimensionalPriceConfiguration::OrHash - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::InvoicingCycleConfiguration::OrHash - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), - model_type: Symbol - ).returns(T.attached_class) - end - def self.new( - # The cadence to bill for this price on. - cadence:, - # An ISO 4217 currency string for which this price is billed in. - currency:, - # The id of the item the price will be associated with. - item_id:, - # The name of the price. - name:, - tiered_with_proration_config:, - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - billable_metric_id: nil, - # 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. - billed_in_advance: nil, - # For custom cadence: specifies the duration of the billing period in days or - # months. - billing_cycle_configuration: nil, - # The per unit conversion rate of the price currency to the invoicing currency. - conversion_rate: nil, - # For dimensional price: specifies a price group and dimension values - dimensional_price_configuration: nil, - # An alias for the price. - external_price_id: nil, - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - fixed_price_quantity: nil, - # The property used to group this price on an invoice - invoice_grouping_key: nil, - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - invoicing_cycle_configuration: nil, - # 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`. - metadata: nil, - model_type: :tiered_with_proration - ) - end - - sig do - override.returns( - { - cadence: - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::Cadence::OrSymbol, - currency: String, - item_id: String, - model_type: Symbol, - name: String, - tiered_with_proration_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::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::BillingCycleConfiguration - ), - conversion_rate: T.nilable(Float), - dimensional_price_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::DimensionalPriceConfiguration - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::InvoicingCycleConfiguration - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) - } - ) - end - def to_hash - end - - # The cadence to bill for this price on. - module Cadence - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::Cadence - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ANNUAL = - T.let( - :annual, - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::Cadence::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::Cadence::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::Cadence::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::Cadence::TaggedSymbol - ) - ONE_TIME = - T.let( - :one_time, - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::Cadence::TaggedSymbol - ) - CUSTOM = - T.let( - :custom, - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::Cadence::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::Cadence::TaggedSymbol - ] - ) - end - def self.values - end - end - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::BillingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - params( - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::DimensionalPriceConfiguration, - Orb::Internal::AnyHash - ) - end - - # The list of dimension values matching (in order) the dimensions of the price - # group - sig { returns(T::Array[String]) } - attr_accessor :dimension_values - - # The id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :dimensional_price_group_id - - # The external id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :external_dimensional_price_group_id - - # For dimensional price: specifies a price group and dimension values - sig do - params( - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The list of dimension values matching (in order) the dimensions of the price - # group - dimension_values:, - # The id of the dimensional price group to include this price in - dimensional_price_group_id: nil, - # The external id of the dimensional price group to include this price in - external_dimensional_price_group_id: nil - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - } - ) - end - def to_hash - end - end - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::InvoicingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - params( - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class UnitWithProration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration, - Orb::Internal::AnyHash - ) - end - - # The cadence to bill for this price on. - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::Cadence::OrSymbol - ) - end - attr_accessor :cadence - - # An ISO 4217 currency string for which this price is billed in. - sig { returns(String) } - attr_accessor :currency - - # The id of the item the price will be associated with. - sig { returns(String) } - attr_accessor :item_id - - sig { returns(Symbol) } - attr_accessor :model_type - - # The name of the price. - sig { returns(String) } - attr_accessor :name - - sig { returns(T::Hash[Symbol, T.anything]) } - attr_accessor :unit_with_proration_config - - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - sig { returns(T.nilable(String)) } - attr_accessor :billable_metric_id - - # 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. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :billed_in_advance - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - returns( - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::BillingCycleConfiguration - ) - ) - end - attr_reader :billing_cycle_configuration - - sig do - params( - billing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::BillingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :billing_cycle_configuration - - # The per unit conversion rate of the price currency to the invoicing currency. - sig { returns(T.nilable(Float)) } - attr_accessor :conversion_rate - - # For dimensional price: specifies a price group and dimension values - sig do - returns( - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::DimensionalPriceConfiguration - ) - ) - end - attr_reader :dimensional_price_configuration - - sig do - params( - dimensional_price_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::DimensionalPriceConfiguration::OrHash - ) - ).void - end - attr_writer :dimensional_price_configuration - - # An alias for the price. - sig { returns(T.nilable(String)) } - attr_accessor :external_price_id - - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - sig { returns(T.nilable(Float)) } - attr_accessor :fixed_price_quantity - - # The property used to group this price on an invoice - sig { returns(T.nilable(String)) } - attr_accessor :invoice_grouping_key - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - returns( - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::InvoicingCycleConfiguration - ) - ) - end - attr_reader :invoicing_cycle_configuration - - sig do - params( - invoicing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::InvoicingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :invoicing_cycle_configuration - - # 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`. - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } - attr_accessor :metadata - - sig do - params( - cadence: - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::Cadence::OrSymbol, - currency: String, - item_id: String, - name: String, - unit_with_proration_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::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::BillingCycleConfiguration::OrHash - ), - conversion_rate: T.nilable(Float), - dimensional_price_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::DimensionalPriceConfiguration::OrHash - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::InvoicingCycleConfiguration::OrHash - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), - model_type: Symbol - ).returns(T.attached_class) - end - def self.new( - # The cadence to bill for this price on. - cadence:, - # An ISO 4217 currency string for which this price is billed in. - currency:, - # The id of the item the price will be associated with. - item_id:, - # The name of the price. - name:, - unit_with_proration_config:, - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - billable_metric_id: nil, - # 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. - billed_in_advance: nil, - # For custom cadence: specifies the duration of the billing period in days or - # months. - billing_cycle_configuration: nil, - # The per unit conversion rate of the price currency to the invoicing currency. - conversion_rate: nil, - # For dimensional price: specifies a price group and dimension values - dimensional_price_configuration: nil, - # An alias for the price. - external_price_id: nil, - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - fixed_price_quantity: nil, - # The property used to group this price on an invoice - invoice_grouping_key: nil, - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - invoicing_cycle_configuration: nil, - # 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`. - metadata: nil, - model_type: :unit_with_proration - ) - end - - sig do - override.returns( - { - cadence: - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::Cadence::OrSymbol, - currency: String, - item_id: String, - model_type: Symbol, - name: String, - unit_with_proration_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::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::BillingCycleConfiguration - ), - conversion_rate: T.nilable(Float), - dimensional_price_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::DimensionalPriceConfiguration - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::InvoicingCycleConfiguration - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) - } - ) - end - def to_hash - end - - # The cadence to bill for this price on. - module Cadence - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::Cadence - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ANNUAL = - T.let( - :annual, - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::Cadence::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::Cadence::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::Cadence::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::Cadence::TaggedSymbol - ) - ONE_TIME = - T.let( - :one_time, - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::Cadence::TaggedSymbol - ) - CUSTOM = - T.let( - :custom, - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::Cadence::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::Cadence::TaggedSymbol - ] - ) - end - def self.values - end - end - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::BillingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - params( - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::DimensionalPriceConfiguration, - Orb::Internal::AnyHash - ) - end - - # The list of dimension values matching (in order) the dimensions of the price - # group - sig { returns(T::Array[String]) } - attr_accessor :dimension_values - - # The id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :dimensional_price_group_id - - # The external id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :external_dimensional_price_group_id - - # For dimensional price: specifies a price group and dimension values - sig do - params( - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The list of dimension values matching (in order) the dimensions of the price - # group - dimension_values:, - # The id of the dimensional price group to include this price in - dimensional_price_group_id: nil, - # The external id of the dimensional price group to include this price in - external_dimensional_price_group_id: nil - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - } - ) - end - def to_hash - end - end - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::InvoicingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - params( - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class GroupedAllocation < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation, - Orb::Internal::AnyHash - ) - end - - # The cadence to bill for this price on. - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::Cadence::OrSymbol - ) - end - attr_accessor :cadence - - # An ISO 4217 currency string for which this price is billed in. - sig { returns(String) } - attr_accessor :currency - - sig { returns(T::Hash[Symbol, T.anything]) } - attr_accessor :grouped_allocation_config - - # The id of the item the price will be associated with. - sig { returns(String) } - attr_accessor :item_id - - sig { returns(Symbol) } - attr_accessor :model_type - - # The name of the price. - sig { returns(String) } - attr_accessor :name - - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - sig { returns(T.nilable(String)) } - attr_accessor :billable_metric_id - - # 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. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :billed_in_advance - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - returns( - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::BillingCycleConfiguration - ) - ) - end - attr_reader :billing_cycle_configuration - - sig do - params( - billing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::BillingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :billing_cycle_configuration - - # The per unit conversion rate of the price currency to the invoicing currency. - sig { returns(T.nilable(Float)) } - attr_accessor :conversion_rate - - # For dimensional price: specifies a price group and dimension values - sig do - returns( - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::DimensionalPriceConfiguration - ) - ) - end - attr_reader :dimensional_price_configuration - - sig do - params( - dimensional_price_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::DimensionalPriceConfiguration::OrHash - ) - ).void - end - attr_writer :dimensional_price_configuration - - # An alias for the price. - sig { returns(T.nilable(String)) } - attr_accessor :external_price_id - - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - sig { returns(T.nilable(Float)) } - attr_accessor :fixed_price_quantity - - # The property used to group this price on an invoice - sig { returns(T.nilable(String)) } - attr_accessor :invoice_grouping_key - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - returns( - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::InvoicingCycleConfiguration - ) - ) - end - attr_reader :invoicing_cycle_configuration - - sig do - params( - invoicing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::InvoicingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :invoicing_cycle_configuration - - # 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`. - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } - attr_accessor :metadata - - sig do - params( - cadence: - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::Cadence::OrSymbol, - currency: String, - grouped_allocation_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::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::BillingCycleConfiguration::OrHash - ), - conversion_rate: T.nilable(Float), - dimensional_price_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::DimensionalPriceConfiguration::OrHash - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::InvoicingCycleConfiguration::OrHash - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), - model_type: Symbol - ).returns(T.attached_class) - end - def self.new( - # The cadence to bill for this price on. - cadence:, - # An ISO 4217 currency string for which this price is billed in. - currency:, - grouped_allocation_config:, - # The id of the item the price will be associated with. - item_id:, - # The name of the price. - name:, - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - billable_metric_id: nil, - # 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. - billed_in_advance: nil, - # For custom cadence: specifies the duration of the billing period in days or - # months. - billing_cycle_configuration: nil, - # The per unit conversion rate of the price currency to the invoicing currency. - conversion_rate: nil, - # For dimensional price: specifies a price group and dimension values - dimensional_price_configuration: nil, - # An alias for the price. - external_price_id: nil, - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - fixed_price_quantity: nil, - # The property used to group this price on an invoice - invoice_grouping_key: nil, - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - invoicing_cycle_configuration: nil, - # 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`. - metadata: nil, - model_type: :grouped_allocation - ) - end - - sig do - override.returns( - { - cadence: - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::Cadence::OrSymbol, - currency: String, - grouped_allocation_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::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::BillingCycleConfiguration - ), - conversion_rate: T.nilable(Float), - dimensional_price_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::DimensionalPriceConfiguration - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::InvoicingCycleConfiguration - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) - } - ) - end - def to_hash - end - - # The cadence to bill for this price on. - module Cadence - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::Cadence - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ANNUAL = - T.let( - :annual, - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::Cadence::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::Cadence::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::Cadence::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::Cadence::TaggedSymbol - ) - ONE_TIME = - T.let( - :one_time, - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::Cadence::TaggedSymbol - ) - CUSTOM = - T.let( - :custom, - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::Cadence::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::Cadence::TaggedSymbol - ] - ) - end - def self.values - end - end - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::BillingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - params( - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::DimensionalPriceConfiguration, - Orb::Internal::AnyHash - ) - end - - # The list of dimension values matching (in order) the dimensions of the price - # group - sig { returns(T::Array[String]) } - attr_accessor :dimension_values - - # The id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :dimensional_price_group_id - - # The external id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :external_dimensional_price_group_id - - # For dimensional price: specifies a price group and dimension values - sig do - params( - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The list of dimension values matching (in order) the dimensions of the price - # group - dimension_values:, - # The id of the dimensional price group to include this price in - dimensional_price_group_id: nil, - # The external id of the dimensional price group to include this price in - external_dimensional_price_group_id: nil - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - } - ) - end - def to_hash - end - end - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::InvoicingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - params( - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class GroupedWithProratedMinimum < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum, - Orb::Internal::AnyHash - ) - end - - # The cadence to bill for this price on. - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::Cadence::OrSymbol - ) - end - attr_accessor :cadence - - # An ISO 4217 currency string for which this price is billed in. - sig { returns(String) } - attr_accessor :currency - - sig { returns(T::Hash[Symbol, T.anything]) } - attr_accessor :grouped_with_prorated_minimum_config - - # The id of the item the price will be associated with. - sig { returns(String) } - attr_accessor :item_id - - sig { returns(Symbol) } - attr_accessor :model_type - - # The name of the price. - sig { returns(String) } - attr_accessor :name - - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - sig { returns(T.nilable(String)) } - attr_accessor :billable_metric_id - - # 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. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :billed_in_advance - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - returns( - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::BillingCycleConfiguration - ) - ) - end - attr_reader :billing_cycle_configuration - - sig do - params( - billing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :billing_cycle_configuration - - # The per unit conversion rate of the price currency to the invoicing currency. - sig { returns(T.nilable(Float)) } - attr_accessor :conversion_rate - - # For dimensional price: specifies a price group and dimension values - sig do - returns( - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration - ) - ) - end - attr_reader :dimensional_price_configuration - - sig do - params( - dimensional_price_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration::OrHash - ) - ).void - end - attr_writer :dimensional_price_configuration - - # An alias for the price. - sig { returns(T.nilable(String)) } - attr_accessor :external_price_id - - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - sig { returns(T.nilable(Float)) } - attr_accessor :fixed_price_quantity - - # The property used to group this price on an invoice - sig { returns(T.nilable(String)) } - attr_accessor :invoice_grouping_key - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - returns( - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration - ) - ) - end - attr_reader :invoicing_cycle_configuration - - sig do - params( - invoicing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :invoicing_cycle_configuration - - # 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`. - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } - attr_accessor :metadata - - sig do - params( - cadence: - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::Cadence::OrSymbol, - currency: String, - grouped_with_prorated_minimum_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::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::OrHash - ), - conversion_rate: T.nilable(Float), - dimensional_price_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration::OrHash - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::OrHash - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), - model_type: Symbol - ).returns(T.attached_class) - end - def self.new( - # The cadence to bill for this price on. - cadence:, - # An ISO 4217 currency string for which this price is billed in. - currency:, - grouped_with_prorated_minimum_config:, - # The id of the item the price will be associated with. - item_id:, - # The name of the price. - name:, - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - billable_metric_id: nil, - # 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. - billed_in_advance: nil, - # For custom cadence: specifies the duration of the billing period in days or - # months. - billing_cycle_configuration: nil, - # The per unit conversion rate of the price currency to the invoicing currency. - conversion_rate: nil, - # For dimensional price: specifies a price group and dimension values - dimensional_price_configuration: nil, - # An alias for the price. - external_price_id: nil, - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - fixed_price_quantity: nil, - # The property used to group this price on an invoice - invoice_grouping_key: nil, - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - invoicing_cycle_configuration: nil, - # 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`. - metadata: nil, - model_type: :grouped_with_prorated_minimum - ) - end - - sig do - override.returns( - { - cadence: - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::Cadence::OrSymbol, - currency: String, - grouped_with_prorated_minimum_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::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::BillingCycleConfiguration - ), - conversion_rate: T.nilable(Float), - dimensional_price_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) - } - ) - end - def to_hash - end - - # The cadence to bill for this price on. - module Cadence - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::Cadence - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ANNUAL = - T.let( - :annual, - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::Cadence::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::Cadence::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::Cadence::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::Cadence::TaggedSymbol - ) - ONE_TIME = - T.let( - :one_time, - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::Cadence::TaggedSymbol - ) - CUSTOM = - T.let( - :custom, - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::Cadence::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::Cadence::TaggedSymbol - ] - ) - end - def self.values - end - end - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::BillingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - params( - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration, - Orb::Internal::AnyHash - ) - end - - # The list of dimension values matching (in order) the dimensions of the price - # group - sig { returns(T::Array[String]) } - attr_accessor :dimension_values - - # The id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :dimensional_price_group_id - - # The external id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :external_dimensional_price_group_id - - # For dimensional price: specifies a price group and dimension values - sig do - params( - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The list of dimension values matching (in order) the dimensions of the price - # group - dimension_values:, - # The id of the dimensional price group to include this price in - dimensional_price_group_id: nil, - # The external id of the dimensional price group to include this price in - external_dimensional_price_group_id: nil - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - } - ) - end - def to_hash - end - end - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - params( - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class GroupedWithMeteredMinimum < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum, - Orb::Internal::AnyHash - ) - end - - # The cadence to bill for this price on. - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::Cadence::OrSymbol - ) - end - attr_accessor :cadence - - # An ISO 4217 currency string for which this price is billed in. - sig { returns(String) } - attr_accessor :currency - - sig { returns(T::Hash[Symbol, T.anything]) } - attr_accessor :grouped_with_metered_minimum_config - - # The id of the item the price will be associated with. - sig { returns(String) } - attr_accessor :item_id - - sig { returns(Symbol) } - attr_accessor :model_type - - # The name of the price. - sig { returns(String) } - attr_accessor :name - - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - sig { returns(T.nilable(String)) } - attr_accessor :billable_metric_id - - # 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. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :billed_in_advance - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - returns( - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration - ) - ) - end - attr_reader :billing_cycle_configuration - - sig do - params( - billing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :billing_cycle_configuration - - # The per unit conversion rate of the price currency to the invoicing currency. - sig { returns(T.nilable(Float)) } - attr_accessor :conversion_rate - - # For dimensional price: specifies a price group and dimension values - sig do - returns( - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration - ) - ) - end - attr_reader :dimensional_price_configuration - - sig do - params( - dimensional_price_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration::OrHash - ) - ).void - end - attr_writer :dimensional_price_configuration - - # An alias for the price. - sig { returns(T.nilable(String)) } - attr_accessor :external_price_id - - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - sig { returns(T.nilable(Float)) } - attr_accessor :fixed_price_quantity - - # The property used to group this price on an invoice - sig { returns(T.nilable(String)) } - attr_accessor :invoice_grouping_key - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - returns( - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration - ) - ) - end - attr_reader :invoicing_cycle_configuration - - sig do - params( - invoicing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :invoicing_cycle_configuration - - # 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`. - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } - attr_accessor :metadata - - sig do - params( - cadence: - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::Cadence::OrSymbol, - currency: String, - grouped_with_metered_minimum_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::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::OrHash - ), - conversion_rate: T.nilable(Float), - dimensional_price_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration::OrHash - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::OrHash - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), - model_type: Symbol - ).returns(T.attached_class) - end - def self.new( - # The cadence to bill for this price on. - cadence:, - # An ISO 4217 currency string for which this price is billed in. - currency:, - grouped_with_metered_minimum_config:, - # The id of the item the price will be associated with. - item_id:, - # The name of the price. - name:, - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - billable_metric_id: nil, - # 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. - billed_in_advance: nil, - # For custom cadence: specifies the duration of the billing period in days or - # months. - billing_cycle_configuration: nil, - # The per unit conversion rate of the price currency to the invoicing currency. - conversion_rate: nil, - # For dimensional price: specifies a price group and dimension values - dimensional_price_configuration: nil, - # An alias for the price. - external_price_id: nil, - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - fixed_price_quantity: nil, - # The property used to group this price on an invoice - invoice_grouping_key: nil, - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - invoicing_cycle_configuration: nil, - # 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`. - metadata: nil, - model_type: :grouped_with_metered_minimum - ) - end - - sig do - override.returns( - { - cadence: - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::Cadence::OrSymbol, - currency: String, - grouped_with_metered_minimum_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::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration - ), - conversion_rate: T.nilable(Float), - dimensional_price_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) - } - ) - end - def to_hash - end - - # The cadence to bill for this price on. - module Cadence - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::Cadence - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ANNUAL = - T.let( - :annual, - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::Cadence::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::Cadence::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::Cadence::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::Cadence::TaggedSymbol - ) - ONE_TIME = - T.let( - :one_time, - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::Cadence::TaggedSymbol - ) - CUSTOM = - T.let( - :custom, - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::Cadence::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::Cadence::TaggedSymbol - ] - ) - end - def self.values - end - end - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - params( - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration, - Orb::Internal::AnyHash - ) - end - - # The list of dimension values matching (in order) the dimensions of the price - # group - sig { returns(T::Array[String]) } - attr_accessor :dimension_values - - # The id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :dimensional_price_group_id - - # The external id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :external_dimensional_price_group_id - - # For dimensional price: specifies a price group and dimension values - sig do - params( - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The list of dimension values matching (in order) the dimensions of the price - # group - dimension_values:, - # The id of the dimensional price group to include this price in - dimensional_price_group_id: nil, - # The external id of the dimensional price group to include this price in - external_dimensional_price_group_id: nil - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - } - ) - end - def to_hash - end - end - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - params( - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class MatrixWithDisplayName < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName, - Orb::Internal::AnyHash - ) - end - - # The cadence to bill for this price on. - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::Cadence::OrSymbol - ) - end - attr_accessor :cadence - - # An ISO 4217 currency string for which this price is billed in. - sig { returns(String) } - attr_accessor :currency - - # The id of the item the price will be associated with. - sig { returns(String) } - attr_accessor :item_id - - sig { returns(T::Hash[Symbol, T.anything]) } - attr_accessor :matrix_with_display_name_config - - sig { returns(Symbol) } - attr_accessor :model_type - - # The name of the price. - sig { returns(String) } - attr_accessor :name - - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - sig { returns(T.nilable(String)) } - attr_accessor :billable_metric_id - - # 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. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :billed_in_advance - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - returns( - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::BillingCycleConfiguration - ) - ) - end - attr_reader :billing_cycle_configuration - - sig do - params( - billing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::BillingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :billing_cycle_configuration - - # The per unit conversion rate of the price currency to the invoicing currency. - sig { returns(T.nilable(Float)) } - attr_accessor :conversion_rate - - # For dimensional price: specifies a price group and dimension values - sig do - returns( - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::DimensionalPriceConfiguration - ) - ) - end - attr_reader :dimensional_price_configuration - - sig do - params( - dimensional_price_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::DimensionalPriceConfiguration::OrHash - ) - ).void - end - attr_writer :dimensional_price_configuration - - # An alias for the price. - sig { returns(T.nilable(String)) } - attr_accessor :external_price_id - - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - sig { returns(T.nilable(Float)) } - attr_accessor :fixed_price_quantity - - # The property used to group this price on an invoice - sig { returns(T.nilable(String)) } - attr_accessor :invoice_grouping_key - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - returns( - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::InvoicingCycleConfiguration - ) - ) - end - attr_reader :invoicing_cycle_configuration - - sig do - params( - invoicing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :invoicing_cycle_configuration - - # 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`. - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } - attr_accessor :metadata - - sig do - params( - cadence: - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::Cadence::OrSymbol, - currency: String, - item_id: String, - matrix_with_display_name_config: T::Hash[Symbol, T.anything], - name: String, - billable_metric_id: T.nilable(String), - billed_in_advance: T.nilable(T::Boolean), - billing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::BillingCycleConfiguration::OrHash - ), - conversion_rate: T.nilable(Float), - dimensional_price_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::DimensionalPriceConfiguration::OrHash - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::OrHash - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), - model_type: Symbol - ).returns(T.attached_class) - end - def self.new( - # The cadence to bill for this price on. - cadence:, - # An ISO 4217 currency string for which this price is billed in. - currency:, - # The id of the item the price will be associated with. - item_id:, - matrix_with_display_name_config:, - # The name of the price. - name:, - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - billable_metric_id: nil, - # 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. - billed_in_advance: nil, - # For custom cadence: specifies the duration of the billing period in days or - # months. - billing_cycle_configuration: nil, - # The per unit conversion rate of the price currency to the invoicing currency. - conversion_rate: nil, - # For dimensional price: specifies a price group and dimension values - dimensional_price_configuration: nil, - # An alias for the price. - external_price_id: nil, - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - fixed_price_quantity: nil, - # The property used to group this price on an invoice - invoice_grouping_key: nil, - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - invoicing_cycle_configuration: nil, - # 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`. - metadata: nil, - model_type: :matrix_with_display_name - ) - end - - sig do - override.returns( - { - cadence: - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::Cadence::OrSymbol, - currency: String, - item_id: String, - matrix_with_display_name_config: T::Hash[Symbol, T.anything], - model_type: Symbol, - name: String, - billable_metric_id: T.nilable(String), - billed_in_advance: T.nilable(T::Boolean), - billing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::BillingCycleConfiguration - ), - conversion_rate: T.nilable(Float), - dimensional_price_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::DimensionalPriceConfiguration - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::InvoicingCycleConfiguration - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) - } - ) - end - def to_hash - end - - # The cadence to bill for this price on. - module Cadence - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::Cadence - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ANNUAL = - T.let( - :annual, - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::Cadence::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::Cadence::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::Cadence::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::Cadence::TaggedSymbol - ) - ONE_TIME = - T.let( - :one_time, - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::Cadence::TaggedSymbol - ) - CUSTOM = - T.let( - :custom, - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::Cadence::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::Cadence::TaggedSymbol - ] - ) - end - def self.values - end - end - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::BillingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - params( - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::DimensionalPriceConfiguration, - Orb::Internal::AnyHash - ) - end - - # The list of dimension values matching (in order) the dimensions of the price - # group - sig { returns(T::Array[String]) } - attr_accessor :dimension_values - - # The id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :dimensional_price_group_id - - # The external id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :external_dimensional_price_group_id - - # For dimensional price: specifies a price group and dimension values - sig do - params( - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The list of dimension values matching (in order) the dimensions of the price - # group - dimension_values:, - # The id of the dimensional price group to include this price in - dimensional_price_group_id: nil, - # The external id of the dimensional price group to include this price in - external_dimensional_price_group_id: nil - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - } - ) - end - def to_hash - end - end - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::InvoicingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - params( - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class BulkWithProration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration, - Orb::Internal::AnyHash - ) - end - - sig { returns(T::Hash[Symbol, T.anything]) } - attr_accessor :bulk_with_proration_config - - # The cadence to bill for this price on. - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::Cadence::OrSymbol - ) - end - attr_accessor :cadence - - # An ISO 4217 currency string for which this price is billed in. - sig { returns(String) } - attr_accessor :currency - - # The id of the item the price will be associated with. - sig { returns(String) } - attr_accessor :item_id - - sig { returns(Symbol) } - attr_accessor :model_type - - # The name of the price. - sig { returns(String) } - attr_accessor :name - - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - sig { returns(T.nilable(String)) } - attr_accessor :billable_metric_id - - # 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. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :billed_in_advance - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - returns( - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::BillingCycleConfiguration - ) - ) - end - attr_reader :billing_cycle_configuration - - sig do - params( - billing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::BillingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :billing_cycle_configuration - - # The per unit conversion rate of the price currency to the invoicing currency. - sig { returns(T.nilable(Float)) } - attr_accessor :conversion_rate - - # For dimensional price: specifies a price group and dimension values - sig do - returns( - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::DimensionalPriceConfiguration - ) - ) - end - attr_reader :dimensional_price_configuration - - sig do - params( - dimensional_price_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::DimensionalPriceConfiguration::OrHash - ) - ).void - end - attr_writer :dimensional_price_configuration - - # An alias for the price. - sig { returns(T.nilable(String)) } - attr_accessor :external_price_id - - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - sig { returns(T.nilable(Float)) } - attr_accessor :fixed_price_quantity - - # The property used to group this price on an invoice - sig { returns(T.nilable(String)) } - attr_accessor :invoice_grouping_key - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - returns( - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::InvoicingCycleConfiguration - ) - ) - end - attr_reader :invoicing_cycle_configuration - - sig do - params( - invoicing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::InvoicingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :invoicing_cycle_configuration - - # 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`. - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } - attr_accessor :metadata - - sig do - params( - bulk_with_proration_config: T::Hash[Symbol, T.anything], - cadence: - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::Cadence::OrSymbol, - 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::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::BillingCycleConfiguration::OrHash - ), - conversion_rate: T.nilable(Float), - dimensional_price_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::DimensionalPriceConfiguration::OrHash - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::InvoicingCycleConfiguration::OrHash - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), - model_type: Symbol - ).returns(T.attached_class) - end - def self.new( - bulk_with_proration_config:, - # The cadence to bill for this price on. - cadence:, - # An ISO 4217 currency string for which this price is billed in. - currency:, - # The id of the item the price will be associated with. - item_id:, - # The name of the price. - name:, - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - billable_metric_id: nil, - # 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. - billed_in_advance: nil, - # For custom cadence: specifies the duration of the billing period in days or - # months. - billing_cycle_configuration: nil, - # The per unit conversion rate of the price currency to the invoicing currency. - conversion_rate: nil, - # For dimensional price: specifies a price group and dimension values - dimensional_price_configuration: nil, - # An alias for the price. - external_price_id: nil, - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - fixed_price_quantity: nil, - # The property used to group this price on an invoice - invoice_grouping_key: nil, - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - invoicing_cycle_configuration: nil, - # 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`. - metadata: nil, - model_type: :bulk_with_proration - ) - end - - sig do - override.returns( - { - bulk_with_proration_config: T::Hash[Symbol, T.anything], - cadence: - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::Cadence::OrSymbol, - 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::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::BillingCycleConfiguration - ), - conversion_rate: T.nilable(Float), - dimensional_price_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::DimensionalPriceConfiguration - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::InvoicingCycleConfiguration - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) - } - ) - end - def to_hash - end - - # The cadence to bill for this price on. - module Cadence - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::Cadence - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ANNUAL = - T.let( - :annual, - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::Cadence::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::Cadence::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::Cadence::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::Cadence::TaggedSymbol - ) - ONE_TIME = - T.let( - :one_time, - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::Cadence::TaggedSymbol - ) - CUSTOM = - T.let( - :custom, - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::Cadence::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::Cadence::TaggedSymbol - ] - ) - end - def self.values - end - end - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::BillingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - params( - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::DimensionalPriceConfiguration, - Orb::Internal::AnyHash - ) - end - - # The list of dimension values matching (in order) the dimensions of the price - # group - sig { returns(T::Array[String]) } - attr_accessor :dimension_values - - # The id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :dimensional_price_group_id - - # The external id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :external_dimensional_price_group_id - - # For dimensional price: specifies a price group and dimension values - sig do - params( - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The list of dimension values matching (in order) the dimensions of the price - # group - dimension_values:, - # The id of the dimensional price group to include this price in - dimensional_price_group_id: nil, - # The external id of the dimensional price group to include this price in - external_dimensional_price_group_id: nil - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - } - ) - end - def to_hash - end - end - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::InvoicingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - params( - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class GroupedTieredPackage < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage, - Orb::Internal::AnyHash - ) - end - - # The cadence to bill for this price on. - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::Cadence::OrSymbol - ) - end - attr_accessor :cadence - - # An ISO 4217 currency string for which this price is billed in. - sig { returns(String) } - attr_accessor :currency - - sig { returns(T::Hash[Symbol, T.anything]) } - attr_accessor :grouped_tiered_package_config - - # The id of the item the price will be associated with. - sig { returns(String) } - attr_accessor :item_id - - sig { returns(Symbol) } - attr_accessor :model_type - - # The name of the price. - sig { returns(String) } - attr_accessor :name - - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - sig { returns(T.nilable(String)) } - attr_accessor :billable_metric_id - - # 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. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :billed_in_advance - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - returns( - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::BillingCycleConfiguration - ) - ) - end - attr_reader :billing_cycle_configuration - - sig do - params( - billing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::BillingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :billing_cycle_configuration - - # The per unit conversion rate of the price currency to the invoicing currency. - sig { returns(T.nilable(Float)) } - attr_accessor :conversion_rate - - # For dimensional price: specifies a price group and dimension values - sig do - returns( - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::DimensionalPriceConfiguration - ) - ) - end - attr_reader :dimensional_price_configuration - - sig do - params( - dimensional_price_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::DimensionalPriceConfiguration::OrHash - ) - ).void - end - attr_writer :dimensional_price_configuration - - # An alias for the price. - sig { returns(T.nilable(String)) } - attr_accessor :external_price_id - - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - sig { returns(T.nilable(Float)) } - attr_accessor :fixed_price_quantity - - # The property used to group this price on an invoice - sig { returns(T.nilable(String)) } - attr_accessor :invoice_grouping_key - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - returns( - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::InvoicingCycleConfiguration - ) - ) - end - attr_reader :invoicing_cycle_configuration - - sig do - params( - invoicing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::InvoicingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :invoicing_cycle_configuration - - # 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`. - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } - attr_accessor :metadata - - sig do - params( - cadence: - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::Cadence::OrSymbol, - currency: String, - grouped_tiered_package_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::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::BillingCycleConfiguration::OrHash - ), - conversion_rate: T.nilable(Float), - dimensional_price_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::DimensionalPriceConfiguration::OrHash - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::InvoicingCycleConfiguration::OrHash - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), - model_type: Symbol - ).returns(T.attached_class) - end - def self.new( - # The cadence to bill for this price on. - cadence:, - # An ISO 4217 currency string for which this price is billed in. - currency:, - grouped_tiered_package_config:, - # The id of the item the price will be associated with. - item_id:, - # The name of the price. - name:, - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - billable_metric_id: nil, - # 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. - billed_in_advance: nil, - # For custom cadence: specifies the duration of the billing period in days or - # months. - billing_cycle_configuration: nil, - # The per unit conversion rate of the price currency to the invoicing currency. - conversion_rate: nil, - # For dimensional price: specifies a price group and dimension values - dimensional_price_configuration: nil, - # An alias for the price. - external_price_id: nil, - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - fixed_price_quantity: nil, - # The property used to group this price on an invoice - invoice_grouping_key: nil, - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - invoicing_cycle_configuration: nil, - # 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`. - metadata: nil, - model_type: :grouped_tiered_package - ) - end - - sig do - override.returns( - { - cadence: - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::Cadence::OrSymbol, - currency: String, - grouped_tiered_package_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::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::BillingCycleConfiguration - ), - conversion_rate: T.nilable(Float), - dimensional_price_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::DimensionalPriceConfiguration - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::InvoicingCycleConfiguration - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) - } - ) - end - def to_hash - end - - # The cadence to bill for this price on. - module Cadence - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::Cadence - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ANNUAL = - T.let( - :annual, - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::Cadence::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::Cadence::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::Cadence::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::Cadence::TaggedSymbol - ) - ONE_TIME = - T.let( - :one_time, - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::Cadence::TaggedSymbol - ) - CUSTOM = - T.let( - :custom, - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::Cadence::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::Cadence::TaggedSymbol - ] - ) - end - def self.values - end - end - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::BillingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - params( - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::DimensionalPriceConfiguration, - Orb::Internal::AnyHash - ) - end - - # The list of dimension values matching (in order) the dimensions of the price - # group - sig { returns(T::Array[String]) } - attr_accessor :dimension_values - - # The id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :dimensional_price_group_id - - # The external id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :external_dimensional_price_group_id - - # For dimensional price: specifies a price group and dimension values - sig do - params( - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The list of dimension values matching (in order) the dimensions of the price - # group - dimension_values:, - # The id of the dimensional price group to include this price in - dimensional_price_group_id: nil, - # The external id of the dimensional price group to include this price in - external_dimensional_price_group_id: nil - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - } - ) - end - def to_hash - end - end - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::InvoicingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - params( - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class ScalableMatrixWithUnitPricing < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing, - Orb::Internal::AnyHash - ) - end - - # The cadence to bill for this price on. - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::Cadence::OrSymbol - ) - end - attr_accessor :cadence - - # An ISO 4217 currency string for which this price is billed in. - sig { returns(String) } - attr_accessor :currency - - # The id of the item the price will be associated with. - sig { returns(String) } - attr_accessor :item_id - - sig { returns(Symbol) } - attr_accessor :model_type - - # The name of the price. - sig { returns(String) } - attr_accessor :name - - sig { returns(T::Hash[Symbol, T.anything]) } - attr_accessor :scalable_matrix_with_unit_pricing_config - - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - sig { returns(T.nilable(String)) } - attr_accessor :billable_metric_id - - # 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. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :billed_in_advance - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - returns( - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration - ) - ) - end - attr_reader :billing_cycle_configuration - - sig do - params( - billing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :billing_cycle_configuration - - # The per unit conversion rate of the price currency to the invoicing currency. - sig { returns(T.nilable(Float)) } - attr_accessor :conversion_rate - - # For dimensional price: specifies a price group and dimension values - sig do - returns( - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration - ) - ) - end - attr_reader :dimensional_price_configuration - - sig do - params( - dimensional_price_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration::OrHash - ) - ).void - end - attr_writer :dimensional_price_configuration - - # An alias for the price. - sig { returns(T.nilable(String)) } - attr_accessor :external_price_id - - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - sig { returns(T.nilable(Float)) } - attr_accessor :fixed_price_quantity - - # The property used to group this price on an invoice - sig { returns(T.nilable(String)) } - attr_accessor :invoice_grouping_key - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - returns( - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration - ) - ) - end - attr_reader :invoicing_cycle_configuration - - sig do - params( - invoicing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :invoicing_cycle_configuration - - # 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`. - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } - attr_accessor :metadata - - sig do - params( - cadence: - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::Cadence::OrSymbol, - currency: String, - item_id: String, - name: String, - scalable_matrix_with_unit_pricing_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::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::OrHash - ), - conversion_rate: T.nilable(Float), - dimensional_price_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration::OrHash - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::OrHash - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), - model_type: Symbol - ).returns(T.attached_class) - end - def self.new( - # The cadence to bill for this price on. - cadence:, - # An ISO 4217 currency string for which this price is billed in. - currency:, - # The id of the item the price will be associated with. - item_id:, - # The name of the price. - name:, - scalable_matrix_with_unit_pricing_config:, - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - billable_metric_id: nil, - # 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. - billed_in_advance: nil, - # For custom cadence: specifies the duration of the billing period in days or - # months. - billing_cycle_configuration: nil, - # The per unit conversion rate of the price currency to the invoicing currency. - conversion_rate: nil, - # For dimensional price: specifies a price group and dimension values - dimensional_price_configuration: nil, - # An alias for the price. - external_price_id: nil, - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - fixed_price_quantity: nil, - # The property used to group this price on an invoice - invoice_grouping_key: nil, - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - invoicing_cycle_configuration: nil, - # 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`. - metadata: nil, - model_type: :scalable_matrix_with_unit_pricing - ) - end - - sig do - override.returns( - { - cadence: - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::Cadence::OrSymbol, - currency: String, - item_id: String, - model_type: Symbol, - name: String, - scalable_matrix_with_unit_pricing_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::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration - ), - conversion_rate: T.nilable(Float), - dimensional_price_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) - } - ) - end - def to_hash - end - - # The cadence to bill for this price on. - module Cadence - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::Cadence - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ANNUAL = - T.let( - :annual, - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::Cadence::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::Cadence::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::Cadence::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::Cadence::TaggedSymbol - ) - ONE_TIME = - T.let( - :one_time, - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::Cadence::TaggedSymbol - ) - CUSTOM = - T.let( - :custom, - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::Cadence::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::Cadence::TaggedSymbol - ] - ) - end - def self.values - end - end - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - params( - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration, - Orb::Internal::AnyHash - ) - end - - # The list of dimension values matching (in order) the dimensions of the price - # group - sig { returns(T::Array[String]) } - attr_accessor :dimension_values - - # The id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :dimensional_price_group_id - - # The external id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :external_dimensional_price_group_id - - # For dimensional price: specifies a price group and dimension values - sig do - params( - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The list of dimension values matching (in order) the dimensions of the price - # group - dimension_values:, - # The id of the dimensional price group to include this price in - dimensional_price_group_id: nil, - # The external id of the dimensional price group to include this price in - external_dimensional_price_group_id: nil - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - } - ) - end - def to_hash - end - end - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - params( - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class ScalableMatrixWithTieredPricing < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing, - Orb::Internal::AnyHash - ) - end - - # The cadence to bill for this price on. - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::Cadence::OrSymbol - ) - end - attr_accessor :cadence - - # An ISO 4217 currency string for which this price is billed in. - sig { returns(String) } - attr_accessor :currency - - # The id of the item the price will be associated with. - sig { returns(String) } - attr_accessor :item_id - - sig { returns(Symbol) } - attr_accessor :model_type - - # The name of the price. - sig { returns(String) } - attr_accessor :name - - sig { returns(T::Hash[Symbol, T.anything]) } - attr_accessor :scalable_matrix_with_tiered_pricing_config - - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - sig { returns(T.nilable(String)) } - attr_accessor :billable_metric_id - - # 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. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :billed_in_advance - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - returns( - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration - ) - ) - end - attr_reader :billing_cycle_configuration - - sig do - params( - billing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :billing_cycle_configuration - - # The per unit conversion rate of the price currency to the invoicing currency. - sig { returns(T.nilable(Float)) } - attr_accessor :conversion_rate - - # For dimensional price: specifies a price group and dimension values - sig do - returns( - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration - ) - ) - end - attr_reader :dimensional_price_configuration - - sig do - params( - dimensional_price_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration::OrHash - ) - ).void - end - attr_writer :dimensional_price_configuration - - # An alias for the price. - sig { returns(T.nilable(String)) } - attr_accessor :external_price_id - - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - sig { returns(T.nilable(Float)) } - attr_accessor :fixed_price_quantity - - # The property used to group this price on an invoice - sig { returns(T.nilable(String)) } - attr_accessor :invoice_grouping_key - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - returns( - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration - ) - ) - end - attr_reader :invoicing_cycle_configuration - - sig do - params( - invoicing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :invoicing_cycle_configuration - - # 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`. - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } - attr_accessor :metadata - - sig do - params( - cadence: - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::Cadence::OrSymbol, - currency: String, - item_id: String, - name: String, - scalable_matrix_with_tiered_pricing_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::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::OrHash - ), - conversion_rate: T.nilable(Float), - dimensional_price_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration::OrHash - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::OrHash - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), - model_type: Symbol - ).returns(T.attached_class) - end - def self.new( - # The cadence to bill for this price on. - cadence:, - # An ISO 4217 currency string for which this price is billed in. - currency:, - # The id of the item the price will be associated with. - item_id:, - # The name of the price. - name:, - scalable_matrix_with_tiered_pricing_config:, - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - billable_metric_id: nil, - # 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. - billed_in_advance: nil, - # For custom cadence: specifies the duration of the billing period in days or - # months. - billing_cycle_configuration: nil, - # The per unit conversion rate of the price currency to the invoicing currency. - conversion_rate: nil, - # For dimensional price: specifies a price group and dimension values - dimensional_price_configuration: nil, - # An alias for the price. - external_price_id: nil, - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - fixed_price_quantity: nil, - # The property used to group this price on an invoice - invoice_grouping_key: nil, - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - invoicing_cycle_configuration: nil, - # 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`. - metadata: nil, - model_type: :scalable_matrix_with_tiered_pricing - ) - end - - sig do - override.returns( - { - cadence: - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::Cadence::OrSymbol, - currency: String, - item_id: String, - model_type: Symbol, - name: String, - scalable_matrix_with_tiered_pricing_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::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration - ), - conversion_rate: T.nilable(Float), - dimensional_price_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) - } - ) - end - def to_hash - end - - # The cadence to bill for this price on. - module Cadence - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::Cadence - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ANNUAL = - T.let( - :annual, - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::Cadence::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::Cadence::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::Cadence::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::Cadence::TaggedSymbol - ) - ONE_TIME = - T.let( - :one_time, - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::Cadence::TaggedSymbol - ) - CUSTOM = - T.let( - :custom, - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::Cadence::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::Cadence::TaggedSymbol - ] - ) - end - def self.values - end - end - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - params( - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration, - Orb::Internal::AnyHash - ) - end - - # The list of dimension values matching (in order) the dimensions of the price - # group - sig { returns(T::Array[String]) } - attr_accessor :dimension_values - - # The id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :dimensional_price_group_id - - # The external id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :external_dimensional_price_group_id - - # For dimensional price: specifies a price group and dimension values - sig do - params( - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The list of dimension values matching (in order) the dimensions of the price - # group - dimension_values:, - # The id of the dimensional price group to include this price in - dimensional_price_group_id: nil, - # The external id of the dimensional price group to include this price in - external_dimensional_price_group_id: nil - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - } - ) - end - def to_hash - end - end - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - params( - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - class CumulativeGroupedBulk < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk, - Orb::Internal::AnyHash - ) - end - - # The cadence to bill for this price on. - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::Cadence::OrSymbol - ) - end - attr_accessor :cadence - - sig { returns(T::Hash[Symbol, T.anything]) } - attr_accessor :cumulative_grouped_bulk_config - - # An ISO 4217 currency string for which this price is billed in. - sig { returns(String) } - attr_accessor :currency - - # The id of the item the price will be associated with. - sig { returns(String) } - attr_accessor :item_id - - sig { returns(Symbol) } - attr_accessor :model_type - - # The name of the price. - sig { returns(String) } - attr_accessor :name - - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - sig { returns(T.nilable(String)) } - attr_accessor :billable_metric_id - - # 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. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :billed_in_advance - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - returns( - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::BillingCycleConfiguration - ) - ) - end - attr_reader :billing_cycle_configuration - - sig do - params( - billing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::BillingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :billing_cycle_configuration - - # The per unit conversion rate of the price currency to the invoicing currency. - sig { returns(T.nilable(Float)) } - attr_accessor :conversion_rate - - # For dimensional price: specifies a price group and dimension values - sig do - returns( - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration - ) - ) - end - attr_reader :dimensional_price_configuration - - sig do - params( - dimensional_price_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration::OrHash - ) - ).void - end - attr_writer :dimensional_price_configuration - - # An alias for the price. - sig { returns(T.nilable(String)) } - attr_accessor :external_price_id - - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - sig { returns(T.nilable(Float)) } - attr_accessor :fixed_price_quantity - - # The property used to group this price on an invoice - sig { returns(T.nilable(String)) } - attr_accessor :invoice_grouping_key - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - returns( - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration - ) - ) - end - attr_reader :invoicing_cycle_configuration - - sig do - params( - invoicing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::OrHash - ) - ).void - end - attr_writer :invoicing_cycle_configuration - - # 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`. - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } - attr_accessor :metadata - - sig do - params( - cadence: - Orb::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::Cadence::OrSymbol, - 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::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::BillingCycleConfiguration::OrHash - ), - conversion_rate: T.nilable(Float), - dimensional_price_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration::OrHash - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::OrHash - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), - model_type: Symbol - ).returns(T.attached_class) - end - def self.new( - # The cadence to bill for this price on. - cadence:, - cumulative_grouped_bulk_config:, - # An ISO 4217 currency string for which this price is billed in. - currency:, - # The id of the item the price will be associated with. - item_id:, - # The name of the price. - name:, - # The id of the billable metric for the price. Only needed if the price is - # usage-based. - billable_metric_id: nil, - # 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. - billed_in_advance: nil, - # For custom cadence: specifies the duration of the billing period in days or - # months. - billing_cycle_configuration: nil, - # The per unit conversion rate of the price currency to the invoicing currency. - conversion_rate: nil, - # For dimensional price: specifies a price group and dimension values - dimensional_price_configuration: nil, - # An alias for the price. - external_price_id: nil, - # If the Price represents a fixed cost, this represents the quantity of units - # applied. - fixed_price_quantity: nil, - # The property used to group this price on an invoice - invoice_grouping_key: nil, - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - invoicing_cycle_configuration: nil, - # 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`. - metadata: nil, - model_type: :cumulative_grouped_bulk - ) - end - - sig do - override.returns( - { - cadence: - Orb::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::Cadence::OrSymbol, - 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::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::BillingCycleConfiguration - ), - conversion_rate: T.nilable(Float), - dimensional_price_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration - ), - external_price_id: T.nilable(String), - fixed_price_quantity: T.nilable(Float), - invoice_grouping_key: T.nilable(String), - invoicing_cycle_configuration: - T.nilable( - Orb::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration - ), - metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) - } - ) - end - def to_hash - end - - # The cadence to bill for this price on. - module Cadence - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::Cadence - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ANNUAL = - T.let( - :annual, - Orb::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::Cadence::TaggedSymbol - ) - SEMI_ANNUAL = - T.let( - :semi_annual, - Orb::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::Cadence::TaggedSymbol - ) - MONTHLY = - T.let( - :monthly, - Orb::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::Cadence::TaggedSymbol - ) - QUARTERLY = - T.let( - :quarterly, - Orb::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::Cadence::TaggedSymbol - ) - ONE_TIME = - T.let( - :one_time, - Orb::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::Cadence::TaggedSymbol - ) - CUSTOM = - T.let( - :custom, - Orb::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::Cadence::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::Cadence::TaggedSymbol - ] - ) - end - def self.values - end - end - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::BillingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # For custom cadence: specifies the duration of the billing period in days or - # months. - sig do - params( - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::BillingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration, - Orb::Internal::AnyHash - ) - end - - # The list of dimension values matching (in order) the dimensions of the price - # group - sig { returns(T::Array[String]) } - attr_accessor :dimension_values - - # The id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :dimensional_price_group_id - - # The external id of the dimensional price group to include this price in - sig { returns(T.nilable(String)) } - attr_accessor :external_dimensional_price_group_id - - # For dimensional price: specifies a price group and dimension values - sig do - params( - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The list of dimension values matching (in order) the dimensions of the price - # group - dimension_values:, - # The id of the dimensional price group to include this price in - dimensional_price_group_id: nil, - # The external id of the dimensional price group to include this price in - external_dimensional_price_group_id: nil - ) - end - - sig do - override.returns( - { - dimension_values: T::Array[String], - dimensional_price_group_id: T.nilable(String), - external_dimensional_price_group_id: T.nilable(String) - } - ) - end - def to_hash - end - end - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration, - Orb::Internal::AnyHash - ) - end - - # The duration of the billing period. - sig { returns(Integer) } - attr_accessor :duration - - # The unit of billing period duration. - sig do - returns( - Orb::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ) - end - attr_accessor :duration_unit - - # Within each billing cycle, specifies the cadence at which invoices are produced. - # If unspecified, a single invoice is produced per billing cycle. - sig do - params( - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The duration of the billing period. - duration:, - # The unit of billing period duration. - duration_unit: - ) - end - - sig do - override.returns( - { - duration: Integer, - duration_unit: - Orb::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit::OrSymbol - } - ) - end - def to_hash - end - - # The unit of billing period duration. - module DurationUnit - extend Orb::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Orb::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DAY = - T.let( - :day, - Orb::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - MONTH = - T.let( - :month, - Orb::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::DurationUnit::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - sig do - override.returns( - T::Array[ - Orb::PriceEvaluateParams::PriceEvaluation::Price::Variants - ] - ) - end - def self.variants - end - end - end end end end diff --git a/rbi/orb/models/price_evaluate_response.rbi b/rbi/orb/models/price_evaluate_response.rbi index 58d0c694..8d2a78af 100644 --- a/rbi/orb/models/price_evaluate_response.rbi +++ b/rbi/orb/models/price_evaluate_response.rbi @@ -8,83 +8,20 @@ module Orb T.any(Orb::Models::PriceEvaluateResponse, Orb::Internal::AnyHash) end - sig { returns(T::Array[Orb::Models::PriceEvaluateResponse::Data]) } + sig { returns(T::Array[Orb::EvaluatePriceGroup]) } attr_accessor :data sig do - params( - data: T::Array[Orb::Models::PriceEvaluateResponse::Data::OrHash] - ).returns(T.attached_class) + params(data: T::Array[Orb::EvaluatePriceGroup::OrHash]).returns( + T.attached_class + ) end def self.new(data:) end - sig do - override.returns( - { data: T::Array[Orb::Models::PriceEvaluateResponse::Data] } - ) - end + sig { override.returns({ data: T::Array[Orb::EvaluatePriceGroup] }) } def to_hash end - - class Data < Orb::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Orb::Models::PriceEvaluateResponse::Data, - Orb::Internal::AnyHash - ) - end - - # The currency of the price - sig { returns(String) } - attr_accessor :currency - - # The computed price groups associated with input price. - sig { returns(T::Array[Orb::EvaluatePriceGroup]) } - attr_accessor :price_groups - - # The index of the inline price - sig { returns(T.nilable(Integer)) } - attr_accessor :inline_price_index - - # The ID of the price - sig { returns(T.nilable(String)) } - attr_accessor :price_id - - sig do - params( - currency: String, - price_groups: T::Array[Orb::EvaluatePriceGroup::OrHash], - inline_price_index: T.nilable(Integer), - price_id: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # The currency of the price - currency:, - # The computed price groups associated with input price. - price_groups:, - # The index of the inline price - inline_price_index: nil, - # The ID of the price - price_id: nil - ) - end - - sig do - override.returns( - { - currency: String, - price_groups: T::Array[Orb::EvaluatePriceGroup], - inline_price_index: T.nilable(Integer), - price_id: T.nilable(String) - } - ) - end - def to_hash - end - end end end end diff --git a/rbi/orb/resources/beta.rbi b/rbi/orb/resources/beta.rbi new file mode 100644 index 00000000..cf606026 --- /dev/null +++ b/rbi/orb/resources/beta.rbi @@ -0,0 +1,111 @@ +# typed: strong + +module Orb + module Resources + class Beta + sig { returns(Orb::Resources::Beta::ExternalPlanID) } + attr_reader :external_plan_id + + # This API endpoint is in beta and its interface may change. It is recommended for + # use only in test mode. + # + # This endpoint allows the creation of a new plan version for an existing plan. + sig do + params( + plan_id: String, + version: Integer, + add_adjustments: + T.nilable( + T::Array[Orb::BetaCreatePlanVersionParams::AddAdjustment::OrHash] + ), + add_prices: + T.nilable( + T::Array[Orb::BetaCreatePlanVersionParams::AddPrice::OrHash] + ), + remove_adjustments: + T.nilable( + T::Array[ + Orb::BetaCreatePlanVersionParams::RemoveAdjustment::OrHash + ] + ), + remove_prices: + T.nilable( + T::Array[Orb::BetaCreatePlanVersionParams::RemovePrice::OrHash] + ), + replace_adjustments: + T.nilable( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplaceAdjustment::OrHash + ] + ), + replace_prices: + T.nilable( + T::Array[Orb::BetaCreatePlanVersionParams::ReplacePrice::OrHash] + ), + set_as_default: T.nilable(T::Boolean), + request_options: Orb::RequestOptions::OrHash + ).returns(Orb::PlanVersion) + end + def create_plan_version( + plan_id, + # New version number. + version:, + # Additional adjustments to be added to the plan. + add_adjustments: nil, + # Additional prices to be added to the plan. + add_prices: nil, + # Adjustments to be removed from the plan. + remove_adjustments: nil, + # Prices to be removed from the plan. + remove_prices: nil, + # Adjustments to be replaced with additional adjustments on the plan. + replace_adjustments: nil, + # Prices to be replaced with additional prices on the plan. + replace_prices: nil, + # Set this new plan version as the default + set_as_default: nil, + request_options: {} + ) + end + + # This API endpoint is in beta and its interface may change. It is recommended for + # use only in test mode. + # + # This endpoint is used to fetch a plan version. It returns the phases, prices, + # and adjustments present on this version of the plan. + sig do + params( + version: String, + plan_id: String, + request_options: Orb::RequestOptions::OrHash + ).returns(Orb::PlanVersion) + end + def fetch_plan_version(version, plan_id:, request_options: {}) + end + + # This API endpoint is in beta and its interface may change. It is recommended for + # use only in test mode. + # + # This endpoint allows setting the default version of a plan. + sig do + params( + plan_id: String, + version: Integer, + request_options: Orb::RequestOptions::OrHash + ).returns(Orb::Plan) + end + def set_default_plan_version( + plan_id, + # Plan version to set as the default. + version:, + request_options: {} + ) + end + + # @api private + sig { params(client: Orb::Client).returns(T.attached_class) } + def self.new(client:) + end + end + end +end diff --git a/rbi/orb/resources/plans/versions.rbi b/rbi/orb/resources/beta/external_plan_id.rbi similarity index 58% rename from rbi/orb/resources/plans/versions.rbi rename to rbi/orb/resources/beta/external_plan_id.rbi index 66f9cfb8..46b536ac 100644 --- a/rbi/orb/resources/plans/versions.rbi +++ b/rbi/orb/resources/beta/external_plan_id.rbi @@ -2,50 +2,58 @@ module Orb module Resources - class Plans - class Versions + class Beta + class ExternalPlanID # This API endpoint is in beta and its interface may change. It is recommended for # use only in test mode. # # This endpoint allows the creation of a new plan version for an existing plan. sig do params( - plan_id: String, + external_plan_id: String, version: Integer, add_adjustments: T.nilable( - T::Array[Orb::Plans::VersionCreateParams::AddAdjustment::OrHash] + T::Array[ + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddAdjustment::OrHash + ] ), add_prices: T.nilable( - T::Array[Orb::Plans::VersionCreateParams::AddPrice::OrHash] + T::Array[ + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::OrHash + ] ), remove_adjustments: T.nilable( T::Array[ - Orb::Plans::VersionCreateParams::RemoveAdjustment::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::RemoveAdjustment::OrHash ] ), remove_prices: T.nilable( - T::Array[Orb::Plans::VersionCreateParams::RemovePrice::OrHash] + T::Array[ + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::RemovePrice::OrHash + ] ), replace_adjustments: T.nilable( T::Array[ - Orb::Plans::VersionCreateParams::ReplaceAdjustment::OrHash + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplaceAdjustment::OrHash ] ), replace_prices: T.nilable( - T::Array[Orb::Plans::VersionCreateParams::ReplacePrice::OrHash] + T::Array[ + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::OrHash + ] ), set_as_default: T.nilable(T::Boolean), request_options: Orb::RequestOptions::OrHash - ).returns(Orb::Models::Plans::VersionCreateResponse) + ).returns(Orb::PlanVersion) end - def create( - plan_id, + def create_plan_version( + external_plan_id, # New version number. version:, # Additional adjustments to be added to the plan. @@ -74,11 +82,30 @@ module Orb sig do params( version: String, - plan_id: String, + external_plan_id: String, request_options: Orb::RequestOptions::OrHash - ).returns(Orb::Models::Plans::VersionRetrieveResponse) + ).returns(Orb::PlanVersion) + end + def fetch_plan_version(version, external_plan_id:, request_options: {}) end - def retrieve(version, plan_id:, request_options: {}) + + # This API endpoint is in beta and its interface may change. It is recommended for + # use only in test mode. + # + # This endpoint allows setting the default version of a plan. + sig do + params( + external_plan_id: String, + version: Integer, + request_options: Orb::RequestOptions::OrHash + ).returns(Orb::Plan) + end + def set_default_plan_version( + external_plan_id, + # Plan version to set as the default. + version:, + request_options: {} + ) end # @api private diff --git a/rbi/orb/resources/plans.rbi b/rbi/orb/resources/plans.rbi index 1f2f28a9..7823afc3 100644 --- a/rbi/orb/resources/plans.rbi +++ b/rbi/orb/resources/plans.rbi @@ -6,9 +6,6 @@ module Orb sig { returns(Orb::Resources::Plans::ExternalPlanID) } attr_reader :external_plan_id - sig { returns(Orb::Resources::Plans::Versions) } - attr_reader :versions - # This endpoint allows creation of plans including their prices. sig do params( @@ -166,25 +163,6 @@ module Orb def fetch(plan_id, request_options: {}) end - # This API endpoint is in beta and its interface may change. It is recommended for - # use only in test mode. - # - # This endpoint allows setting the default version of a plan. - sig do - params( - plan_id: String, - version: Integer, - request_options: Orb::RequestOptions::OrHash - ).returns(Orb::Plan) - end - def set_default_version( - plan_id, - # Plan version to set as the default. - version:, - request_options: {} - ) - end - # @api private sig { params(client: Orb::Client).returns(T.attached_class) } def self.new(client:) diff --git a/rbi/orb/resources/plans/external_plan_id.rbi b/rbi/orb/resources/plans/external_plan_id.rbi index e52ca242..8737c304 100644 --- a/rbi/orb/resources/plans/external_plan_id.rbi +++ b/rbi/orb/resources/plans/external_plan_id.rbi @@ -4,9 +4,6 @@ module Orb module Resources class Plans class ExternalPlanID - sig { returns(Orb::Resources::Plans::ExternalPlanID::Versions) } - attr_reader :versions - # This endpoint can be used to update the `external_plan_id`, and `metadata` of an # existing plan. # @@ -58,25 +55,6 @@ module Orb def fetch(external_plan_id, request_options: {}) end - # This API endpoint is in beta and its interface may change. It is recommended for - # use only in test mode. - # - # This endpoint allows setting the default version of a plan. - sig do - params( - external_plan_id: String, - version: Integer, - request_options: Orb::RequestOptions::OrHash - ).returns(Orb::Plan) - end - def set_default_version( - external_plan_id, - # Plan version to set as the default. - version:, - request_options: {} - ) - end - # @api private sig { params(client: Orb::Client).returns(T.attached_class) } def self.new(client:) diff --git a/rbi/orb/resources/plans/external_plan_id/versions.rbi b/rbi/orb/resources/plans/external_plan_id/versions.rbi deleted file mode 100644 index 6552fb2c..00000000 --- a/rbi/orb/resources/plans/external_plan_id/versions.rbi +++ /dev/null @@ -1,103 +0,0 @@ -# typed: strong - -module Orb - module Resources - class Plans - class ExternalPlanID - class Versions - # This API endpoint is in beta and its interface may change. It is recommended for - # use only in test mode. - # - # This endpoint allows the creation of a new plan version for an existing plan. - sig do - params( - external_plan_id: String, - version: Integer, - add_adjustments: - T.nilable( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddAdjustment::OrHash - ] - ), - add_prices: - T.nilable( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::OrHash - ] - ), - remove_adjustments: - T.nilable( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::RemoveAdjustment::OrHash - ] - ), - remove_prices: - T.nilable( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::RemovePrice::OrHash - ] - ), - replace_adjustments: - T.nilable( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplaceAdjustment::OrHash - ] - ), - replace_prices: - T.nilable( - T::Array[ - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::OrHash - ] - ), - set_as_default: T.nilable(T::Boolean), - request_options: Orb::RequestOptions::OrHash - ).returns(Orb::Models::Plans::ExternalPlanID::VersionCreateResponse) - end - def create( - external_plan_id, - # New version number. - version:, - # Additional adjustments to be added to the plan. - add_adjustments: nil, - # Additional prices to be added to the plan. - add_prices: nil, - # Adjustments to be removed from the plan. - remove_adjustments: nil, - # Prices to be removed from the plan. - remove_prices: nil, - # Adjustments to be replaced with additional adjustments on the plan. - replace_adjustments: nil, - # Prices to be replaced with additional prices on the plan. - replace_prices: nil, - # Set this new plan version as the default - set_as_default: nil, - request_options: {} - ) - end - - # This API endpoint is in beta and its interface may change. It is recommended for - # use only in test mode. - # - # This endpoint is used to fetch a plan version. It returns the phases, prices, - # and adjustments present on this version of the plan. - sig do - params( - version: String, - external_plan_id: String, - request_options: Orb::RequestOptions::OrHash - ).returns( - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse - ) - end - def retrieve(version, external_plan_id:, request_options: {}) - end - - # @api private - sig { params(client: Orb::Client).returns(T.attached_class) } - def self.new(client:) - end - end - end - end - end -end diff --git a/rbi/orb/resources/prices.rbi b/rbi/orb/resources/prices.rbi index c8d35a6c..6e9a947c 100644 --- a/rbi/orb/resources/prices.rbi +++ b/rbi/orb/resources/prices.rbi @@ -183,6 +183,65 @@ module Orb ) end + # [NOTE] It is recommended to use the `/v1/prices/evaluate` which offers further + # functionality, such as multiple prices, inline price definitions, and querying + # over preview events. + # + # This endpoint is used to evaluate the output of a price for a given customer and + # time range. It enables filtering and grouping the output using + # [computed properties](/extensibility/advanced-metrics#computed-properties), + # supporting the following workflows: + # + # 1. Showing detailed usage and costs to the end customer. + # 2. Auditing subtotals on invoice line items. + # + # For these workflows, the expressiveness of computed properties in both the + # filters and grouping is critical. For example, if you'd like to show your + # customer their usage grouped by hour and another property, you can do so with + # the following `grouping_keys`: + # `["hour_floor_timestamp_millis(timestamp_millis)", "my_property"]`. If you'd + # like to examine a customer's usage for a specific property value, you can do so + # with the following `filter`: + # `my_property = 'foo' AND my_other_property = 'bar'`. + # + # By default, the start of the time range must be no more than 100 days ago and + # the length of the results must be no greater than 1000. Note that this is a POST + # endpoint rather than a GET endpoint because it employs a JSON body rather than + # query parameters. + sig do + params( + price_id: String, + timeframe_end: Time, + timeframe_start: Time, + customer_id: T.nilable(String), + external_customer_id: T.nilable(String), + filter: T.nilable(String), + grouping_keys: T::Array[String], + request_options: Orb::RequestOptions::OrHash + ).returns(Orb::Models::PriceEvaluateResponse) + end + def evaluate( + price_id, + # The exclusive upper bound for event timestamps + timeframe_end:, + # The inclusive lower bound for event timestamps + timeframe_start:, + # The ID of the customer to which this evaluation is scoped. + customer_id: nil, + # The external customer ID of the customer to which this evaluation is scoped. + external_customer_id: nil, + # A boolean + # [computed property](/extensibility/advanced-metrics#computed-properties) used to + # filter the underlying billable metric + filter: nil, + # Properties (or + # [computed properties](/extensibility/advanced-metrics#computed-properties)) used + # to group the underlying billable metric + grouping_keys: nil, + request_options: {} + ) + end + # This endpoint is used to evaluate the output of price(s) for a given customer # and time range over either ingested events or preview events. It enables # filtering and grouping the output using @@ -218,14 +277,17 @@ module Orb timeframe_end: Time, timeframe_start: Time, customer_id: T.nilable(String), - events: T.nilable(T::Array[Orb::PriceEvaluateParams::Event::OrHash]), + events: + T.nilable( + T::Array[Orb::PriceEvaluateMultipleParams::Event::OrHash] + ), external_customer_id: T.nilable(String), price_evaluations: - T::Array[Orb::PriceEvaluateParams::PriceEvaluation::OrHash], + T::Array[Orb::PriceEvaluateMultipleParams::PriceEvaluation::OrHash], request_options: Orb::RequestOptions::OrHash - ).returns(Orb::Models::PriceEvaluateResponse) + ).returns(Orb::Models::PriceEvaluateMultipleResponse) end - def evaluate( + def evaluate_multiple( # The exclusive upper bound for event timestamps timeframe_end:, # The inclusive lower bound for event timestamps diff --git a/sig/orb/client.rbs b/sig/orb/client.rbs index 6e9f8206..52827996 100644 --- a/sig/orb/client.rbs +++ b/sig/orb/client.rbs @@ -12,6 +12,8 @@ module Orb attr_reader top_level: Orb::Resources::TopLevel + attr_reader beta: Orb::Resources::Beta + attr_reader coupons: Orb::Resources::Coupons attr_reader credit_notes: Orb::Resources::CreditNotes diff --git a/sig/orb/models.rbs b/sig/orb/models.rbs index 4abaa303..1920bc54 100644 --- a/sig/orb/models.rbs +++ b/sig/orb/models.rbs @@ -19,6 +19,14 @@ module Orb class AmountDiscount = Orb::Models::AmountDiscount + module Beta = Orb::Models::Beta + + class BetaCreatePlanVersionParams = Orb::Models::BetaCreatePlanVersionParams + + class BetaFetchPlanVersionParams = Orb::Models::BetaFetchPlanVersionParams + + class BetaSetDefaultPlanVersionParams = Orb::Models::BetaSetDefaultPlanVersionParams + class BillableMetric = Orb::Models::BillableMetric module BillingCycleRelativeDate = Orb::Models::BillingCycleRelativeDate @@ -149,14 +157,18 @@ module Orb module Plans = Orb::Models::Plans - class PlanSetDefaultVersionParams = Orb::Models::PlanSetDefaultVersionParams - class PlanUpdateParams = Orb::Models::PlanUpdateParams + class PlanVersion = Orb::Models::PlanVersion + + class PlanVersionPhase = Orb::Models::PlanVersionPhase + module Price = Orb::Models::Price class PriceCreateParams = Orb::Models::PriceCreateParams + class PriceEvaluateMultipleParams = Orb::Models::PriceEvaluateMultipleParams + class PriceEvaluateParams = Orb::Models::PriceEvaluateParams class PriceFetchParams = Orb::Models::PriceFetchParams diff --git a/sig/orb/models/plans/version_create_params.rbs b/sig/orb/models/beta/external_plan_id_create_plan_version_params.rbs similarity index 57% rename from sig/orb/models/plans/version_create_params.rbs rename to sig/orb/models/beta/external_plan_id_create_plan_version_params.rbs index 454194b6..d66f9f50 100644 --- a/sig/orb/models/plans/version_create_params.rbs +++ b/sig/orb/models/beta/external_plan_id_create_plan_version_params.rbs @@ -1,90 +1,90 @@ module Orb module Models - module Plans - type version_create_params = + module Beta + type external_plan_id_create_plan_version_params = { version: Integer, - add_adjustments: ::Array[Orb::Plans::VersionCreateParams::AddAdjustment]?, - add_prices: ::Array[Orb::Plans::VersionCreateParams::AddPrice]?, - remove_adjustments: ::Array[Orb::Plans::VersionCreateParams::RemoveAdjustment]?, - remove_prices: ::Array[Orb::Plans::VersionCreateParams::RemovePrice]?, - replace_adjustments: ::Array[Orb::Plans::VersionCreateParams::ReplaceAdjustment]?, - replace_prices: ::Array[Orb::Plans::VersionCreateParams::ReplacePrice]?, + add_adjustments: ::Array[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddAdjustment]?, + add_prices: ::Array[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice]?, + remove_adjustments: ::Array[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::RemoveAdjustment]?, + remove_prices: ::Array[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::RemovePrice]?, + replace_adjustments: ::Array[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplaceAdjustment]?, + replace_prices: ::Array[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice]?, set_as_default: bool? } & Orb::Internal::Type::request_parameters - class VersionCreateParams < Orb::Internal::Type::BaseModel + class ExternalPlanIDCreatePlanVersionParams < Orb::Internal::Type::BaseModel extend Orb::Internal::Type::RequestParameters::Converter include Orb::Internal::Type::RequestParameters attr_accessor version: Integer - attr_accessor add_adjustments: ::Array[Orb::Plans::VersionCreateParams::AddAdjustment]? + attr_accessor add_adjustments: ::Array[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddAdjustment]? - attr_accessor add_prices: ::Array[Orb::Plans::VersionCreateParams::AddPrice]? + attr_accessor add_prices: ::Array[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice]? - attr_accessor remove_adjustments: ::Array[Orb::Plans::VersionCreateParams::RemoveAdjustment]? + attr_accessor remove_adjustments: ::Array[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::RemoveAdjustment]? - attr_accessor remove_prices: ::Array[Orb::Plans::VersionCreateParams::RemovePrice]? + attr_accessor remove_prices: ::Array[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::RemovePrice]? - attr_accessor replace_adjustments: ::Array[Orb::Plans::VersionCreateParams::ReplaceAdjustment]? + attr_accessor replace_adjustments: ::Array[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplaceAdjustment]? - attr_accessor replace_prices: ::Array[Orb::Plans::VersionCreateParams::ReplacePrice]? + attr_accessor replace_prices: ::Array[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice]? attr_accessor set_as_default: bool? def initialize: ( version: Integer, - ?add_adjustments: ::Array[Orb::Plans::VersionCreateParams::AddAdjustment]?, - ?add_prices: ::Array[Orb::Plans::VersionCreateParams::AddPrice]?, - ?remove_adjustments: ::Array[Orb::Plans::VersionCreateParams::RemoveAdjustment]?, - ?remove_prices: ::Array[Orb::Plans::VersionCreateParams::RemovePrice]?, - ?replace_adjustments: ::Array[Orb::Plans::VersionCreateParams::ReplaceAdjustment]?, - ?replace_prices: ::Array[Orb::Plans::VersionCreateParams::ReplacePrice]?, + ?add_adjustments: ::Array[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddAdjustment]?, + ?add_prices: ::Array[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice]?, + ?remove_adjustments: ::Array[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::RemoveAdjustment]?, + ?remove_prices: ::Array[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::RemovePrice]?, + ?replace_adjustments: ::Array[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplaceAdjustment]?, + ?replace_prices: ::Array[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice]?, ?set_as_default: bool?, ?request_options: Orb::request_opts ) -> void def to_hash: -> { version: Integer, - add_adjustments: ::Array[Orb::Plans::VersionCreateParams::AddAdjustment]?, - add_prices: ::Array[Orb::Plans::VersionCreateParams::AddPrice]?, - remove_adjustments: ::Array[Orb::Plans::VersionCreateParams::RemoveAdjustment]?, - remove_prices: ::Array[Orb::Plans::VersionCreateParams::RemovePrice]?, - replace_adjustments: ::Array[Orb::Plans::VersionCreateParams::ReplaceAdjustment]?, - replace_prices: ::Array[Orb::Plans::VersionCreateParams::ReplacePrice]?, + add_adjustments: ::Array[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddAdjustment]?, + add_prices: ::Array[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice]?, + remove_adjustments: ::Array[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::RemoveAdjustment]?, + remove_prices: ::Array[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::RemovePrice]?, + replace_adjustments: ::Array[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplaceAdjustment]?, + replace_prices: ::Array[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice]?, set_as_default: bool?, request_options: Orb::RequestOptions } type add_adjustment = { - adjustment: Orb::Models::Plans::VersionCreateParams::AddAdjustment::adjustment, + adjustment: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddAdjustment::adjustment, plan_phase_order: Integer? } class AddAdjustment < Orb::Internal::Type::BaseModel - attr_accessor adjustment: Orb::Models::Plans::VersionCreateParams::AddAdjustment::adjustment + attr_accessor adjustment: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddAdjustment::adjustment attr_accessor plan_phase_order: Integer? def initialize: ( - adjustment: Orb::Models::Plans::VersionCreateParams::AddAdjustment::adjustment, + adjustment: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddAdjustment::adjustment, ?plan_phase_order: Integer? ) -> void def to_hash: -> { - adjustment: Orb::Models::Plans::VersionCreateParams::AddAdjustment::adjustment, + adjustment: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddAdjustment::adjustment, plan_phase_order: Integer? } type adjustment = - Orb::Plans::VersionCreateParams::AddAdjustment::Adjustment::PercentageDiscount - | Orb::Plans::VersionCreateParams::AddAdjustment::Adjustment::UsageDiscount - | Orb::Plans::VersionCreateParams::AddAdjustment::Adjustment::AmountDiscount - | Orb::Plans::VersionCreateParams::AddAdjustment::Adjustment::Minimum - | Orb::Plans::VersionCreateParams::AddAdjustment::Adjustment::Maximum + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddAdjustment::Adjustment::PercentageDiscount + | Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddAdjustment::Adjustment::UsageDiscount + | Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddAdjustment::Adjustment::AmountDiscount + | Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddAdjustment::Adjustment::Minimum + | Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddAdjustment::Adjustment::Maximum module Adjustment extend Orb::Internal::Type::Union @@ -264,40 +264,40 @@ module Orb } end - def self?.variants: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddAdjustment::adjustment] + def self?.variants: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddAdjustment::adjustment] end end type add_price = { - allocation_price: Orb::Plans::VersionCreateParams::AddPrice::AllocationPrice?, + allocation_price: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::AllocationPrice?, plan_phase_order: Integer?, - price: Orb::Models::Plans::VersionCreateParams::AddPrice::price? + price: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::price? } class AddPrice < Orb::Internal::Type::BaseModel - attr_accessor allocation_price: Orb::Plans::VersionCreateParams::AddPrice::AllocationPrice? + attr_accessor allocation_price: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::AllocationPrice? attr_accessor plan_phase_order: Integer? - attr_accessor price: Orb::Models::Plans::VersionCreateParams::AddPrice::price? + attr_accessor price: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::price? def initialize: ( - ?allocation_price: Orb::Plans::VersionCreateParams::AddPrice::AllocationPrice?, + ?allocation_price: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::AllocationPrice?, ?plan_phase_order: Integer?, - ?price: Orb::Models::Plans::VersionCreateParams::AddPrice::price? + ?price: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::price? ) -> void def to_hash: -> { - allocation_price: Orb::Plans::VersionCreateParams::AddPrice::AllocationPrice?, + allocation_price: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::AllocationPrice?, plan_phase_order: Integer?, - price: Orb::Models::Plans::VersionCreateParams::AddPrice::price? + price: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::price? } type allocation_price = { amount: String, - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::AllocationPrice::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::AllocationPrice::cadence, currency: String, expires_at_end_of_cadence: bool } @@ -305,7 +305,7 @@ module Orb class AllocationPrice < Orb::Internal::Type::BaseModel attr_accessor amount: String - attr_accessor cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::AllocationPrice::cadence + attr_accessor cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::AllocationPrice::cadence attr_accessor currency: String @@ -313,14 +313,14 @@ module Orb def initialize: ( amount: String, - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::AllocationPrice::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::AllocationPrice::cadence, currency: String, expires_at_end_of_cadence: bool ) -> void def to_hash: -> { amount: String, - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::AllocationPrice::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::AllocationPrice::cadence, currency: String, expires_at_end_of_cadence: bool } @@ -343,65 +343,65 @@ module Orb ANNUAL: :annual CUSTOM: :custom - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddPrice::AllocationPrice::cadence] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::AllocationPrice::cadence] end end type price = - Orb::Plans::VersionCreateParams::AddPrice::Price::Unit - | Orb::Plans::VersionCreateParams::AddPrice::Price::Package - | Orb::Plans::VersionCreateParams::AddPrice::Price::Matrix - | Orb::Plans::VersionCreateParams::AddPrice::Price::Tiered - | Orb::Plans::VersionCreateParams::AddPrice::Price::TieredBps - | Orb::Plans::VersionCreateParams::AddPrice::Price::Bps - | Orb::Plans::VersionCreateParams::AddPrice::Price::BulkBps - | Orb::Plans::VersionCreateParams::AddPrice::Price::Bulk - | Orb::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount - | Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackage - | Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum - | Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent - | Orb::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation - | Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration - | Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration - | Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation - | Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum - | Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum - | Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName - | Orb::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration - | Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage - | Orb::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage - | Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing - | Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing - | Orb::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk - | Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum - | Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation - | Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit + | Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package + | Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix + | Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered + | Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps + | Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps + | Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps + | Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk + | Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount + | Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage + | Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum + | Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent + | Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation + | Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration + | Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration + | Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation + | Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum + | Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum + | Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName + | Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration + | Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage + | Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage + | Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing + | Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing + | Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk + | Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum + | Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation + | Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered module Price extend Orb::Internal::Type::Union type unit = { - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Unit::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::cadence, item_id: String, model_type: :unit, name: String, - unit_config: Orb::Plans::VersionCreateParams::AddPrice::Price::Unit::UnitConfig, + unit_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::UnitConfig, billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::Unit::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::Unit::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::Unit::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } class Unit < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Unit::cadence + attr_accessor cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::cadence attr_accessor item_id: String @@ -409,19 +409,19 @@ module Orb attr_accessor name: String - attr_accessor unit_config: Orb::Plans::VersionCreateParams::AddPrice::Price::Unit::UnitConfig + attr_accessor unit_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::UnitConfig attr_accessor billable_metric_id: String? attr_accessor billed_in_advance: bool? - attr_accessor billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::Unit::BillingCycleConfiguration? + attr_accessor billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::BillingCycleConfiguration? attr_accessor conversion_rate: Float? attr_accessor currency: String? - attr_accessor dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::Unit::DimensionalPriceConfiguration? + attr_accessor dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::DimensionalPriceConfiguration? attr_accessor external_price_id: String? @@ -429,45 +429,45 @@ module Orb attr_accessor invoice_grouping_key: String? - attr_accessor invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::Unit::InvoicingCycleConfiguration? + attr_accessor invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::InvoicingCycleConfiguration? attr_accessor metadata: ::Hash[Symbol, String?]? def initialize: ( - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Unit::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::cadence, item_id: String, name: String, - unit_config: Orb::Plans::VersionCreateParams::AddPrice::Price::Unit::UnitConfig, + unit_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::UnitConfig, ?billable_metric_id: String?, ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::Unit::BillingCycleConfiguration?, + ?billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::BillingCycleConfiguration?, ?conversion_rate: Float?, ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::Unit::DimensionalPriceConfiguration?, + ?dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::DimensionalPriceConfiguration?, ?external_price_id: String?, ?fixed_price_quantity: Float?, ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::Unit::InvoicingCycleConfiguration?, + ?invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::InvoicingCycleConfiguration?, ?metadata: ::Hash[Symbol, String?]?, ?model_type: :unit ) -> void def to_hash: -> { - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Unit::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::cadence, item_id: String, model_type: :unit, name: String, - unit_config: Orb::Plans::VersionCreateParams::AddPrice::Price::Unit::UnitConfig, + unit_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::UnitConfig, billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::Unit::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::Unit::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::Unit::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } @@ -489,7 +489,7 @@ module Orb ONE_TIME: :one_time CUSTOM: :custom - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Unit::cadence] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::cadence] end type unit_config = { unit_amount: String } @@ -505,22 +505,22 @@ module Orb type billing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Unit::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::BillingCycleConfiguration::duration_unit } class BillingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Unit::BillingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::BillingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Unit::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::BillingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Unit::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::BillingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -531,7 +531,7 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Unit::BillingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::BillingCycleConfiguration::duration_unit] end end @@ -565,22 +565,22 @@ module Orb type invoicing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Unit::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::InvoicingCycleConfiguration::duration_unit } class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Unit::InvoicingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::InvoicingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Unit::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::InvoicingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Unit::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::InvoicingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -591,33 +591,33 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Unit::InvoicingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Unit::InvoicingCycleConfiguration::duration_unit] end end end type package = { - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Package::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::cadence, item_id: String, model_type: :package, name: String, - package_config: Orb::Plans::VersionCreateParams::AddPrice::Price::Package::PackageConfig, + package_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::PackageConfig, billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::Package::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::Package::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::Package::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } class Package < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Package::cadence + attr_accessor cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::cadence attr_accessor item_id: String @@ -625,19 +625,19 @@ module Orb attr_accessor name: String - attr_accessor package_config: Orb::Plans::VersionCreateParams::AddPrice::Price::Package::PackageConfig + attr_accessor package_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::PackageConfig attr_accessor billable_metric_id: String? attr_accessor billed_in_advance: bool? - attr_accessor billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::Package::BillingCycleConfiguration? + attr_accessor billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::BillingCycleConfiguration? attr_accessor conversion_rate: Float? attr_accessor currency: String? - attr_accessor dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::Package::DimensionalPriceConfiguration? + attr_accessor dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::DimensionalPriceConfiguration? attr_accessor external_price_id: String? @@ -645,45 +645,45 @@ module Orb attr_accessor invoice_grouping_key: String? - attr_accessor invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::Package::InvoicingCycleConfiguration? + attr_accessor invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::InvoicingCycleConfiguration? attr_accessor metadata: ::Hash[Symbol, String?]? def initialize: ( - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Package::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::cadence, item_id: String, name: String, - package_config: Orb::Plans::VersionCreateParams::AddPrice::Price::Package::PackageConfig, + package_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::PackageConfig, ?billable_metric_id: String?, ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::Package::BillingCycleConfiguration?, + ?billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::BillingCycleConfiguration?, ?conversion_rate: Float?, ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::Package::DimensionalPriceConfiguration?, + ?dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::DimensionalPriceConfiguration?, ?external_price_id: String?, ?fixed_price_quantity: Float?, ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::Package::InvoicingCycleConfiguration?, + ?invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::InvoicingCycleConfiguration?, ?metadata: ::Hash[Symbol, String?]?, ?model_type: :package ) -> void def to_hash: -> { - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Package::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::cadence, item_id: String, model_type: :package, name: String, - package_config: Orb::Plans::VersionCreateParams::AddPrice::Price::Package::PackageConfig, + package_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::PackageConfig, billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::Package::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::Package::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::Package::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } @@ -705,7 +705,7 @@ module Orb ONE_TIME: :one_time CUSTOM: :custom - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Package::cadence] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::cadence] end type package_config = @@ -730,22 +730,22 @@ module Orb type billing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Package::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::BillingCycleConfiguration::duration_unit } class BillingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Package::BillingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::BillingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Package::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::BillingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Package::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::BillingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -756,7 +756,7 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Package::BillingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::BillingCycleConfiguration::duration_unit] end end @@ -790,22 +790,22 @@ module Orb type invoicing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Package::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::InvoicingCycleConfiguration::duration_unit } class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Package::InvoicingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::InvoicingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Package::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::InvoicingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Package::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::InvoicingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -816,37 +816,37 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Package::InvoicingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Package::InvoicingCycleConfiguration::duration_unit] end end end type matrix = { - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Matrix::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::cadence, item_id: String, - matrix_config: Orb::Plans::VersionCreateParams::AddPrice::Price::Matrix::MatrixConfig, + matrix_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::MatrixConfig, model_type: :matrix, name: String, billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::Matrix::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::Matrix::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } class Matrix < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Matrix::cadence + attr_accessor cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::cadence attr_accessor item_id: String - attr_accessor matrix_config: Orb::Plans::VersionCreateParams::AddPrice::Price::Matrix::MatrixConfig + attr_accessor matrix_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::MatrixConfig attr_accessor model_type: :matrix @@ -856,13 +856,13 @@ module Orb attr_accessor billed_in_advance: bool? - attr_accessor billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::Matrix::BillingCycleConfiguration? + attr_accessor billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::BillingCycleConfiguration? attr_accessor conversion_rate: Float? attr_accessor currency: String? - attr_accessor dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::Matrix::DimensionalPriceConfiguration? + attr_accessor dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::DimensionalPriceConfiguration? attr_accessor external_price_id: String? @@ -870,45 +870,45 @@ module Orb attr_accessor invoice_grouping_key: String? - attr_accessor invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration? + attr_accessor invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration? attr_accessor metadata: ::Hash[Symbol, String?]? def initialize: ( - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Matrix::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::cadence, item_id: String, - matrix_config: Orb::Plans::VersionCreateParams::AddPrice::Price::Matrix::MatrixConfig, + matrix_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::MatrixConfig, name: String, ?billable_metric_id: String?, ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::Matrix::BillingCycleConfiguration?, + ?billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::BillingCycleConfiguration?, ?conversion_rate: Float?, ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::Matrix::DimensionalPriceConfiguration?, + ?dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::DimensionalPriceConfiguration?, ?external_price_id: String?, ?fixed_price_quantity: Float?, ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration?, + ?invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration?, ?metadata: ::Hash[Symbol, String?]?, ?model_type: :matrix ) -> void def to_hash: -> { - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Matrix::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::cadence, item_id: String, - matrix_config: Orb::Plans::VersionCreateParams::AddPrice::Price::Matrix::MatrixConfig, + matrix_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::MatrixConfig, model_type: :matrix, name: String, billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::Matrix::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::Matrix::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } @@ -930,14 +930,14 @@ module Orb ONE_TIME: :one_time CUSTOM: :custom - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Matrix::cadence] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::cadence] end type matrix_config = { default_unit_amount: String, dimensions: ::Array[String?], - matrix_values: ::Array[Orb::Plans::VersionCreateParams::AddPrice::Price::Matrix::MatrixConfig::MatrixValue] + matrix_values: ::Array[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::MatrixConfig::MatrixValue] } class MatrixConfig < Orb::Internal::Type::BaseModel @@ -945,18 +945,18 @@ module Orb attr_accessor dimensions: ::Array[String?] - attr_accessor matrix_values: ::Array[Orb::Plans::VersionCreateParams::AddPrice::Price::Matrix::MatrixConfig::MatrixValue] + attr_accessor matrix_values: ::Array[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::MatrixConfig::MatrixValue] def initialize: ( default_unit_amount: String, dimensions: ::Array[String?], - matrix_values: ::Array[Orb::Plans::VersionCreateParams::AddPrice::Price::Matrix::MatrixConfig::MatrixValue] + matrix_values: ::Array[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::MatrixConfig::MatrixValue] ) -> void def to_hash: -> { default_unit_amount: String, dimensions: ::Array[String?], - matrix_values: ::Array[Orb::Plans::VersionCreateParams::AddPrice::Price::Matrix::MatrixConfig::MatrixValue] + matrix_values: ::Array[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::MatrixConfig::MatrixValue] } type matrix_value = @@ -982,22 +982,22 @@ module Orb type billing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Matrix::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::BillingCycleConfiguration::duration_unit } class BillingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Matrix::BillingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::BillingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Matrix::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::BillingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Matrix::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::BillingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -1008,7 +1008,7 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Matrix::BillingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::BillingCycleConfiguration::duration_unit] end end @@ -1042,22 +1042,22 @@ module Orb type invoicing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration::duration_unit } class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -1068,33 +1068,33 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration::duration_unit] end end end type tiered = { - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Tiered::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::cadence, item_id: String, model_type: :tiered, name: String, - tiered_config: Orb::Plans::VersionCreateParams::AddPrice::Price::Tiered::TieredConfig, + tiered_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::TieredConfig, billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::Tiered::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::Tiered::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } class Tiered < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Tiered::cadence + attr_accessor cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::cadence attr_accessor item_id: String @@ -1102,19 +1102,19 @@ module Orb attr_accessor name: String - attr_accessor tiered_config: Orb::Plans::VersionCreateParams::AddPrice::Price::Tiered::TieredConfig + attr_accessor tiered_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::TieredConfig attr_accessor billable_metric_id: String? attr_accessor billed_in_advance: bool? - attr_accessor billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::Tiered::BillingCycleConfiguration? + attr_accessor billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::BillingCycleConfiguration? attr_accessor conversion_rate: Float? attr_accessor currency: String? - attr_accessor dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::Tiered::DimensionalPriceConfiguration? + attr_accessor dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::DimensionalPriceConfiguration? attr_accessor external_price_id: String? @@ -1122,45 +1122,45 @@ module Orb attr_accessor invoice_grouping_key: String? - attr_accessor invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration? + attr_accessor invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration? attr_accessor metadata: ::Hash[Symbol, String?]? def initialize: ( - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Tiered::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::cadence, item_id: String, name: String, - tiered_config: Orb::Plans::VersionCreateParams::AddPrice::Price::Tiered::TieredConfig, + tiered_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::TieredConfig, ?billable_metric_id: String?, ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::Tiered::BillingCycleConfiguration?, + ?billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::BillingCycleConfiguration?, ?conversion_rate: Float?, ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::Tiered::DimensionalPriceConfiguration?, + ?dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::DimensionalPriceConfiguration?, ?external_price_id: String?, ?fixed_price_quantity: Float?, ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration?, + ?invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration?, ?metadata: ::Hash[Symbol, String?]?, ?model_type: :tiered ) -> void def to_hash: -> { - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Tiered::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::cadence, item_id: String, model_type: :tiered, name: String, - tiered_config: Orb::Plans::VersionCreateParams::AddPrice::Price::Tiered::TieredConfig, + tiered_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::TieredConfig, billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::Tiered::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::Tiered::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } @@ -1182,23 +1182,23 @@ module Orb ONE_TIME: :one_time CUSTOM: :custom - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Tiered::cadence] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::cadence] end type tiered_config = { - tiers: ::Array[Orb::Plans::VersionCreateParams::AddPrice::Price::Tiered::TieredConfig::Tier] + tiers: ::Array[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::TieredConfig::Tier] } class TieredConfig < Orb::Internal::Type::BaseModel - attr_accessor tiers: ::Array[Orb::Plans::VersionCreateParams::AddPrice::Price::Tiered::TieredConfig::Tier] + attr_accessor tiers: ::Array[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::TieredConfig::Tier] def initialize: ( - tiers: ::Array[Orb::Plans::VersionCreateParams::AddPrice::Price::Tiered::TieredConfig::Tier] + tiers: ::Array[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::TieredConfig::Tier] ) -> void def to_hash: -> { - tiers: ::Array[Orb::Plans::VersionCreateParams::AddPrice::Price::Tiered::TieredConfig::Tier] + tiers: ::Array[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::TieredConfig::Tier] } type tier = @@ -1228,22 +1228,22 @@ module Orb type billing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Tiered::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::BillingCycleConfiguration::duration_unit } class BillingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Tiered::BillingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::BillingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Tiered::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::BillingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Tiered::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::BillingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -1254,7 +1254,7 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Tiered::BillingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::BillingCycleConfiguration::duration_unit] end end @@ -1288,22 +1288,22 @@ module Orb type invoicing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration::duration_unit } class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -1314,33 +1314,33 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration::duration_unit] end end end type tiered_bps = { - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredBps::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::cadence, item_id: String, model_type: :tiered_bps, name: String, - tiered_bps_config: Orb::Plans::VersionCreateParams::AddPrice::Price::TieredBps::TieredBpsConfig, + tiered_bps_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::TieredBpsConfig, billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::TieredBps::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::TieredBps::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } class TieredBps < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredBps::cadence + attr_accessor cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::cadence attr_accessor item_id: String @@ -1348,19 +1348,19 @@ module Orb attr_accessor name: String - attr_accessor tiered_bps_config: Orb::Plans::VersionCreateParams::AddPrice::Price::TieredBps::TieredBpsConfig + attr_accessor tiered_bps_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::TieredBpsConfig attr_accessor billable_metric_id: String? attr_accessor billed_in_advance: bool? - attr_accessor billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::TieredBps::BillingCycleConfiguration? + attr_accessor billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::BillingCycleConfiguration? attr_accessor conversion_rate: Float? attr_accessor currency: String? - attr_accessor dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::TieredBps::DimensionalPriceConfiguration? + attr_accessor dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::DimensionalPriceConfiguration? attr_accessor external_price_id: String? @@ -1368,45 +1368,45 @@ module Orb attr_accessor invoice_grouping_key: String? - attr_accessor invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration? + attr_accessor invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration? attr_accessor metadata: ::Hash[Symbol, String?]? def initialize: ( - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredBps::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::cadence, item_id: String, name: String, - tiered_bps_config: Orb::Plans::VersionCreateParams::AddPrice::Price::TieredBps::TieredBpsConfig, + tiered_bps_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::TieredBpsConfig, ?billable_metric_id: String?, ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::TieredBps::BillingCycleConfiguration?, + ?billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::BillingCycleConfiguration?, ?conversion_rate: Float?, ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::TieredBps::DimensionalPriceConfiguration?, + ?dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::DimensionalPriceConfiguration?, ?external_price_id: String?, ?fixed_price_quantity: Float?, ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration?, + ?invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration?, ?metadata: ::Hash[Symbol, String?]?, ?model_type: :tiered_bps ) -> void def to_hash: -> { - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredBps::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::cadence, item_id: String, model_type: :tiered_bps, name: String, - tiered_bps_config: Orb::Plans::VersionCreateParams::AddPrice::Price::TieredBps::TieredBpsConfig, + tiered_bps_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::TieredBpsConfig, billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::TieredBps::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::TieredBps::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } @@ -1428,23 +1428,23 @@ module Orb ONE_TIME: :one_time CUSTOM: :custom - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredBps::cadence] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::cadence] end type tiered_bps_config = { - tiers: ::Array[Orb::Plans::VersionCreateParams::AddPrice::Price::TieredBps::TieredBpsConfig::Tier] + tiers: ::Array[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::TieredBpsConfig::Tier] } class TieredBpsConfig < Orb::Internal::Type::BaseModel - attr_accessor tiers: ::Array[Orb::Plans::VersionCreateParams::AddPrice::Price::TieredBps::TieredBpsConfig::Tier] + attr_accessor tiers: ::Array[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::TieredBpsConfig::Tier] def initialize: ( - tiers: ::Array[Orb::Plans::VersionCreateParams::AddPrice::Price::TieredBps::TieredBpsConfig::Tier] + tiers: ::Array[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::TieredBpsConfig::Tier] ) -> void def to_hash: -> { - tiers: ::Array[Orb::Plans::VersionCreateParams::AddPrice::Price::TieredBps::TieredBpsConfig::Tier] + tiers: ::Array[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::TieredBpsConfig::Tier] } type tier = @@ -1483,22 +1483,22 @@ module Orb type billing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredBps::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::BillingCycleConfiguration::duration_unit } class BillingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredBps::BillingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::BillingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredBps::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::BillingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredBps::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::BillingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -1509,7 +1509,7 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredBps::BillingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::BillingCycleConfiguration::duration_unit] end end @@ -1543,22 +1543,22 @@ module Orb type invoicing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration::duration_unit } class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -1569,35 +1569,35 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration::duration_unit] end end end type bps = { - bps_config: Orb::Plans::VersionCreateParams::AddPrice::Price::Bps::BpsConfig, - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Bps::cadence, + bps_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::BpsConfig, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::cadence, item_id: String, model_type: :bps, name: String, billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::Bps::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::Bps::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::Bps::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } class Bps < Orb::Internal::Type::BaseModel - attr_accessor bps_config: Orb::Plans::VersionCreateParams::AddPrice::Price::Bps::BpsConfig + attr_accessor bps_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::BpsConfig - attr_accessor cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Bps::cadence + attr_accessor cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::cadence attr_accessor item_id: String @@ -1609,13 +1609,13 @@ module Orb attr_accessor billed_in_advance: bool? - attr_accessor billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::Bps::BillingCycleConfiguration? + attr_accessor billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::BillingCycleConfiguration? attr_accessor conversion_rate: Float? attr_accessor currency: String? - attr_accessor dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::Bps::DimensionalPriceConfiguration? + attr_accessor dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::DimensionalPriceConfiguration? attr_accessor external_price_id: String? @@ -1623,45 +1623,45 @@ module Orb attr_accessor invoice_grouping_key: String? - attr_accessor invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::Bps::InvoicingCycleConfiguration? + attr_accessor invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::InvoicingCycleConfiguration? attr_accessor metadata: ::Hash[Symbol, String?]? def initialize: ( - bps_config: Orb::Plans::VersionCreateParams::AddPrice::Price::Bps::BpsConfig, - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Bps::cadence, + bps_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::BpsConfig, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::cadence, item_id: String, name: String, ?billable_metric_id: String?, ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::Bps::BillingCycleConfiguration?, + ?billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::BillingCycleConfiguration?, ?conversion_rate: Float?, ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::Bps::DimensionalPriceConfiguration?, + ?dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::DimensionalPriceConfiguration?, ?external_price_id: String?, ?fixed_price_quantity: Float?, ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::Bps::InvoicingCycleConfiguration?, + ?invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::InvoicingCycleConfiguration?, ?metadata: ::Hash[Symbol, String?]?, ?model_type: :bps ) -> void def to_hash: -> { - bps_config: Orb::Plans::VersionCreateParams::AddPrice::Price::Bps::BpsConfig, - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Bps::cadence, + bps_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::BpsConfig, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::cadence, item_id: String, model_type: :bps, name: String, billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::Bps::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::Bps::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::Bps::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } @@ -1695,28 +1695,28 @@ module Orb ONE_TIME: :one_time CUSTOM: :custom - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Bps::cadence] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::cadence] end type billing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Bps::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::BillingCycleConfiguration::duration_unit } class BillingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Bps::BillingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::BillingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Bps::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::BillingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Bps::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::BillingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -1727,7 +1727,7 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Bps::BillingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::BillingCycleConfiguration::duration_unit] end end @@ -1761,22 +1761,22 @@ module Orb type invoicing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Bps::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::InvoicingCycleConfiguration::duration_unit } class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Bps::InvoicingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::InvoicingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Bps::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::InvoicingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Bps::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::InvoicingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -1787,35 +1787,35 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Bps::InvoicingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bps::InvoicingCycleConfiguration::duration_unit] end end end type bulk_bps = { - bulk_bps_config: Orb::Plans::VersionCreateParams::AddPrice::Price::BulkBps::BulkBpsConfig, - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::BulkBps::cadence, + bulk_bps_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::BulkBpsConfig, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::cadence, item_id: String, model_type: :bulk_bps, name: String, billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::BulkBps::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::BulkBps::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } class BulkBps < Orb::Internal::Type::BaseModel - attr_accessor bulk_bps_config: Orb::Plans::VersionCreateParams::AddPrice::Price::BulkBps::BulkBpsConfig + attr_accessor bulk_bps_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::BulkBpsConfig - attr_accessor cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::BulkBps::cadence + attr_accessor cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::cadence attr_accessor item_id: String @@ -1827,13 +1827,13 @@ module Orb attr_accessor billed_in_advance: bool? - attr_accessor billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::BulkBps::BillingCycleConfiguration? + attr_accessor billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::BillingCycleConfiguration? attr_accessor conversion_rate: Float? attr_accessor currency: String? - attr_accessor dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::BulkBps::DimensionalPriceConfiguration? + attr_accessor dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::DimensionalPriceConfiguration? attr_accessor external_price_id: String? @@ -1841,62 +1841,62 @@ module Orb attr_accessor invoice_grouping_key: String? - attr_accessor invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration? + attr_accessor invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration? attr_accessor metadata: ::Hash[Symbol, String?]? def initialize: ( - bulk_bps_config: Orb::Plans::VersionCreateParams::AddPrice::Price::BulkBps::BulkBpsConfig, - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::BulkBps::cadence, + bulk_bps_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::BulkBpsConfig, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::cadence, item_id: String, name: String, ?billable_metric_id: String?, ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::BulkBps::BillingCycleConfiguration?, + ?billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::BillingCycleConfiguration?, ?conversion_rate: Float?, ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::BulkBps::DimensionalPriceConfiguration?, + ?dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::DimensionalPriceConfiguration?, ?external_price_id: String?, ?fixed_price_quantity: Float?, ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration?, + ?invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration?, ?metadata: ::Hash[Symbol, String?]?, ?model_type: :bulk_bps ) -> void def to_hash: -> { - bulk_bps_config: Orb::Plans::VersionCreateParams::AddPrice::Price::BulkBps::BulkBpsConfig, - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::BulkBps::cadence, + bulk_bps_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::BulkBpsConfig, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::cadence, item_id: String, model_type: :bulk_bps, name: String, billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::BulkBps::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::BulkBps::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } type bulk_bps_config = { - tiers: ::Array[Orb::Plans::VersionCreateParams::AddPrice::Price::BulkBps::BulkBpsConfig::Tier] + tiers: ::Array[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::BulkBpsConfig::Tier] } class BulkBpsConfig < Orb::Internal::Type::BaseModel - attr_accessor tiers: ::Array[Orb::Plans::VersionCreateParams::AddPrice::Price::BulkBps::BulkBpsConfig::Tier] + attr_accessor tiers: ::Array[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::BulkBpsConfig::Tier] def initialize: ( - tiers: ::Array[Orb::Plans::VersionCreateParams::AddPrice::Price::BulkBps::BulkBpsConfig::Tier] + tiers: ::Array[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::BulkBpsConfig::Tier] ) -> void def to_hash: -> { - tiers: ::Array[Orb::Plans::VersionCreateParams::AddPrice::Price::BulkBps::BulkBpsConfig::Tier] + tiers: ::Array[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::BulkBpsConfig::Tier] } type tier = @@ -1945,28 +1945,28 @@ module Orb ONE_TIME: :one_time CUSTOM: :custom - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddPrice::Price::BulkBps::cadence] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::cadence] end type billing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::BulkBps::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::BillingCycleConfiguration::duration_unit } class BillingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::BulkBps::BillingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::BillingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::BulkBps::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::BillingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::BulkBps::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::BillingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -1977,7 +1977,7 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddPrice::Price::BulkBps::BillingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::BillingCycleConfiguration::duration_unit] end end @@ -2011,22 +2011,22 @@ module Orb type invoicing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration::duration_unit } class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -2037,35 +2037,35 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration::duration_unit] end end end type bulk = { - bulk_config: Orb::Plans::VersionCreateParams::AddPrice::Price::Bulk::BulkConfig, - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Bulk::cadence, + bulk_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::BulkConfig, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::cadence, item_id: String, model_type: :bulk, name: String, billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::Bulk::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::Bulk::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } class Bulk < Orb::Internal::Type::BaseModel - attr_accessor bulk_config: Orb::Plans::VersionCreateParams::AddPrice::Price::Bulk::BulkConfig + attr_accessor bulk_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::BulkConfig - attr_accessor cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Bulk::cadence + attr_accessor cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::cadence attr_accessor item_id: String @@ -2077,13 +2077,13 @@ module Orb attr_accessor billed_in_advance: bool? - attr_accessor billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::Bulk::BillingCycleConfiguration? + attr_accessor billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::BillingCycleConfiguration? attr_accessor conversion_rate: Float? attr_accessor currency: String? - attr_accessor dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::Bulk::DimensionalPriceConfiguration? + attr_accessor dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::DimensionalPriceConfiguration? attr_accessor external_price_id: String? @@ -2091,62 +2091,62 @@ module Orb attr_accessor invoice_grouping_key: String? - attr_accessor invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration? + attr_accessor invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration? attr_accessor metadata: ::Hash[Symbol, String?]? def initialize: ( - bulk_config: Orb::Plans::VersionCreateParams::AddPrice::Price::Bulk::BulkConfig, - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Bulk::cadence, + bulk_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::BulkConfig, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::cadence, item_id: String, name: String, ?billable_metric_id: String?, ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::Bulk::BillingCycleConfiguration?, + ?billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::BillingCycleConfiguration?, ?conversion_rate: Float?, ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::Bulk::DimensionalPriceConfiguration?, + ?dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::DimensionalPriceConfiguration?, ?external_price_id: String?, ?fixed_price_quantity: Float?, ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration?, + ?invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration?, ?metadata: ::Hash[Symbol, String?]?, ?model_type: :bulk ) -> void def to_hash: -> { - bulk_config: Orb::Plans::VersionCreateParams::AddPrice::Price::Bulk::BulkConfig, - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Bulk::cadence, + bulk_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::BulkConfig, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::cadence, item_id: String, model_type: :bulk, name: String, billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::Bulk::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::Bulk::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } type bulk_config = { - tiers: ::Array[Orb::Plans::VersionCreateParams::AddPrice::Price::Bulk::BulkConfig::Tier] + tiers: ::Array[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::BulkConfig::Tier] } class BulkConfig < Orb::Internal::Type::BaseModel - attr_accessor tiers: ::Array[Orb::Plans::VersionCreateParams::AddPrice::Price::Bulk::BulkConfig::Tier] + attr_accessor tiers: ::Array[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::BulkConfig::Tier] def initialize: ( - tiers: ::Array[Orb::Plans::VersionCreateParams::AddPrice::Price::Bulk::BulkConfig::Tier] + tiers: ::Array[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::BulkConfig::Tier] ) -> void def to_hash: -> { - tiers: ::Array[Orb::Plans::VersionCreateParams::AddPrice::Price::Bulk::BulkConfig::Tier] + tiers: ::Array[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::BulkConfig::Tier] } type tier = { unit_amount: String, maximum_units: Float? } @@ -2183,28 +2183,28 @@ module Orb ONE_TIME: :one_time CUSTOM: :custom - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Bulk::cadence] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::cadence] end type billing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Bulk::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::BillingCycleConfiguration::duration_unit } class BillingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Bulk::BillingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::BillingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Bulk::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::BillingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Bulk::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::BillingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -2215,7 +2215,7 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Bulk::BillingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::BillingCycleConfiguration::duration_unit] end end @@ -2249,22 +2249,22 @@ module Orb type invoicing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration::duration_unit } class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -2275,33 +2275,33 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration::duration_unit] end end end type threshold_total_amount = { - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::cadence, item_id: String, model_type: :threshold_total_amount, name: String, threshold_total_amount_config: ::Hash[Symbol, top], billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } class ThresholdTotalAmount < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::cadence + attr_accessor cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::cadence attr_accessor item_id: String @@ -2315,13 +2315,13 @@ module Orb attr_accessor billed_in_advance: bool? - attr_accessor billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration? + attr_accessor billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration? attr_accessor conversion_rate: Float? attr_accessor currency: String? - attr_accessor dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration? + attr_accessor dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration? attr_accessor external_price_id: String? @@ -2329,45 +2329,45 @@ module Orb attr_accessor invoice_grouping_key: String? - attr_accessor invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration? + attr_accessor invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration? attr_accessor metadata: ::Hash[Symbol, String?]? def initialize: ( - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::cadence, item_id: String, name: String, threshold_total_amount_config: ::Hash[Symbol, top], ?billable_metric_id: String?, ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration?, + ?billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration?, ?conversion_rate: Float?, ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration?, + ?dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration?, ?external_price_id: String?, ?fixed_price_quantity: Float?, ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration?, + ?invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration?, ?metadata: ::Hash[Symbol, String?]?, ?model_type: :threshold_total_amount ) -> void def to_hash: -> { - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::cadence, item_id: String, model_type: :threshold_total_amount, name: String, threshold_total_amount_config: ::Hash[Symbol, top], billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } @@ -2389,28 +2389,28 @@ module Orb ONE_TIME: :one_time CUSTOM: :custom - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::cadence] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::cadence] end type billing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::duration_unit } class BillingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -2421,7 +2421,7 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::duration_unit] end end @@ -2455,22 +2455,22 @@ module Orb type invoicing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::duration_unit } class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -2481,33 +2481,33 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::duration_unit] end end end type tiered_package = { - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::cadence, item_id: String, model_type: :tiered_package, name: String, tiered_package_config: ::Hash[Symbol, top], billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } class TieredPackage < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::cadence + attr_accessor cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::cadence attr_accessor item_id: String @@ -2521,13 +2521,13 @@ module Orb attr_accessor billed_in_advance: bool? - attr_accessor billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration? + attr_accessor billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration? attr_accessor conversion_rate: Float? attr_accessor currency: String? - attr_accessor dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::DimensionalPriceConfiguration? + attr_accessor dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::DimensionalPriceConfiguration? attr_accessor external_price_id: String? @@ -2535,45 +2535,45 @@ module Orb attr_accessor invoice_grouping_key: String? - attr_accessor invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration? + attr_accessor invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration? attr_accessor metadata: ::Hash[Symbol, String?]? def initialize: ( - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::cadence, item_id: String, name: String, tiered_package_config: ::Hash[Symbol, top], ?billable_metric_id: String?, ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration?, + ?billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration?, ?conversion_rate: Float?, ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::DimensionalPriceConfiguration?, + ?dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::DimensionalPriceConfiguration?, ?external_price_id: String?, ?fixed_price_quantity: Float?, ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration?, + ?invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration?, ?metadata: ::Hash[Symbol, String?]?, ?model_type: :tiered_package ) -> void def to_hash: -> { - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::cadence, item_id: String, model_type: :tiered_package, name: String, tiered_package_config: ::Hash[Symbol, top], billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } @@ -2595,28 +2595,28 @@ module Orb ONE_TIME: :one_time CUSTOM: :custom - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::cadence] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::cadence] end type billing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration::duration_unit } class BillingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -2627,7 +2627,7 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration::duration_unit] end end @@ -2661,22 +2661,22 @@ module Orb type invoicing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration::duration_unit } class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -2687,33 +2687,33 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration::duration_unit] end end end type tiered_with_minimum = { - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::cadence, item_id: String, model_type: :tiered_with_minimum, name: String, tiered_with_minimum_config: ::Hash[Symbol, top], billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } class TieredWithMinimum < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::cadence + attr_accessor cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::cadence attr_accessor item_id: String @@ -2727,13 +2727,13 @@ module Orb attr_accessor billed_in_advance: bool? - attr_accessor billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration? + attr_accessor billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration? attr_accessor conversion_rate: Float? attr_accessor currency: String? - attr_accessor dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::DimensionalPriceConfiguration? + attr_accessor dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::DimensionalPriceConfiguration? attr_accessor external_price_id: String? @@ -2741,45 +2741,45 @@ module Orb attr_accessor invoice_grouping_key: String? - attr_accessor invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration? + attr_accessor invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration? attr_accessor metadata: ::Hash[Symbol, String?]? def initialize: ( - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::cadence, item_id: String, name: String, tiered_with_minimum_config: ::Hash[Symbol, top], ?billable_metric_id: String?, ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration?, + ?billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration?, ?conversion_rate: Float?, ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::DimensionalPriceConfiguration?, + ?dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::DimensionalPriceConfiguration?, ?external_price_id: String?, ?fixed_price_quantity: Float?, ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration?, + ?invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration?, ?metadata: ::Hash[Symbol, String?]?, ?model_type: :tiered_with_minimum ) -> void def to_hash: -> { - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::cadence, item_id: String, model_type: :tiered_with_minimum, name: String, tiered_with_minimum_config: ::Hash[Symbol, top], billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } @@ -2801,28 +2801,28 @@ module Orb ONE_TIME: :one_time CUSTOM: :custom - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::cadence] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::cadence] end type billing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration::duration_unit } class BillingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -2833,7 +2833,7 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration::duration_unit] end end @@ -2867,22 +2867,22 @@ module Orb type invoicing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::duration_unit } class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -2893,33 +2893,33 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::duration_unit] end end end type unit_with_percent = { - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::cadence, item_id: String, model_type: :unit_with_percent, name: String, unit_with_percent_config: ::Hash[Symbol, top], billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } class UnitWithPercent < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::cadence + attr_accessor cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::cadence attr_accessor item_id: String @@ -2933,13 +2933,13 @@ module Orb attr_accessor billed_in_advance: bool? - attr_accessor billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration? + attr_accessor billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration? attr_accessor conversion_rate: Float? attr_accessor currency: String? - attr_accessor dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::DimensionalPriceConfiguration? + attr_accessor dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::DimensionalPriceConfiguration? attr_accessor external_price_id: String? @@ -2947,45 +2947,45 @@ module Orb attr_accessor invoice_grouping_key: String? - attr_accessor invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration? + attr_accessor invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration? attr_accessor metadata: ::Hash[Symbol, String?]? def initialize: ( - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::cadence, item_id: String, name: String, unit_with_percent_config: ::Hash[Symbol, top], ?billable_metric_id: String?, ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration?, + ?billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration?, ?conversion_rate: Float?, ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::DimensionalPriceConfiguration?, + ?dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::DimensionalPriceConfiguration?, ?external_price_id: String?, ?fixed_price_quantity: Float?, ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration?, + ?invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration?, ?metadata: ::Hash[Symbol, String?]?, ?model_type: :unit_with_percent ) -> void def to_hash: -> { - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::cadence, item_id: String, model_type: :unit_with_percent, name: String, unit_with_percent_config: ::Hash[Symbol, top], billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } @@ -3007,28 +3007,28 @@ module Orb ONE_TIME: :one_time CUSTOM: :custom - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::cadence] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::cadence] end type billing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration::duration_unit } class BillingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -3039,7 +3039,7 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration::duration_unit] end end @@ -3073,22 +3073,22 @@ module Orb type invoicing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration::duration_unit } class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -3099,33 +3099,33 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration::duration_unit] end end end type package_with_allocation = { - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::cadence, item_id: String, model_type: :package_with_allocation, name: String, package_with_allocation_config: ::Hash[Symbol, top], billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } class PackageWithAllocation < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::cadence + attr_accessor cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::cadence attr_accessor item_id: String @@ -3139,13 +3139,13 @@ module Orb attr_accessor billed_in_advance: bool? - attr_accessor billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration? + attr_accessor billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration? attr_accessor conversion_rate: Float? attr_accessor currency: String? - attr_accessor dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::DimensionalPriceConfiguration? + attr_accessor dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::DimensionalPriceConfiguration? attr_accessor external_price_id: String? @@ -3153,45 +3153,45 @@ module Orb attr_accessor invoice_grouping_key: String? - attr_accessor invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration? + attr_accessor invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration? attr_accessor metadata: ::Hash[Symbol, String?]? def initialize: ( - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::cadence, item_id: String, name: String, package_with_allocation_config: ::Hash[Symbol, top], ?billable_metric_id: String?, ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration?, + ?billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration?, ?conversion_rate: Float?, ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::DimensionalPriceConfiguration?, + ?dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::DimensionalPriceConfiguration?, ?external_price_id: String?, ?fixed_price_quantity: Float?, ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration?, + ?invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration?, ?metadata: ::Hash[Symbol, String?]?, ?model_type: :package_with_allocation ) -> void def to_hash: -> { - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::cadence, item_id: String, model_type: :package_with_allocation, name: String, package_with_allocation_config: ::Hash[Symbol, top], billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } @@ -3213,28 +3213,28 @@ module Orb ONE_TIME: :one_time CUSTOM: :custom - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::cadence] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::cadence] end type billing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration::duration_unit } class BillingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -3245,7 +3245,7 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration::duration_unit] end end @@ -3279,22 +3279,22 @@ module Orb type invoicing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::duration_unit } class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -3305,33 +3305,33 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::duration_unit] end end end type tiered_with_proration = { - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::cadence, item_id: String, model_type: :tiered_with_proration, name: String, tiered_with_proration_config: ::Hash[Symbol, top], billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } class TieredWithProration < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::cadence + attr_accessor cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::cadence attr_accessor item_id: String @@ -3345,13 +3345,13 @@ module Orb attr_accessor billed_in_advance: bool? - attr_accessor billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration? + attr_accessor billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration? attr_accessor conversion_rate: Float? attr_accessor currency: String? - attr_accessor dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::DimensionalPriceConfiguration? + attr_accessor dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::DimensionalPriceConfiguration? attr_accessor external_price_id: String? @@ -3359,45 +3359,45 @@ module Orb attr_accessor invoice_grouping_key: String? - attr_accessor invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration? + attr_accessor invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration? attr_accessor metadata: ::Hash[Symbol, String?]? def initialize: ( - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::cadence, item_id: String, name: String, tiered_with_proration_config: ::Hash[Symbol, top], ?billable_metric_id: String?, ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration?, + ?billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration?, ?conversion_rate: Float?, ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::DimensionalPriceConfiguration?, + ?dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::DimensionalPriceConfiguration?, ?external_price_id: String?, ?fixed_price_quantity: Float?, ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration?, + ?invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration?, ?metadata: ::Hash[Symbol, String?]?, ?model_type: :tiered_with_proration ) -> void def to_hash: -> { - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::cadence, item_id: String, model_type: :tiered_with_proration, name: String, tiered_with_proration_config: ::Hash[Symbol, top], billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } @@ -3419,28 +3419,28 @@ module Orb ONE_TIME: :one_time CUSTOM: :custom - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::cadence] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::cadence] end type billing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration::duration_unit } class BillingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -3451,7 +3451,7 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration::duration_unit] end end @@ -3485,22 +3485,22 @@ module Orb type invoicing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration::duration_unit } class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -3511,33 +3511,33 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration::duration_unit] end end end type unit_with_proration = { - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::cadence, item_id: String, model_type: :unit_with_proration, name: String, unit_with_proration_config: ::Hash[Symbol, top], billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } class UnitWithProration < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::cadence + attr_accessor cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::cadence attr_accessor item_id: String @@ -3551,13 +3551,13 @@ module Orb attr_accessor billed_in_advance: bool? - attr_accessor billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration? + attr_accessor billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration? attr_accessor conversion_rate: Float? attr_accessor currency: String? - attr_accessor dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::DimensionalPriceConfiguration? + attr_accessor dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::DimensionalPriceConfiguration? attr_accessor external_price_id: String? @@ -3565,45 +3565,45 @@ module Orb attr_accessor invoice_grouping_key: String? - attr_accessor invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration? + attr_accessor invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration? attr_accessor metadata: ::Hash[Symbol, String?]? def initialize: ( - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::cadence, item_id: String, name: String, unit_with_proration_config: ::Hash[Symbol, top], ?billable_metric_id: String?, ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration?, + ?billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration?, ?conversion_rate: Float?, ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::DimensionalPriceConfiguration?, + ?dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::DimensionalPriceConfiguration?, ?external_price_id: String?, ?fixed_price_quantity: Float?, ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration?, + ?invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration?, ?metadata: ::Hash[Symbol, String?]?, ?model_type: :unit_with_proration ) -> void def to_hash: -> { - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::cadence, item_id: String, model_type: :unit_with_proration, name: String, unit_with_proration_config: ::Hash[Symbol, top], billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } @@ -3625,28 +3625,28 @@ module Orb ONE_TIME: :one_time CUSTOM: :custom - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::cadence] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::cadence] end type billing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration::duration_unit } class BillingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -3657,7 +3657,7 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration::duration_unit] end end @@ -3691,22 +3691,22 @@ module Orb type invoicing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration::duration_unit } class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -3717,33 +3717,33 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration::duration_unit] end end end type grouped_allocation = { - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::cadence, grouped_allocation_config: ::Hash[Symbol, top], item_id: String, model_type: :grouped_allocation, name: String, billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } class GroupedAllocation < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::cadence + attr_accessor cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::cadence attr_accessor grouped_allocation_config: ::Hash[Symbol, top] @@ -3757,13 +3757,13 @@ module Orb attr_accessor billed_in_advance: bool? - attr_accessor billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration? + attr_accessor billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration? attr_accessor conversion_rate: Float? attr_accessor currency: String? - attr_accessor dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::DimensionalPriceConfiguration? + attr_accessor dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::DimensionalPriceConfiguration? attr_accessor external_price_id: String? @@ -3771,45 +3771,45 @@ module Orb attr_accessor invoice_grouping_key: String? - attr_accessor invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration? + attr_accessor invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration? attr_accessor metadata: ::Hash[Symbol, String?]? def initialize: ( - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::cadence, grouped_allocation_config: ::Hash[Symbol, top], item_id: String, name: String, ?billable_metric_id: String?, ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration?, + ?billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration?, ?conversion_rate: Float?, ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::DimensionalPriceConfiguration?, + ?dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::DimensionalPriceConfiguration?, ?external_price_id: String?, ?fixed_price_quantity: Float?, ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration?, + ?invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration?, ?metadata: ::Hash[Symbol, String?]?, ?model_type: :grouped_allocation ) -> void def to_hash: -> { - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::cadence, grouped_allocation_config: ::Hash[Symbol, top], item_id: String, model_type: :grouped_allocation, name: String, billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } @@ -3831,28 +3831,28 @@ module Orb ONE_TIME: :one_time CUSTOM: :custom - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::cadence] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::cadence] end type billing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration::duration_unit } class BillingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -3863,7 +3863,7 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration::duration_unit] end end @@ -3897,22 +3897,22 @@ module Orb type invoicing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration::duration_unit } class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -3923,33 +3923,33 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration::duration_unit] end end end type grouped_with_prorated_minimum = { - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::cadence, grouped_with_prorated_minimum_config: ::Hash[Symbol, top], item_id: String, model_type: :grouped_with_prorated_minimum, name: String, billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } class GroupedWithProratedMinimum < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::cadence + attr_accessor cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::cadence attr_accessor grouped_with_prorated_minimum_config: ::Hash[Symbol, top] @@ -3963,13 +3963,13 @@ module Orb attr_accessor billed_in_advance: bool? - attr_accessor billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration? + attr_accessor billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration? attr_accessor conversion_rate: Float? attr_accessor currency: String? - attr_accessor dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration? + attr_accessor dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration? attr_accessor external_price_id: String? @@ -3977,45 +3977,45 @@ module Orb attr_accessor invoice_grouping_key: String? - attr_accessor invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration? + attr_accessor invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration? attr_accessor metadata: ::Hash[Symbol, String?]? def initialize: ( - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::cadence, grouped_with_prorated_minimum_config: ::Hash[Symbol, top], item_id: String, name: String, ?billable_metric_id: String?, ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration?, + ?billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration?, ?conversion_rate: Float?, ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration?, + ?dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration?, ?external_price_id: String?, ?fixed_price_quantity: Float?, ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration?, + ?invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration?, ?metadata: ::Hash[Symbol, String?]?, ?model_type: :grouped_with_prorated_minimum ) -> void def to_hash: -> { - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::cadence, grouped_with_prorated_minimum_config: ::Hash[Symbol, top], item_id: String, model_type: :grouped_with_prorated_minimum, name: String, billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } @@ -4037,28 +4037,28 @@ module Orb ONE_TIME: :one_time CUSTOM: :custom - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::cadence] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::cadence] end type billing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::duration_unit } class BillingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -4069,7 +4069,7 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::duration_unit] end end @@ -4103,22 +4103,22 @@ module Orb type invoicing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::duration_unit } class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -4129,33 +4129,33 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::duration_unit] end end end type grouped_with_metered_minimum = { - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::cadence, grouped_with_metered_minimum_config: ::Hash[Symbol, top], item_id: String, model_type: :grouped_with_metered_minimum, name: String, billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } class GroupedWithMeteredMinimum < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::cadence + attr_accessor cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::cadence attr_accessor grouped_with_metered_minimum_config: ::Hash[Symbol, top] @@ -4169,13 +4169,13 @@ module Orb attr_accessor billed_in_advance: bool? - attr_accessor billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration? + attr_accessor billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration? attr_accessor conversion_rate: Float? attr_accessor currency: String? - attr_accessor dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration? + attr_accessor dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration? attr_accessor external_price_id: String? @@ -4183,45 +4183,45 @@ module Orb attr_accessor invoice_grouping_key: String? - attr_accessor invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration? + attr_accessor invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration? attr_accessor metadata: ::Hash[Symbol, String?]? def initialize: ( - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::cadence, grouped_with_metered_minimum_config: ::Hash[Symbol, top], item_id: String, name: String, ?billable_metric_id: String?, ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration?, + ?billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration?, ?conversion_rate: Float?, ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration?, + ?dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration?, ?external_price_id: String?, ?fixed_price_quantity: Float?, ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration?, + ?invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration?, ?metadata: ::Hash[Symbol, String?]?, ?model_type: :grouped_with_metered_minimum ) -> void def to_hash: -> { - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::cadence, grouped_with_metered_minimum_config: ::Hash[Symbol, top], item_id: String, model_type: :grouped_with_metered_minimum, name: String, billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } @@ -4243,28 +4243,28 @@ module Orb ONE_TIME: :one_time CUSTOM: :custom - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::cadence] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::cadence] end type billing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::duration_unit } class BillingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -4275,7 +4275,7 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::duration_unit] end end @@ -4309,22 +4309,22 @@ module Orb type invoicing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::duration_unit } class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -4335,33 +4335,33 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::duration_unit] end end end type matrix_with_display_name = { - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::cadence, item_id: String, matrix_with_display_name_config: ::Hash[Symbol, top], model_type: :matrix_with_display_name, name: String, billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } class MatrixWithDisplayName < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::cadence + attr_accessor cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::cadence attr_accessor item_id: String @@ -4375,13 +4375,13 @@ module Orb attr_accessor billed_in_advance: bool? - attr_accessor billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration? + attr_accessor billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration? attr_accessor conversion_rate: Float? attr_accessor currency: String? - attr_accessor dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration? + attr_accessor dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration? attr_accessor external_price_id: String? @@ -4389,45 +4389,45 @@ module Orb attr_accessor invoice_grouping_key: String? - attr_accessor invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration? + attr_accessor invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration? attr_accessor metadata: ::Hash[Symbol, String?]? def initialize: ( - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::cadence, item_id: String, matrix_with_display_name_config: ::Hash[Symbol, top], name: String, ?billable_metric_id: String?, ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration?, + ?billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration?, ?conversion_rate: Float?, ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration?, + ?dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration?, ?external_price_id: String?, ?fixed_price_quantity: Float?, ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration?, + ?invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration?, ?metadata: ::Hash[Symbol, String?]?, ?model_type: :matrix_with_display_name ) -> void def to_hash: -> { - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::cadence, item_id: String, matrix_with_display_name_config: ::Hash[Symbol, top], model_type: :matrix_with_display_name, name: String, billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } @@ -4449,28 +4449,28 @@ module Orb ONE_TIME: :one_time CUSTOM: :custom - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::cadence] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::cadence] end type billing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::duration_unit } class BillingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -4481,7 +4481,7 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::duration_unit] end end @@ -4515,22 +4515,22 @@ module Orb type invoicing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::duration_unit } class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -4541,7 +4541,7 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::duration_unit] end end end @@ -4549,27 +4549,27 @@ module Orb type bulk_with_proration = { bulk_with_proration_config: ::Hash[Symbol, top], - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::cadence, item_id: String, model_type: :bulk_with_proration, name: String, billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } class BulkWithProration < Orb::Internal::Type::BaseModel attr_accessor bulk_with_proration_config: ::Hash[Symbol, top] - attr_accessor cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::cadence + attr_accessor cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::cadence attr_accessor item_id: String @@ -4581,13 +4581,13 @@ module Orb attr_accessor billed_in_advance: bool? - attr_accessor billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration? + attr_accessor billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration? attr_accessor conversion_rate: Float? attr_accessor currency: String? - attr_accessor dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::DimensionalPriceConfiguration? + attr_accessor dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::DimensionalPriceConfiguration? attr_accessor external_price_id: String? @@ -4595,45 +4595,45 @@ module Orb attr_accessor invoice_grouping_key: String? - attr_accessor invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration? + attr_accessor invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration? attr_accessor metadata: ::Hash[Symbol, String?]? def initialize: ( bulk_with_proration_config: ::Hash[Symbol, top], - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::cadence, item_id: String, name: String, ?billable_metric_id: String?, ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration?, + ?billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration?, ?conversion_rate: Float?, ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::DimensionalPriceConfiguration?, + ?dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::DimensionalPriceConfiguration?, ?external_price_id: String?, ?fixed_price_quantity: Float?, ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration?, + ?invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration?, ?metadata: ::Hash[Symbol, String?]?, ?model_type: :bulk_with_proration ) -> void def to_hash: -> { bulk_with_proration_config: ::Hash[Symbol, top], - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::cadence, item_id: String, model_type: :bulk_with_proration, name: String, billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } @@ -4655,28 +4655,28 @@ module Orb ONE_TIME: :one_time CUSTOM: :custom - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::cadence] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::cadence] end type billing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration::duration_unit } class BillingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -4687,7 +4687,7 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration::duration_unit] end end @@ -4721,22 +4721,22 @@ module Orb type invoicing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration::duration_unit } class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -4747,33 +4747,33 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration::duration_unit] end end end type grouped_tiered_package = { - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::cadence, grouped_tiered_package_config: ::Hash[Symbol, top], item_id: String, model_type: :grouped_tiered_package, name: String, billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } class GroupedTieredPackage < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::cadence + attr_accessor cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::cadence attr_accessor grouped_tiered_package_config: ::Hash[Symbol, top] @@ -4787,13 +4787,13 @@ module Orb attr_accessor billed_in_advance: bool? - attr_accessor billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration? + attr_accessor billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration? attr_accessor conversion_rate: Float? attr_accessor currency: String? - attr_accessor dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration? + attr_accessor dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration? attr_accessor external_price_id: String? @@ -4801,45 +4801,45 @@ module Orb attr_accessor invoice_grouping_key: String? - attr_accessor invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration? + attr_accessor invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration? attr_accessor metadata: ::Hash[Symbol, String?]? def initialize: ( - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::cadence, grouped_tiered_package_config: ::Hash[Symbol, top], item_id: String, name: String, ?billable_metric_id: String?, ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration?, + ?billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration?, ?conversion_rate: Float?, ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration?, + ?dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration?, ?external_price_id: String?, ?fixed_price_quantity: Float?, ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration?, + ?invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration?, ?metadata: ::Hash[Symbol, String?]?, ?model_type: :grouped_tiered_package ) -> void def to_hash: -> { - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::cadence, grouped_tiered_package_config: ::Hash[Symbol, top], item_id: String, model_type: :grouped_tiered_package, name: String, billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } @@ -4861,28 +4861,28 @@ module Orb ONE_TIME: :one_time CUSTOM: :custom - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::cadence] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::cadence] end type billing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration::duration_unit } class BillingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -4893,7 +4893,7 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration::duration_unit] end end @@ -4927,22 +4927,22 @@ module Orb type invoicing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::duration_unit } class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -4953,33 +4953,33 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::duration_unit] end end end type max_group_tiered_package = { - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::cadence, item_id: String, max_group_tiered_package_config: ::Hash[Symbol, top], model_type: :max_group_tiered_package, name: String, billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } class MaxGroupTieredPackage < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::cadence + attr_accessor cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::cadence attr_accessor item_id: String @@ -4993,13 +4993,13 @@ module Orb attr_accessor billed_in_advance: bool? - attr_accessor billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration? + attr_accessor billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration? attr_accessor conversion_rate: Float? attr_accessor currency: String? - attr_accessor dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration? + attr_accessor dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration? attr_accessor external_price_id: String? @@ -5007,45 +5007,45 @@ module Orb attr_accessor invoice_grouping_key: String? - attr_accessor invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration? + attr_accessor invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration? attr_accessor metadata: ::Hash[Symbol, String?]? def initialize: ( - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::cadence, item_id: String, max_group_tiered_package_config: ::Hash[Symbol, top], name: String, ?billable_metric_id: String?, ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration?, + ?billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration?, ?conversion_rate: Float?, ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration?, + ?dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration?, ?external_price_id: String?, ?fixed_price_quantity: Float?, ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration?, + ?invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration?, ?metadata: ::Hash[Symbol, String?]?, ?model_type: :max_group_tiered_package ) -> void def to_hash: -> { - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::cadence, item_id: String, max_group_tiered_package_config: ::Hash[Symbol, top], model_type: :max_group_tiered_package, name: String, billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } @@ -5067,28 +5067,28 @@ module Orb ONE_TIME: :one_time CUSTOM: :custom - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::cadence] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::cadence] end type billing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::duration_unit } class BillingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -5099,7 +5099,7 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::duration_unit] end end @@ -5133,22 +5133,22 @@ module Orb type invoicing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::duration_unit } class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -5159,33 +5159,33 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::duration_unit] end end end type scalable_matrix_with_unit_pricing = { - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::cadence, item_id: String, model_type: :scalable_matrix_with_unit_pricing, name: String, scalable_matrix_with_unit_pricing_config: ::Hash[Symbol, top], billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } class ScalableMatrixWithUnitPricing < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::cadence + attr_accessor cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::cadence attr_accessor item_id: String @@ -5199,13 +5199,13 @@ module Orb attr_accessor billed_in_advance: bool? - attr_accessor billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration? + attr_accessor billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration? attr_accessor conversion_rate: Float? attr_accessor currency: String? - attr_accessor dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration? + attr_accessor dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration? attr_accessor external_price_id: String? @@ -5213,45 +5213,45 @@ module Orb attr_accessor invoice_grouping_key: String? - attr_accessor invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration? + attr_accessor invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration? attr_accessor metadata: ::Hash[Symbol, String?]? def initialize: ( - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::cadence, item_id: String, name: String, scalable_matrix_with_unit_pricing_config: ::Hash[Symbol, top], ?billable_metric_id: String?, ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration?, + ?billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration?, ?conversion_rate: Float?, ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration?, + ?dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration?, ?external_price_id: String?, ?fixed_price_quantity: Float?, ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration?, + ?invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration?, ?metadata: ::Hash[Symbol, String?]?, ?model_type: :scalable_matrix_with_unit_pricing ) -> void def to_hash: -> { - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::cadence, item_id: String, model_type: :scalable_matrix_with_unit_pricing, name: String, scalable_matrix_with_unit_pricing_config: ::Hash[Symbol, top], billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } @@ -5273,28 +5273,28 @@ module Orb ONE_TIME: :one_time CUSTOM: :custom - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::cadence] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::cadence] end type billing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::duration_unit } class BillingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -5305,7 +5305,7 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::duration_unit] end end @@ -5339,22 +5339,22 @@ module Orb type invoicing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::duration_unit } class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -5365,33 +5365,33 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::duration_unit] end end end type scalable_matrix_with_tiered_pricing = { - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::cadence, item_id: String, model_type: :scalable_matrix_with_tiered_pricing, name: String, scalable_matrix_with_tiered_pricing_config: ::Hash[Symbol, top], billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } class ScalableMatrixWithTieredPricing < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::cadence + attr_accessor cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::cadence attr_accessor item_id: String @@ -5405,13 +5405,13 @@ module Orb attr_accessor billed_in_advance: bool? - attr_accessor billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration? + attr_accessor billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration? attr_accessor conversion_rate: Float? attr_accessor currency: String? - attr_accessor dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration? + attr_accessor dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration? attr_accessor external_price_id: String? @@ -5419,45 +5419,45 @@ module Orb attr_accessor invoice_grouping_key: String? - attr_accessor invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration? + attr_accessor invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration? attr_accessor metadata: ::Hash[Symbol, String?]? def initialize: ( - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::cadence, item_id: String, name: String, scalable_matrix_with_tiered_pricing_config: ::Hash[Symbol, top], ?billable_metric_id: String?, ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration?, + ?billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration?, ?conversion_rate: Float?, ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration?, + ?dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration?, ?external_price_id: String?, ?fixed_price_quantity: Float?, ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration?, + ?invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration?, ?metadata: ::Hash[Symbol, String?]?, ?model_type: :scalable_matrix_with_tiered_pricing ) -> void def to_hash: -> { - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::cadence, item_id: String, model_type: :scalable_matrix_with_tiered_pricing, name: String, scalable_matrix_with_tiered_pricing_config: ::Hash[Symbol, top], billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } @@ -5479,28 +5479,28 @@ module Orb ONE_TIME: :one_time CUSTOM: :custom - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::cadence] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::cadence] end type billing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::duration_unit } class BillingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -5511,7 +5511,7 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::duration_unit] end end @@ -5545,22 +5545,22 @@ module Orb type invoicing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::duration_unit } class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -5571,33 +5571,33 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::duration_unit] end end end type cumulative_grouped_bulk = { - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::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::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } class CumulativeGroupedBulk < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::cadence + attr_accessor cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::cadence attr_accessor cumulative_grouped_bulk_config: ::Hash[Symbol, top] @@ -5611,13 +5611,13 @@ module Orb attr_accessor billed_in_advance: bool? - attr_accessor billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration? + attr_accessor billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration? attr_accessor conversion_rate: Float? attr_accessor currency: String? - attr_accessor dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration? + attr_accessor dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration? attr_accessor external_price_id: String? @@ -5625,45 +5625,45 @@ module Orb attr_accessor invoice_grouping_key: String? - attr_accessor invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration? + attr_accessor invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration? attr_accessor metadata: ::Hash[Symbol, String?]? def initialize: ( - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::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::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration?, + ?billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration?, ?conversion_rate: Float?, ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration?, + ?dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration?, ?external_price_id: String?, ?fixed_price_quantity: Float?, ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration?, + ?invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration?, ?metadata: ::Hash[Symbol, String?]?, ?model_type: :cumulative_grouped_bulk ) -> void def to_hash: -> { - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::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::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } @@ -5685,28 +5685,28 @@ module Orb ONE_TIME: :one_time CUSTOM: :custom - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::cadence] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::cadence] end type billing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::duration_unit } class BillingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -5717,7 +5717,7 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::duration_unit] end end @@ -5751,22 +5751,22 @@ module Orb type invoicing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::duration_unit } class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -5777,33 +5777,33 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::duration_unit] end end end type tiered_package_with_minimum = { - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::cadence, item_id: String, model_type: :tiered_package_with_minimum, name: String, tiered_package_with_minimum_config: ::Hash[Symbol, top], billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } class TieredPackageWithMinimum < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::cadence + attr_accessor cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::cadence attr_accessor item_id: String @@ -5817,13 +5817,13 @@ module Orb attr_accessor billed_in_advance: bool? - attr_accessor billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration? + attr_accessor billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration? attr_accessor conversion_rate: Float? attr_accessor currency: String? - attr_accessor dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration? + attr_accessor dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration? attr_accessor external_price_id: String? @@ -5831,45 +5831,45 @@ module Orb attr_accessor invoice_grouping_key: String? - attr_accessor invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration? + attr_accessor invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration? attr_accessor metadata: ::Hash[Symbol, String?]? def initialize: ( - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::cadence, item_id: String, name: String, tiered_package_with_minimum_config: ::Hash[Symbol, top], ?billable_metric_id: String?, ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration?, + ?billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration?, ?conversion_rate: Float?, ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration?, + ?dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration?, ?external_price_id: String?, ?fixed_price_quantity: Float?, ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration?, + ?invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration?, ?metadata: ::Hash[Symbol, String?]?, ?model_type: :tiered_package_with_minimum ) -> void def to_hash: -> { - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::cadence, item_id: String, model_type: :tiered_package_with_minimum, name: String, tiered_package_with_minimum_config: ::Hash[Symbol, top], billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } @@ -5891,28 +5891,28 @@ module Orb ONE_TIME: :one_time CUSTOM: :custom - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::cadence] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::cadence] end type billing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::duration_unit } class BillingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -5923,7 +5923,7 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::duration_unit] end end @@ -5957,22 +5957,22 @@ module Orb type invoicing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::duration_unit } class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -5983,37 +5983,37 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::duration_unit] end end end type matrix_with_allocation = { - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::cadence, item_id: String, - matrix_with_allocation_config: Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig, + matrix_with_allocation_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig, model_type: :matrix_with_allocation, name: String, billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } class MatrixWithAllocation < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::cadence + attr_accessor cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::cadence attr_accessor item_id: String - attr_accessor matrix_with_allocation_config: Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig + attr_accessor matrix_with_allocation_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig attr_accessor model_type: :matrix_with_allocation @@ -6023,13 +6023,13 @@ module Orb attr_accessor billed_in_advance: bool? - attr_accessor billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration? + attr_accessor billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration? attr_accessor conversion_rate: Float? attr_accessor currency: String? - attr_accessor dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration? + attr_accessor dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration? attr_accessor external_price_id: String? @@ -6037,45 +6037,45 @@ module Orb attr_accessor invoice_grouping_key: String? - attr_accessor invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration? + attr_accessor invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration? attr_accessor metadata: ::Hash[Symbol, String?]? def initialize: ( - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::cadence, item_id: String, - matrix_with_allocation_config: Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig, + matrix_with_allocation_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig, name: String, ?billable_metric_id: String?, ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration?, + ?billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration?, ?conversion_rate: Float?, ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration?, + ?dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration?, ?external_price_id: String?, ?fixed_price_quantity: Float?, ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration?, + ?invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration?, ?metadata: ::Hash[Symbol, String?]?, ?model_type: :matrix_with_allocation ) -> void def to_hash: -> { - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::cadence, item_id: String, - matrix_with_allocation_config: Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig, + matrix_with_allocation_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig, model_type: :matrix_with_allocation, name: String, billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } @@ -6097,7 +6097,7 @@ module Orb ONE_TIME: :one_time CUSTOM: :custom - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::cadence] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::cadence] end type matrix_with_allocation_config = @@ -6105,7 +6105,7 @@ module Orb allocation: Float, default_unit_amount: String, dimensions: ::Array[String?], - matrix_values: ::Array[Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue] + matrix_values: ::Array[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue] } class MatrixWithAllocationConfig < Orb::Internal::Type::BaseModel @@ -6115,20 +6115,20 @@ module Orb attr_accessor dimensions: ::Array[String?] - attr_accessor matrix_values: ::Array[Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue] + attr_accessor matrix_values: ::Array[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue] def initialize: ( allocation: Float, default_unit_amount: String, dimensions: ::Array[String?], - matrix_values: ::Array[Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue] + matrix_values: ::Array[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue] ) -> void def to_hash: -> { allocation: Float, default_unit_amount: String, dimensions: ::Array[String?], - matrix_values: ::Array[Orb::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue] + matrix_values: ::Array[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue] } type matrix_value = @@ -6154,22 +6154,22 @@ module Orb type billing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration::duration_unit } class BillingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -6180,7 +6180,7 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration::duration_unit] end end @@ -6214,22 +6214,22 @@ module Orb type invoicing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::duration_unit } class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -6240,33 +6240,33 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::duration_unit] end end end type grouped_tiered = { - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::cadence, grouped_tiered_config: ::Hash[Symbol, top], item_id: String, model_type: :grouped_tiered, name: String, billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } class GroupedTiered < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::cadence + attr_accessor cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::cadence attr_accessor grouped_tiered_config: ::Hash[Symbol, top] @@ -6280,13 +6280,13 @@ module Orb attr_accessor billed_in_advance: bool? - attr_accessor billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration? + attr_accessor billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration? attr_accessor conversion_rate: Float? attr_accessor currency: String? - attr_accessor dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::DimensionalPriceConfiguration? + attr_accessor dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::DimensionalPriceConfiguration? attr_accessor external_price_id: String? @@ -6294,45 +6294,45 @@ module Orb attr_accessor invoice_grouping_key: String? - attr_accessor invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration? + attr_accessor invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration? attr_accessor metadata: ::Hash[Symbol, String?]? def initialize: ( - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::cadence, grouped_tiered_config: ::Hash[Symbol, top], item_id: String, name: String, ?billable_metric_id: String?, ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration?, + ?billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration?, ?conversion_rate: Float?, ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::DimensionalPriceConfiguration?, + ?dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::DimensionalPriceConfiguration?, ?external_price_id: String?, ?fixed_price_quantity: Float?, ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration?, + ?invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration?, ?metadata: ::Hash[Symbol, String?]?, ?model_type: :grouped_tiered ) -> void def to_hash: -> { - cadence: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::cadence, grouped_tiered_config: ::Hash[Symbol, top], item_id: String, model_type: :grouped_tiered, name: String, billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } @@ -6354,28 +6354,28 @@ module Orb ONE_TIME: :one_time CUSTOM: :custom - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::cadence] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::cadence] end type billing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration::duration_unit } class BillingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -6386,7 +6386,7 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration::duration_unit] end end @@ -6420,22 +6420,22 @@ module Orb type invoicing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration::duration_unit } class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -6446,12 +6446,12 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration::duration_unit] end end end - def self?.variants: -> ::Array[Orb::Models::Plans::VersionCreateParams::AddPrice::price] + def self?.variants: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::price] end end @@ -6488,36 +6488,36 @@ module Orb type replace_adjustment = { - adjustment: Orb::Models::Plans::VersionCreateParams::ReplaceAdjustment::adjustment, + adjustment: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplaceAdjustment::adjustment, replaces_adjustment_id: String, plan_phase_order: Integer? } class ReplaceAdjustment < Orb::Internal::Type::BaseModel - attr_accessor adjustment: Orb::Models::Plans::VersionCreateParams::ReplaceAdjustment::adjustment + attr_accessor adjustment: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplaceAdjustment::adjustment attr_accessor replaces_adjustment_id: String attr_accessor plan_phase_order: Integer? def initialize: ( - adjustment: Orb::Models::Plans::VersionCreateParams::ReplaceAdjustment::adjustment, + adjustment: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplaceAdjustment::adjustment, replaces_adjustment_id: String, ?plan_phase_order: Integer? ) -> void def to_hash: -> { - adjustment: Orb::Models::Plans::VersionCreateParams::ReplaceAdjustment::adjustment, + adjustment: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplaceAdjustment::adjustment, replaces_adjustment_id: String, plan_phase_order: Integer? } type adjustment = - Orb::Plans::VersionCreateParams::ReplaceAdjustment::Adjustment::PercentageDiscount - | Orb::Plans::VersionCreateParams::ReplaceAdjustment::Adjustment::UsageDiscount - | Orb::Plans::VersionCreateParams::ReplaceAdjustment::Adjustment::AmountDiscount - | Orb::Plans::VersionCreateParams::ReplaceAdjustment::Adjustment::Minimum - | Orb::Plans::VersionCreateParams::ReplaceAdjustment::Adjustment::Maximum + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplaceAdjustment::Adjustment::PercentageDiscount + | Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplaceAdjustment::Adjustment::UsageDiscount + | Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplaceAdjustment::Adjustment::AmountDiscount + | Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplaceAdjustment::Adjustment::Minimum + | Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplaceAdjustment::Adjustment::Maximum module Adjustment extend Orb::Internal::Type::Union @@ -6697,45 +6697,45 @@ module Orb } end - def self?.variants: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplaceAdjustment::adjustment] + def self?.variants: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplaceAdjustment::adjustment] end end type replace_price = { replaces_price_id: String, - allocation_price: Orb::Plans::VersionCreateParams::ReplacePrice::AllocationPrice?, + allocation_price: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::AllocationPrice?, plan_phase_order: Integer?, - price: Orb::Models::Plans::VersionCreateParams::ReplacePrice::price? + price: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::price? } class ReplacePrice < Orb::Internal::Type::BaseModel attr_accessor replaces_price_id: String - attr_accessor allocation_price: Orb::Plans::VersionCreateParams::ReplacePrice::AllocationPrice? + attr_accessor allocation_price: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::AllocationPrice? attr_accessor plan_phase_order: Integer? - attr_accessor price: Orb::Models::Plans::VersionCreateParams::ReplacePrice::price? + attr_accessor price: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::price? def initialize: ( replaces_price_id: String, - ?allocation_price: Orb::Plans::VersionCreateParams::ReplacePrice::AllocationPrice?, + ?allocation_price: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::AllocationPrice?, ?plan_phase_order: Integer?, - ?price: Orb::Models::Plans::VersionCreateParams::ReplacePrice::price? + ?price: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::price? ) -> void def to_hash: -> { replaces_price_id: String, - allocation_price: Orb::Plans::VersionCreateParams::ReplacePrice::AllocationPrice?, + allocation_price: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::AllocationPrice?, plan_phase_order: Integer?, - price: Orb::Models::Plans::VersionCreateParams::ReplacePrice::price? + price: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::price? } type allocation_price = { amount: String, - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::AllocationPrice::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::AllocationPrice::cadence, currency: String, expires_at_end_of_cadence: bool } @@ -6743,7 +6743,7 @@ module Orb class AllocationPrice < Orb::Internal::Type::BaseModel attr_accessor amount: String - attr_accessor cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::AllocationPrice::cadence + attr_accessor cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::AllocationPrice::cadence attr_accessor currency: String @@ -6751,14 +6751,14 @@ module Orb def initialize: ( amount: String, - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::AllocationPrice::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::AllocationPrice::cadence, currency: String, expires_at_end_of_cadence: bool ) -> void def to_hash: -> { amount: String, - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::AllocationPrice::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::AllocationPrice::cadence, currency: String, expires_at_end_of_cadence: bool } @@ -6781,65 +6781,65 @@ module Orb ANNUAL: :annual CUSTOM: :custom - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplacePrice::AllocationPrice::cadence] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::AllocationPrice::cadence] end end type price = - Orb::Plans::VersionCreateParams::ReplacePrice::Price::Unit - | Orb::Plans::VersionCreateParams::ReplacePrice::Price::Package - | Orb::Plans::VersionCreateParams::ReplacePrice::Price::Matrix - | Orb::Plans::VersionCreateParams::ReplacePrice::Price::Tiered - | Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps - | Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bps - | Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps - | Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bulk - | Orb::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount - | Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage - | Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum - | Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent - | Orb::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation - | Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration - | Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration - | Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation - | Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum - | Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum - | Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName - | Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration - | Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage - | Orb::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage - | Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing - | Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing - | Orb::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk - | Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum - | Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation - | Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit + | Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package + | Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix + | Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered + | Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps + | Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps + | Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps + | Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk + | Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount + | Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage + | Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum + | Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent + | Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation + | Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration + | Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration + | Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation + | Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum + | Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum + | Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName + | Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration + | Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage + | Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage + | Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing + | Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing + | Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk + | Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum + | Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation + | Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered module Price extend Orb::Internal::Type::Union type unit = { - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Unit::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::cadence, item_id: String, model_type: :unit, name: String, - unit_config: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Unit::UnitConfig, + unit_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::UnitConfig, billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Unit::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Unit::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } class Unit < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Unit::cadence + attr_accessor cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::cadence attr_accessor item_id: String @@ -6847,19 +6847,19 @@ module Orb attr_accessor name: String - attr_accessor unit_config: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Unit::UnitConfig + attr_accessor unit_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::UnitConfig attr_accessor billable_metric_id: String? attr_accessor billed_in_advance: bool? - attr_accessor billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Unit::BillingCycleConfiguration? + attr_accessor billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::BillingCycleConfiguration? attr_accessor conversion_rate: Float? attr_accessor currency: String? - attr_accessor dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Unit::DimensionalPriceConfiguration? + attr_accessor dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::DimensionalPriceConfiguration? attr_accessor external_price_id: String? @@ -6867,45 +6867,45 @@ module Orb attr_accessor invoice_grouping_key: String? - attr_accessor invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration? + attr_accessor invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration? attr_accessor metadata: ::Hash[Symbol, String?]? def initialize: ( - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Unit::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::cadence, item_id: String, name: String, - unit_config: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Unit::UnitConfig, + unit_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::UnitConfig, ?billable_metric_id: String?, ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Unit::BillingCycleConfiguration?, + ?billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::BillingCycleConfiguration?, ?conversion_rate: Float?, ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Unit::DimensionalPriceConfiguration?, + ?dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::DimensionalPriceConfiguration?, ?external_price_id: String?, ?fixed_price_quantity: Float?, ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration?, + ?invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration?, ?metadata: ::Hash[Symbol, String?]?, ?model_type: :unit ) -> void def to_hash: -> { - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Unit::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::cadence, item_id: String, model_type: :unit, name: String, - unit_config: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Unit::UnitConfig, + unit_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::UnitConfig, billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Unit::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Unit::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } @@ -6927,7 +6927,7 @@ module Orb ONE_TIME: :one_time CUSTOM: :custom - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Unit::cadence] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::cadence] end type unit_config = { unit_amount: String } @@ -6943,22 +6943,22 @@ module Orb type billing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Unit::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::BillingCycleConfiguration::duration_unit } class BillingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Unit::BillingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::BillingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Unit::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::BillingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Unit::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::BillingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -6969,7 +6969,7 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Unit::BillingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::BillingCycleConfiguration::duration_unit] end end @@ -7003,22 +7003,22 @@ module Orb type invoicing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration::duration_unit } class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -7029,33 +7029,33 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration::duration_unit] end end end type package = { - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Package::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::cadence, item_id: String, model_type: :package, name: String, - package_config: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Package::PackageConfig, + package_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::PackageConfig, billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Package::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Package::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } class Package < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Package::cadence + attr_accessor cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::cadence attr_accessor item_id: String @@ -7063,19 +7063,19 @@ module Orb attr_accessor name: String - attr_accessor package_config: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Package::PackageConfig + attr_accessor package_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::PackageConfig attr_accessor billable_metric_id: String? attr_accessor billed_in_advance: bool? - attr_accessor billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Package::BillingCycleConfiguration? + attr_accessor billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::BillingCycleConfiguration? attr_accessor conversion_rate: Float? attr_accessor currency: String? - attr_accessor dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Package::DimensionalPriceConfiguration? + attr_accessor dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::DimensionalPriceConfiguration? attr_accessor external_price_id: String? @@ -7083,45 +7083,45 @@ module Orb attr_accessor invoice_grouping_key: String? - attr_accessor invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration? + attr_accessor invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration? attr_accessor metadata: ::Hash[Symbol, String?]? def initialize: ( - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Package::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::cadence, item_id: String, name: String, - package_config: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Package::PackageConfig, + package_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::PackageConfig, ?billable_metric_id: String?, ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Package::BillingCycleConfiguration?, + ?billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::BillingCycleConfiguration?, ?conversion_rate: Float?, ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Package::DimensionalPriceConfiguration?, + ?dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::DimensionalPriceConfiguration?, ?external_price_id: String?, ?fixed_price_quantity: Float?, ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration?, + ?invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration?, ?metadata: ::Hash[Symbol, String?]?, ?model_type: :package ) -> void def to_hash: -> { - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Package::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::cadence, item_id: String, model_type: :package, name: String, - package_config: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Package::PackageConfig, + package_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::PackageConfig, billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Package::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Package::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } @@ -7143,7 +7143,7 @@ module Orb ONE_TIME: :one_time CUSTOM: :custom - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Package::cadence] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::cadence] end type package_config = @@ -7168,22 +7168,22 @@ module Orb type billing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Package::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::BillingCycleConfiguration::duration_unit } class BillingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Package::BillingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::BillingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Package::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::BillingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Package::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::BillingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -7194,7 +7194,7 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Package::BillingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::BillingCycleConfiguration::duration_unit] end end @@ -7228,22 +7228,22 @@ module Orb type invoicing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration::duration_unit } class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -7254,37 +7254,37 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration::duration_unit] end end end type matrix = { - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::cadence, item_id: String, - matrix_config: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::MatrixConfig, + matrix_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::MatrixConfig, model_type: :matrix, name: String, billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } class Matrix < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::cadence + attr_accessor cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::cadence attr_accessor item_id: String - attr_accessor matrix_config: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::MatrixConfig + attr_accessor matrix_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::MatrixConfig attr_accessor model_type: :matrix @@ -7294,13 +7294,13 @@ module Orb attr_accessor billed_in_advance: bool? - attr_accessor billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration? + attr_accessor billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration? attr_accessor conversion_rate: Float? attr_accessor currency: String? - attr_accessor dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::DimensionalPriceConfiguration? + attr_accessor dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::DimensionalPriceConfiguration? attr_accessor external_price_id: String? @@ -7308,45 +7308,45 @@ module Orb attr_accessor invoice_grouping_key: String? - attr_accessor invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration? + attr_accessor invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration? attr_accessor metadata: ::Hash[Symbol, String?]? def initialize: ( - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::cadence, item_id: String, - matrix_config: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::MatrixConfig, + matrix_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::MatrixConfig, name: String, ?billable_metric_id: String?, ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration?, + ?billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration?, ?conversion_rate: Float?, ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::DimensionalPriceConfiguration?, + ?dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::DimensionalPriceConfiguration?, ?external_price_id: String?, ?fixed_price_quantity: Float?, ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration?, + ?invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration?, ?metadata: ::Hash[Symbol, String?]?, ?model_type: :matrix ) -> void def to_hash: -> { - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::cadence, item_id: String, - matrix_config: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::MatrixConfig, + matrix_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::MatrixConfig, model_type: :matrix, name: String, billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } @@ -7368,14 +7368,14 @@ module Orb ONE_TIME: :one_time CUSTOM: :custom - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::cadence] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::cadence] end type matrix_config = { default_unit_amount: String, dimensions: ::Array[String?], - matrix_values: ::Array[Orb::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::MatrixConfig::MatrixValue] + matrix_values: ::Array[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::MatrixConfig::MatrixValue] } class MatrixConfig < Orb::Internal::Type::BaseModel @@ -7383,18 +7383,18 @@ module Orb attr_accessor dimensions: ::Array[String?] - attr_accessor matrix_values: ::Array[Orb::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::MatrixConfig::MatrixValue] + attr_accessor matrix_values: ::Array[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::MatrixConfig::MatrixValue] def initialize: ( default_unit_amount: String, dimensions: ::Array[String?], - matrix_values: ::Array[Orb::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::MatrixConfig::MatrixValue] + matrix_values: ::Array[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::MatrixConfig::MatrixValue] ) -> void def to_hash: -> { default_unit_amount: String, dimensions: ::Array[String?], - matrix_values: ::Array[Orb::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::MatrixConfig::MatrixValue] + matrix_values: ::Array[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::MatrixConfig::MatrixValue] } type matrix_value = @@ -7420,22 +7420,22 @@ module Orb type billing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration::duration_unit } class BillingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -7446,7 +7446,7 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration::duration_unit] end end @@ -7480,22 +7480,22 @@ module Orb type invoicing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration::duration_unit } class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -7506,33 +7506,33 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration::duration_unit] end end end type tiered = { - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::cadence, item_id: String, model_type: :tiered, name: String, - tiered_config: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::TieredConfig, + tiered_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::TieredConfig, billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } class Tiered < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::cadence + attr_accessor cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::cadence attr_accessor item_id: String @@ -7540,19 +7540,19 @@ module Orb attr_accessor name: String - attr_accessor tiered_config: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::TieredConfig + attr_accessor tiered_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::TieredConfig attr_accessor billable_metric_id: String? attr_accessor billed_in_advance: bool? - attr_accessor billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration? + attr_accessor billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration? attr_accessor conversion_rate: Float? attr_accessor currency: String? - attr_accessor dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::DimensionalPriceConfiguration? + attr_accessor dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::DimensionalPriceConfiguration? attr_accessor external_price_id: String? @@ -7560,45 +7560,45 @@ module Orb attr_accessor invoice_grouping_key: String? - attr_accessor invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration? + attr_accessor invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration? attr_accessor metadata: ::Hash[Symbol, String?]? def initialize: ( - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::cadence, item_id: String, name: String, - tiered_config: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::TieredConfig, + tiered_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::TieredConfig, ?billable_metric_id: String?, ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration?, + ?billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration?, ?conversion_rate: Float?, ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::DimensionalPriceConfiguration?, + ?dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::DimensionalPriceConfiguration?, ?external_price_id: String?, ?fixed_price_quantity: Float?, ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration?, + ?invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration?, ?metadata: ::Hash[Symbol, String?]?, ?model_type: :tiered ) -> void def to_hash: -> { - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::cadence, item_id: String, model_type: :tiered, name: String, - tiered_config: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::TieredConfig, + tiered_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::TieredConfig, billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } @@ -7620,23 +7620,23 @@ module Orb ONE_TIME: :one_time CUSTOM: :custom - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::cadence] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::cadence] end type tiered_config = { - tiers: ::Array[Orb::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::TieredConfig::Tier] + tiers: ::Array[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::TieredConfig::Tier] } class TieredConfig < Orb::Internal::Type::BaseModel - attr_accessor tiers: ::Array[Orb::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::TieredConfig::Tier] + attr_accessor tiers: ::Array[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::TieredConfig::Tier] def initialize: ( - tiers: ::Array[Orb::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::TieredConfig::Tier] + tiers: ::Array[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::TieredConfig::Tier] ) -> void def to_hash: -> { - tiers: ::Array[Orb::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::TieredConfig::Tier] + tiers: ::Array[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::TieredConfig::Tier] } type tier = @@ -7666,22 +7666,22 @@ module Orb type billing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration::duration_unit } class BillingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -7692,7 +7692,7 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration::duration_unit] end end @@ -7726,22 +7726,22 @@ module Orb type invoicing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration::duration_unit } class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -7752,33 +7752,33 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration::duration_unit] end end end type tiered_bps = { - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::cadence, item_id: String, model_type: :tiered_bps, name: String, - tiered_bps_config: Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::TieredBpsConfig, + tiered_bps_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::TieredBpsConfig, billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } class TieredBps < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::cadence + attr_accessor cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::cadence attr_accessor item_id: String @@ -7786,19 +7786,19 @@ module Orb attr_accessor name: String - attr_accessor tiered_bps_config: Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::TieredBpsConfig + attr_accessor tiered_bps_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::TieredBpsConfig attr_accessor billable_metric_id: String? attr_accessor billed_in_advance: bool? - attr_accessor billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration? + attr_accessor billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration? attr_accessor conversion_rate: Float? attr_accessor currency: String? - attr_accessor dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::DimensionalPriceConfiguration? + attr_accessor dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::DimensionalPriceConfiguration? attr_accessor external_price_id: String? @@ -7806,45 +7806,45 @@ module Orb attr_accessor invoice_grouping_key: String? - attr_accessor invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration? + attr_accessor invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration? attr_accessor metadata: ::Hash[Symbol, String?]? def initialize: ( - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::cadence, item_id: String, name: String, - tiered_bps_config: Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::TieredBpsConfig, + tiered_bps_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::TieredBpsConfig, ?billable_metric_id: String?, ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration?, + ?billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration?, ?conversion_rate: Float?, ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::DimensionalPriceConfiguration?, + ?dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::DimensionalPriceConfiguration?, ?external_price_id: String?, ?fixed_price_quantity: Float?, ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration?, + ?invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration?, ?metadata: ::Hash[Symbol, String?]?, ?model_type: :tiered_bps ) -> void def to_hash: -> { - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::cadence, item_id: String, model_type: :tiered_bps, name: String, - tiered_bps_config: Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::TieredBpsConfig, + tiered_bps_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::TieredBpsConfig, billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } @@ -7866,23 +7866,23 @@ module Orb ONE_TIME: :one_time CUSTOM: :custom - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::cadence] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::cadence] end type tiered_bps_config = { - tiers: ::Array[Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::TieredBpsConfig::Tier] + tiers: ::Array[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::TieredBpsConfig::Tier] } class TieredBpsConfig < Orb::Internal::Type::BaseModel - attr_accessor tiers: ::Array[Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::TieredBpsConfig::Tier] + attr_accessor tiers: ::Array[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::TieredBpsConfig::Tier] def initialize: ( - tiers: ::Array[Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::TieredBpsConfig::Tier] + tiers: ::Array[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::TieredBpsConfig::Tier] ) -> void def to_hash: -> { - tiers: ::Array[Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::TieredBpsConfig::Tier] + tiers: ::Array[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::TieredBpsConfig::Tier] } type tier = @@ -7921,22 +7921,22 @@ module Orb type billing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration::duration_unit } class BillingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -7947,7 +7947,7 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration::duration_unit] end end @@ -7981,22 +7981,22 @@ module Orb type invoicing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration::duration_unit } class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -8007,35 +8007,35 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration::duration_unit] end end end type bps = { - bps_config: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bps::BpsConfig, - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Bps::cadence, + bps_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::BpsConfig, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::cadence, item_id: String, model_type: :bps, name: String, billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bps::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bps::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } class Bps < Orb::Internal::Type::BaseModel - attr_accessor bps_config: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bps::BpsConfig + attr_accessor bps_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::BpsConfig - attr_accessor cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Bps::cadence + attr_accessor cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::cadence attr_accessor item_id: String @@ -8047,13 +8047,13 @@ module Orb attr_accessor billed_in_advance: bool? - attr_accessor billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bps::BillingCycleConfiguration? + attr_accessor billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::BillingCycleConfiguration? attr_accessor conversion_rate: Float? attr_accessor currency: String? - attr_accessor dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bps::DimensionalPriceConfiguration? + attr_accessor dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::DimensionalPriceConfiguration? attr_accessor external_price_id: String? @@ -8061,45 +8061,45 @@ module Orb attr_accessor invoice_grouping_key: String? - attr_accessor invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration? + attr_accessor invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration? attr_accessor metadata: ::Hash[Symbol, String?]? def initialize: ( - bps_config: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bps::BpsConfig, - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Bps::cadence, + bps_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::BpsConfig, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::cadence, item_id: String, name: String, ?billable_metric_id: String?, ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bps::BillingCycleConfiguration?, + ?billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::BillingCycleConfiguration?, ?conversion_rate: Float?, ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bps::DimensionalPriceConfiguration?, + ?dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::DimensionalPriceConfiguration?, ?external_price_id: String?, ?fixed_price_quantity: Float?, ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration?, + ?invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration?, ?metadata: ::Hash[Symbol, String?]?, ?model_type: :bps ) -> void def to_hash: -> { - bps_config: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bps::BpsConfig, - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Bps::cadence, + bps_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::BpsConfig, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::cadence, item_id: String, model_type: :bps, name: String, billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bps::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bps::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } @@ -8133,28 +8133,28 @@ module Orb ONE_TIME: :one_time CUSTOM: :custom - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Bps::cadence] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::cadence] end type billing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Bps::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::BillingCycleConfiguration::duration_unit } class BillingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Bps::BillingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::BillingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Bps::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::BillingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Bps::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::BillingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -8165,7 +8165,7 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Bps::BillingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::BillingCycleConfiguration::duration_unit] end end @@ -8199,22 +8199,22 @@ module Orb type invoicing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration::duration_unit } class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -8225,35 +8225,35 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration::duration_unit] end end end type bulk_bps = { - bulk_bps_config: Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::BulkBpsConfig, - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::cadence, + bulk_bps_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BulkBpsConfig, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::cadence, item_id: String, model_type: :bulk_bps, name: String, billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } class BulkBps < Orb::Internal::Type::BaseModel - attr_accessor bulk_bps_config: Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::BulkBpsConfig + attr_accessor bulk_bps_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BulkBpsConfig - attr_accessor cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::cadence + attr_accessor cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::cadence attr_accessor item_id: String @@ -8265,13 +8265,13 @@ module Orb attr_accessor billed_in_advance: bool? - attr_accessor billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration? + attr_accessor billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration? attr_accessor conversion_rate: Float? attr_accessor currency: String? - attr_accessor dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::DimensionalPriceConfiguration? + attr_accessor dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::DimensionalPriceConfiguration? attr_accessor external_price_id: String? @@ -8279,62 +8279,62 @@ module Orb attr_accessor invoice_grouping_key: String? - attr_accessor invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration? + attr_accessor invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration? attr_accessor metadata: ::Hash[Symbol, String?]? def initialize: ( - bulk_bps_config: Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::BulkBpsConfig, - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::cadence, + bulk_bps_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BulkBpsConfig, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::cadence, item_id: String, name: String, ?billable_metric_id: String?, ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration?, + ?billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration?, ?conversion_rate: Float?, ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::DimensionalPriceConfiguration?, + ?dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::DimensionalPriceConfiguration?, ?external_price_id: String?, ?fixed_price_quantity: Float?, ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration?, + ?invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration?, ?metadata: ::Hash[Symbol, String?]?, ?model_type: :bulk_bps ) -> void def to_hash: -> { - bulk_bps_config: Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::BulkBpsConfig, - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::cadence, + bulk_bps_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BulkBpsConfig, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::cadence, item_id: String, model_type: :bulk_bps, name: String, billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } type bulk_bps_config = { - tiers: ::Array[Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::BulkBpsConfig::Tier] + tiers: ::Array[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BulkBpsConfig::Tier] } class BulkBpsConfig < Orb::Internal::Type::BaseModel - attr_accessor tiers: ::Array[Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::BulkBpsConfig::Tier] + attr_accessor tiers: ::Array[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BulkBpsConfig::Tier] def initialize: ( - tiers: ::Array[Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::BulkBpsConfig::Tier] + tiers: ::Array[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BulkBpsConfig::Tier] ) -> void def to_hash: -> { - tiers: ::Array[Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::BulkBpsConfig::Tier] + tiers: ::Array[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BulkBpsConfig::Tier] } type tier = @@ -8383,28 +8383,28 @@ module Orb ONE_TIME: :one_time CUSTOM: :custom - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::cadence] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::cadence] end type billing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration::duration_unit } class BillingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -8415,7 +8415,7 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration::duration_unit] end end @@ -8449,22 +8449,22 @@ module Orb type invoicing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration::duration_unit } class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -8475,35 +8475,35 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration::duration_unit] end end end type bulk = { - bulk_config: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::BulkConfig, - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::cadence, + bulk_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::BulkConfig, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::cadence, item_id: String, model_type: :bulk, name: String, billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } class Bulk < Orb::Internal::Type::BaseModel - attr_accessor bulk_config: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::BulkConfig + attr_accessor bulk_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::BulkConfig - attr_accessor cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::cadence + attr_accessor cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::cadence attr_accessor item_id: String @@ -8515,13 +8515,13 @@ module Orb attr_accessor billed_in_advance: bool? - attr_accessor billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration? + attr_accessor billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration? attr_accessor conversion_rate: Float? attr_accessor currency: String? - attr_accessor dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::DimensionalPriceConfiguration? + attr_accessor dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::DimensionalPriceConfiguration? attr_accessor external_price_id: String? @@ -8529,62 +8529,62 @@ module Orb attr_accessor invoice_grouping_key: String? - attr_accessor invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration? + attr_accessor invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration? attr_accessor metadata: ::Hash[Symbol, String?]? def initialize: ( - bulk_config: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::BulkConfig, - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::cadence, + bulk_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::BulkConfig, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::cadence, item_id: String, name: String, ?billable_metric_id: String?, ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration?, + ?billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration?, ?conversion_rate: Float?, ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::DimensionalPriceConfiguration?, + ?dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::DimensionalPriceConfiguration?, ?external_price_id: String?, ?fixed_price_quantity: Float?, ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration?, + ?invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration?, ?metadata: ::Hash[Symbol, String?]?, ?model_type: :bulk ) -> void def to_hash: -> { - bulk_config: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::BulkConfig, - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::cadence, + bulk_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::BulkConfig, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::cadence, item_id: String, model_type: :bulk, name: String, billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } type bulk_config = { - tiers: ::Array[Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::BulkConfig::Tier] + tiers: ::Array[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::BulkConfig::Tier] } class BulkConfig < Orb::Internal::Type::BaseModel - attr_accessor tiers: ::Array[Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::BulkConfig::Tier] + attr_accessor tiers: ::Array[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::BulkConfig::Tier] def initialize: ( - tiers: ::Array[Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::BulkConfig::Tier] + tiers: ::Array[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::BulkConfig::Tier] ) -> void def to_hash: -> { - tiers: ::Array[Orb::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::BulkConfig::Tier] + tiers: ::Array[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::BulkConfig::Tier] } type tier = { unit_amount: String, maximum_units: Float? } @@ -8621,28 +8621,28 @@ module Orb ONE_TIME: :one_time CUSTOM: :custom - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::cadence] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::cadence] end type billing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration::duration_unit } class BillingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -8653,7 +8653,7 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration::duration_unit] end end @@ -8687,22 +8687,22 @@ module Orb type invoicing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration::duration_unit } class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -8713,33 +8713,33 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration::duration_unit] end end end type threshold_total_amount = { - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::cadence, item_id: String, model_type: :threshold_total_amount, name: String, threshold_total_amount_config: ::Hash[Symbol, top], billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } class ThresholdTotalAmount < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::cadence + attr_accessor cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::cadence attr_accessor item_id: String @@ -8753,13 +8753,13 @@ module Orb attr_accessor billed_in_advance: bool? - attr_accessor billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration? + attr_accessor billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration? attr_accessor conversion_rate: Float? attr_accessor currency: String? - attr_accessor dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration? + attr_accessor dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration? attr_accessor external_price_id: String? @@ -8767,45 +8767,45 @@ module Orb attr_accessor invoice_grouping_key: String? - attr_accessor invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration? + attr_accessor invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration? attr_accessor metadata: ::Hash[Symbol, String?]? def initialize: ( - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::cadence, item_id: String, name: String, threshold_total_amount_config: ::Hash[Symbol, top], ?billable_metric_id: String?, ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration?, + ?billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration?, ?conversion_rate: Float?, ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration?, + ?dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration?, ?external_price_id: String?, ?fixed_price_quantity: Float?, ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration?, + ?invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration?, ?metadata: ::Hash[Symbol, String?]?, ?model_type: :threshold_total_amount ) -> void def to_hash: -> { - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::cadence, item_id: String, model_type: :threshold_total_amount, name: String, threshold_total_amount_config: ::Hash[Symbol, top], billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } @@ -8827,28 +8827,28 @@ module Orb ONE_TIME: :one_time CUSTOM: :custom - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::cadence] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::cadence] end type billing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::duration_unit } class BillingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -8859,7 +8859,7 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::duration_unit] end end @@ -8893,22 +8893,22 @@ module Orb type invoicing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::duration_unit } class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -8919,33 +8919,33 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::duration_unit] end end end type tiered_package = { - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::cadence, item_id: String, model_type: :tiered_package, name: String, tiered_package_config: ::Hash[Symbol, top], billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } class TieredPackage < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::cadence + attr_accessor cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::cadence attr_accessor item_id: String @@ -8959,13 +8959,13 @@ module Orb attr_accessor billed_in_advance: bool? - attr_accessor billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration? + attr_accessor billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration? attr_accessor conversion_rate: Float? attr_accessor currency: String? - attr_accessor dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::DimensionalPriceConfiguration? + attr_accessor dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::DimensionalPriceConfiguration? attr_accessor external_price_id: String? @@ -8973,45 +8973,45 @@ module Orb attr_accessor invoice_grouping_key: String? - attr_accessor invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration? + attr_accessor invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration? attr_accessor metadata: ::Hash[Symbol, String?]? def initialize: ( - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::cadence, item_id: String, name: String, tiered_package_config: ::Hash[Symbol, top], ?billable_metric_id: String?, ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration?, + ?billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration?, ?conversion_rate: Float?, ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::DimensionalPriceConfiguration?, + ?dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::DimensionalPriceConfiguration?, ?external_price_id: String?, ?fixed_price_quantity: Float?, ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration?, + ?invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration?, ?metadata: ::Hash[Symbol, String?]?, ?model_type: :tiered_package ) -> void def to_hash: -> { - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::cadence, item_id: String, model_type: :tiered_package, name: String, tiered_package_config: ::Hash[Symbol, top], billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } @@ -9033,28 +9033,28 @@ module Orb ONE_TIME: :one_time CUSTOM: :custom - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::cadence] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::cadence] end type billing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration::duration_unit } class BillingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -9065,7 +9065,7 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration::duration_unit] end end @@ -9099,22 +9099,22 @@ module Orb type invoicing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration::duration_unit } class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -9125,33 +9125,33 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration::duration_unit] end end end type tiered_with_minimum = { - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::cadence, item_id: String, model_type: :tiered_with_minimum, name: String, tiered_with_minimum_config: ::Hash[Symbol, top], billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } class TieredWithMinimum < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::cadence + attr_accessor cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::cadence attr_accessor item_id: String @@ -9165,13 +9165,13 @@ module Orb attr_accessor billed_in_advance: bool? - attr_accessor billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration? + attr_accessor billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration? attr_accessor conversion_rate: Float? attr_accessor currency: String? - attr_accessor dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::DimensionalPriceConfiguration? + attr_accessor dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::DimensionalPriceConfiguration? attr_accessor external_price_id: String? @@ -9179,45 +9179,45 @@ module Orb attr_accessor invoice_grouping_key: String? - attr_accessor invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration? + attr_accessor invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration? attr_accessor metadata: ::Hash[Symbol, String?]? def initialize: ( - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::cadence, item_id: String, name: String, tiered_with_minimum_config: ::Hash[Symbol, top], ?billable_metric_id: String?, ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration?, + ?billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration?, ?conversion_rate: Float?, ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::DimensionalPriceConfiguration?, + ?dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::DimensionalPriceConfiguration?, ?external_price_id: String?, ?fixed_price_quantity: Float?, ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration?, + ?invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration?, ?metadata: ::Hash[Symbol, String?]?, ?model_type: :tiered_with_minimum ) -> void def to_hash: -> { - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::cadence, item_id: String, model_type: :tiered_with_minimum, name: String, tiered_with_minimum_config: ::Hash[Symbol, top], billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } @@ -9239,28 +9239,28 @@ module Orb ONE_TIME: :one_time CUSTOM: :custom - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::cadence] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::cadence] end type billing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration::duration_unit } class BillingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -9271,7 +9271,7 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration::duration_unit] end end @@ -9305,22 +9305,22 @@ module Orb type invoicing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::duration_unit } class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -9331,33 +9331,33 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::duration_unit] end end end type unit_with_percent = { - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::cadence, item_id: String, model_type: :unit_with_percent, name: String, unit_with_percent_config: ::Hash[Symbol, top], billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } class UnitWithPercent < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::cadence + attr_accessor cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::cadence attr_accessor item_id: String @@ -9371,13 +9371,13 @@ module Orb attr_accessor billed_in_advance: bool? - attr_accessor billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration? + attr_accessor billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration? attr_accessor conversion_rate: Float? attr_accessor currency: String? - attr_accessor dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::DimensionalPriceConfiguration? + attr_accessor dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::DimensionalPriceConfiguration? attr_accessor external_price_id: String? @@ -9385,45 +9385,45 @@ module Orb attr_accessor invoice_grouping_key: String? - attr_accessor invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration? + attr_accessor invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration? attr_accessor metadata: ::Hash[Symbol, String?]? def initialize: ( - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::cadence, item_id: String, name: String, unit_with_percent_config: ::Hash[Symbol, top], ?billable_metric_id: String?, ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration?, + ?billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration?, ?conversion_rate: Float?, ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::DimensionalPriceConfiguration?, + ?dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::DimensionalPriceConfiguration?, ?external_price_id: String?, ?fixed_price_quantity: Float?, ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration?, + ?invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration?, ?metadata: ::Hash[Symbol, String?]?, ?model_type: :unit_with_percent ) -> void def to_hash: -> { - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::cadence, item_id: String, model_type: :unit_with_percent, name: String, unit_with_percent_config: ::Hash[Symbol, top], billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } @@ -9445,28 +9445,28 @@ module Orb ONE_TIME: :one_time CUSTOM: :custom - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::cadence] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::cadence] end type billing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration::duration_unit } class BillingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -9477,7 +9477,7 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration::duration_unit] end end @@ -9511,22 +9511,22 @@ module Orb type invoicing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration::duration_unit } class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -9537,33 +9537,33 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration::duration_unit] end end end type package_with_allocation = { - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::cadence, item_id: String, model_type: :package_with_allocation, name: String, package_with_allocation_config: ::Hash[Symbol, top], billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } class PackageWithAllocation < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::cadence + attr_accessor cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::cadence attr_accessor item_id: String @@ -9577,13 +9577,13 @@ module Orb attr_accessor billed_in_advance: bool? - attr_accessor billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration? + attr_accessor billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration? attr_accessor conversion_rate: Float? attr_accessor currency: String? - attr_accessor dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::DimensionalPriceConfiguration? + attr_accessor dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::DimensionalPriceConfiguration? attr_accessor external_price_id: String? @@ -9591,45 +9591,45 @@ module Orb attr_accessor invoice_grouping_key: String? - attr_accessor invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration? + attr_accessor invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration? attr_accessor metadata: ::Hash[Symbol, String?]? def initialize: ( - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::cadence, item_id: String, name: String, package_with_allocation_config: ::Hash[Symbol, top], ?billable_metric_id: String?, ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration?, + ?billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration?, ?conversion_rate: Float?, ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::DimensionalPriceConfiguration?, + ?dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::DimensionalPriceConfiguration?, ?external_price_id: String?, ?fixed_price_quantity: Float?, ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration?, + ?invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration?, ?metadata: ::Hash[Symbol, String?]?, ?model_type: :package_with_allocation ) -> void def to_hash: -> { - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::cadence, item_id: String, model_type: :package_with_allocation, name: String, package_with_allocation_config: ::Hash[Symbol, top], billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } @@ -9651,28 +9651,28 @@ module Orb ONE_TIME: :one_time CUSTOM: :custom - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::cadence] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::cadence] end type billing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration::duration_unit } class BillingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -9683,7 +9683,7 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration::duration_unit] end end @@ -9717,22 +9717,22 @@ module Orb type invoicing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::duration_unit } class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -9743,33 +9743,33 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::duration_unit] end end end type tiered_with_proration = { - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::cadence, item_id: String, model_type: :tiered_with_proration, name: String, tiered_with_proration_config: ::Hash[Symbol, top], billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } class TieredWithProration < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::cadence + attr_accessor cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::cadence attr_accessor item_id: String @@ -9783,13 +9783,13 @@ module Orb attr_accessor billed_in_advance: bool? - attr_accessor billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration? + attr_accessor billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration? attr_accessor conversion_rate: Float? attr_accessor currency: String? - attr_accessor dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::DimensionalPriceConfiguration? + attr_accessor dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::DimensionalPriceConfiguration? attr_accessor external_price_id: String? @@ -9797,45 +9797,45 @@ module Orb attr_accessor invoice_grouping_key: String? - attr_accessor invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration? + attr_accessor invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration? attr_accessor metadata: ::Hash[Symbol, String?]? def initialize: ( - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::cadence, item_id: String, name: String, tiered_with_proration_config: ::Hash[Symbol, top], ?billable_metric_id: String?, ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration?, + ?billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration?, ?conversion_rate: Float?, ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::DimensionalPriceConfiguration?, + ?dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::DimensionalPriceConfiguration?, ?external_price_id: String?, ?fixed_price_quantity: Float?, ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration?, + ?invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration?, ?metadata: ::Hash[Symbol, String?]?, ?model_type: :tiered_with_proration ) -> void def to_hash: -> { - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::cadence, item_id: String, model_type: :tiered_with_proration, name: String, tiered_with_proration_config: ::Hash[Symbol, top], billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } @@ -9857,28 +9857,28 @@ module Orb ONE_TIME: :one_time CUSTOM: :custom - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::cadence] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::cadence] end type billing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration::duration_unit } class BillingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -9889,7 +9889,7 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration::duration_unit] end end @@ -9923,22 +9923,22 @@ module Orb type invoicing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration::duration_unit } class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -9949,33 +9949,33 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration::duration_unit] end end end type unit_with_proration = { - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::cadence, item_id: String, model_type: :unit_with_proration, name: String, unit_with_proration_config: ::Hash[Symbol, top], billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } class UnitWithProration < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::cadence + attr_accessor cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::cadence attr_accessor item_id: String @@ -9989,13 +9989,13 @@ module Orb attr_accessor billed_in_advance: bool? - attr_accessor billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration? + attr_accessor billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration? attr_accessor conversion_rate: Float? attr_accessor currency: String? - attr_accessor dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::DimensionalPriceConfiguration? + attr_accessor dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::DimensionalPriceConfiguration? attr_accessor external_price_id: String? @@ -10003,45 +10003,45 @@ module Orb attr_accessor invoice_grouping_key: String? - attr_accessor invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration? + attr_accessor invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration? attr_accessor metadata: ::Hash[Symbol, String?]? def initialize: ( - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::cadence, item_id: String, name: String, unit_with_proration_config: ::Hash[Symbol, top], ?billable_metric_id: String?, ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration?, + ?billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration?, ?conversion_rate: Float?, ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::DimensionalPriceConfiguration?, + ?dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::DimensionalPriceConfiguration?, ?external_price_id: String?, ?fixed_price_quantity: Float?, ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration?, + ?invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration?, ?metadata: ::Hash[Symbol, String?]?, ?model_type: :unit_with_proration ) -> void def to_hash: -> { - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::cadence, item_id: String, model_type: :unit_with_proration, name: String, unit_with_proration_config: ::Hash[Symbol, top], billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } @@ -10063,28 +10063,28 @@ module Orb ONE_TIME: :one_time CUSTOM: :custom - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::cadence] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::cadence] end type billing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration::duration_unit } class BillingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -10095,7 +10095,7 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration::duration_unit] end end @@ -10129,22 +10129,22 @@ module Orb type invoicing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration::duration_unit } class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -10155,33 +10155,33 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration::duration_unit] end end end type grouped_allocation = { - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::cadence, grouped_allocation_config: ::Hash[Symbol, top], item_id: String, model_type: :grouped_allocation, name: String, billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } class GroupedAllocation < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::cadence + attr_accessor cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::cadence attr_accessor grouped_allocation_config: ::Hash[Symbol, top] @@ -10195,13 +10195,13 @@ module Orb attr_accessor billed_in_advance: bool? - attr_accessor billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration? + attr_accessor billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration? attr_accessor conversion_rate: Float? attr_accessor currency: String? - attr_accessor dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::DimensionalPriceConfiguration? + attr_accessor dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::DimensionalPriceConfiguration? attr_accessor external_price_id: String? @@ -10209,45 +10209,45 @@ module Orb attr_accessor invoice_grouping_key: String? - attr_accessor invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration? + attr_accessor invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration? attr_accessor metadata: ::Hash[Symbol, String?]? def initialize: ( - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::cadence, grouped_allocation_config: ::Hash[Symbol, top], item_id: String, name: String, ?billable_metric_id: String?, ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration?, + ?billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration?, ?conversion_rate: Float?, ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::DimensionalPriceConfiguration?, + ?dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::DimensionalPriceConfiguration?, ?external_price_id: String?, ?fixed_price_quantity: Float?, ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration?, + ?invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration?, ?metadata: ::Hash[Symbol, String?]?, ?model_type: :grouped_allocation ) -> void def to_hash: -> { - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::cadence, grouped_allocation_config: ::Hash[Symbol, top], item_id: String, model_type: :grouped_allocation, name: String, billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } @@ -10269,28 +10269,28 @@ module Orb ONE_TIME: :one_time CUSTOM: :custom - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::cadence] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::cadence] end type billing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration::duration_unit } class BillingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -10301,7 +10301,7 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration::duration_unit] end end @@ -10335,22 +10335,22 @@ module Orb type invoicing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration::duration_unit } class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -10361,33 +10361,33 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration::duration_unit] end end end type grouped_with_prorated_minimum = { - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::cadence, grouped_with_prorated_minimum_config: ::Hash[Symbol, top], item_id: String, model_type: :grouped_with_prorated_minimum, name: String, billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } class GroupedWithProratedMinimum < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::cadence + attr_accessor cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::cadence attr_accessor grouped_with_prorated_minimum_config: ::Hash[Symbol, top] @@ -10401,13 +10401,13 @@ module Orb attr_accessor billed_in_advance: bool? - attr_accessor billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration? + attr_accessor billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration? attr_accessor conversion_rate: Float? attr_accessor currency: String? - attr_accessor dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration? + attr_accessor dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration? attr_accessor external_price_id: String? @@ -10415,45 +10415,45 @@ module Orb attr_accessor invoice_grouping_key: String? - attr_accessor invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration? + attr_accessor invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration? attr_accessor metadata: ::Hash[Symbol, String?]? def initialize: ( - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::cadence, grouped_with_prorated_minimum_config: ::Hash[Symbol, top], item_id: String, name: String, ?billable_metric_id: String?, ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration?, + ?billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration?, ?conversion_rate: Float?, ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration?, + ?dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration?, ?external_price_id: String?, ?fixed_price_quantity: Float?, ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration?, + ?invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration?, ?metadata: ::Hash[Symbol, String?]?, ?model_type: :grouped_with_prorated_minimum ) -> void def to_hash: -> { - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::cadence, grouped_with_prorated_minimum_config: ::Hash[Symbol, top], item_id: String, model_type: :grouped_with_prorated_minimum, name: String, billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } @@ -10475,28 +10475,28 @@ module Orb ONE_TIME: :one_time CUSTOM: :custom - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::cadence] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::cadence] end type billing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::duration_unit } class BillingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -10507,7 +10507,7 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::duration_unit] end end @@ -10541,22 +10541,22 @@ module Orb type invoicing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::duration_unit } class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -10567,33 +10567,33 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::duration_unit] end end end type grouped_with_metered_minimum = { - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::cadence, grouped_with_metered_minimum_config: ::Hash[Symbol, top], item_id: String, model_type: :grouped_with_metered_minimum, name: String, billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } class GroupedWithMeteredMinimum < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::cadence + attr_accessor cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::cadence attr_accessor grouped_with_metered_minimum_config: ::Hash[Symbol, top] @@ -10607,13 +10607,13 @@ module Orb attr_accessor billed_in_advance: bool? - attr_accessor billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration? + attr_accessor billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration? attr_accessor conversion_rate: Float? attr_accessor currency: String? - attr_accessor dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration? + attr_accessor dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration? attr_accessor external_price_id: String? @@ -10621,45 +10621,45 @@ module Orb attr_accessor invoice_grouping_key: String? - attr_accessor invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration? + attr_accessor invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration? attr_accessor metadata: ::Hash[Symbol, String?]? def initialize: ( - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::cadence, grouped_with_metered_minimum_config: ::Hash[Symbol, top], item_id: String, name: String, ?billable_metric_id: String?, ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration?, + ?billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration?, ?conversion_rate: Float?, ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration?, + ?dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration?, ?external_price_id: String?, ?fixed_price_quantity: Float?, ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration?, + ?invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration?, ?metadata: ::Hash[Symbol, String?]?, ?model_type: :grouped_with_metered_minimum ) -> void def to_hash: -> { - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::cadence, grouped_with_metered_minimum_config: ::Hash[Symbol, top], item_id: String, model_type: :grouped_with_metered_minimum, name: String, billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } @@ -10681,28 +10681,28 @@ module Orb ONE_TIME: :one_time CUSTOM: :custom - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::cadence] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::cadence] end type billing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::duration_unit } class BillingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -10713,7 +10713,7 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::duration_unit] end end @@ -10747,22 +10747,22 @@ module Orb type invoicing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::duration_unit } class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -10773,33 +10773,33 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::duration_unit] end end end type matrix_with_display_name = { - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::cadence, item_id: String, matrix_with_display_name_config: ::Hash[Symbol, top], model_type: :matrix_with_display_name, name: String, billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } class MatrixWithDisplayName < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::cadence + attr_accessor cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::cadence attr_accessor item_id: String @@ -10813,13 +10813,13 @@ module Orb attr_accessor billed_in_advance: bool? - attr_accessor billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration? + attr_accessor billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration? attr_accessor conversion_rate: Float? attr_accessor currency: String? - attr_accessor dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration? + attr_accessor dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration? attr_accessor external_price_id: String? @@ -10827,45 +10827,45 @@ module Orb attr_accessor invoice_grouping_key: String? - attr_accessor invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration? + attr_accessor invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration? attr_accessor metadata: ::Hash[Symbol, String?]? def initialize: ( - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::cadence, item_id: String, matrix_with_display_name_config: ::Hash[Symbol, top], name: String, ?billable_metric_id: String?, ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration?, + ?billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration?, ?conversion_rate: Float?, ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration?, + ?dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration?, ?external_price_id: String?, ?fixed_price_quantity: Float?, ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration?, + ?invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration?, ?metadata: ::Hash[Symbol, String?]?, ?model_type: :matrix_with_display_name ) -> void def to_hash: -> { - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::cadence, item_id: String, matrix_with_display_name_config: ::Hash[Symbol, top], model_type: :matrix_with_display_name, name: String, billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } @@ -10887,28 +10887,28 @@ module Orb ONE_TIME: :one_time CUSTOM: :custom - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::cadence] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::cadence] end type billing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::duration_unit } class BillingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -10919,7 +10919,7 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::duration_unit] end end @@ -10953,22 +10953,22 @@ module Orb type invoicing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::duration_unit } class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -10979,7 +10979,7 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::duration_unit] end end end @@ -10987,27 +10987,27 @@ module Orb type bulk_with_proration = { bulk_with_proration_config: ::Hash[Symbol, top], - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::cadence, item_id: String, model_type: :bulk_with_proration, name: String, billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } class BulkWithProration < Orb::Internal::Type::BaseModel attr_accessor bulk_with_proration_config: ::Hash[Symbol, top] - attr_accessor cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::cadence + attr_accessor cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::cadence attr_accessor item_id: String @@ -11019,13 +11019,13 @@ module Orb attr_accessor billed_in_advance: bool? - attr_accessor billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration? + attr_accessor billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration? attr_accessor conversion_rate: Float? attr_accessor currency: String? - attr_accessor dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::DimensionalPriceConfiguration? + attr_accessor dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::DimensionalPriceConfiguration? attr_accessor external_price_id: String? @@ -11033,45 +11033,45 @@ module Orb attr_accessor invoice_grouping_key: String? - attr_accessor invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration? + attr_accessor invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration? attr_accessor metadata: ::Hash[Symbol, String?]? def initialize: ( bulk_with_proration_config: ::Hash[Symbol, top], - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::cadence, item_id: String, name: String, ?billable_metric_id: String?, ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration?, + ?billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration?, ?conversion_rate: Float?, ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::DimensionalPriceConfiguration?, + ?dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::DimensionalPriceConfiguration?, ?external_price_id: String?, ?fixed_price_quantity: Float?, ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration?, + ?invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration?, ?metadata: ::Hash[Symbol, String?]?, ?model_type: :bulk_with_proration ) -> void def to_hash: -> { bulk_with_proration_config: ::Hash[Symbol, top], - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::cadence, item_id: String, model_type: :bulk_with_proration, name: String, billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } @@ -11093,28 +11093,28 @@ module Orb ONE_TIME: :one_time CUSTOM: :custom - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::cadence] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::cadence] end type billing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration::duration_unit } class BillingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -11125,7 +11125,7 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration::duration_unit] end end @@ -11159,22 +11159,22 @@ module Orb type invoicing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration::duration_unit } class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -11185,33 +11185,33 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration::duration_unit] end end end type grouped_tiered_package = { - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::cadence, grouped_tiered_package_config: ::Hash[Symbol, top], item_id: String, model_type: :grouped_tiered_package, name: String, billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } class GroupedTieredPackage < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::cadence + attr_accessor cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::cadence attr_accessor grouped_tiered_package_config: ::Hash[Symbol, top] @@ -11225,13 +11225,13 @@ module Orb attr_accessor billed_in_advance: bool? - attr_accessor billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration? + attr_accessor billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration? attr_accessor conversion_rate: Float? attr_accessor currency: String? - attr_accessor dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration? + attr_accessor dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration? attr_accessor external_price_id: String? @@ -11239,45 +11239,45 @@ module Orb attr_accessor invoice_grouping_key: String? - attr_accessor invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration? + attr_accessor invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration? attr_accessor metadata: ::Hash[Symbol, String?]? def initialize: ( - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::cadence, grouped_tiered_package_config: ::Hash[Symbol, top], item_id: String, name: String, ?billable_metric_id: String?, ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration?, + ?billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration?, ?conversion_rate: Float?, ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration?, + ?dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration?, ?external_price_id: String?, ?fixed_price_quantity: Float?, ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration?, + ?invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration?, ?metadata: ::Hash[Symbol, String?]?, ?model_type: :grouped_tiered_package ) -> void def to_hash: -> { - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::cadence, grouped_tiered_package_config: ::Hash[Symbol, top], item_id: String, model_type: :grouped_tiered_package, name: String, billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } @@ -11299,28 +11299,28 @@ module Orb ONE_TIME: :one_time CUSTOM: :custom - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::cadence] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::cadence] end type billing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration::duration_unit } class BillingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -11331,7 +11331,7 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration::duration_unit] end end @@ -11365,22 +11365,22 @@ module Orb type invoicing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::duration_unit } class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -11391,33 +11391,33 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::duration_unit] end end end type max_group_tiered_package = { - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::cadence, item_id: String, max_group_tiered_package_config: ::Hash[Symbol, top], model_type: :max_group_tiered_package, name: String, billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } class MaxGroupTieredPackage < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::cadence + attr_accessor cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::cadence attr_accessor item_id: String @@ -11431,13 +11431,13 @@ module Orb attr_accessor billed_in_advance: bool? - attr_accessor billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration? + attr_accessor billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration? attr_accessor conversion_rate: Float? attr_accessor currency: String? - attr_accessor dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration? + attr_accessor dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration? attr_accessor external_price_id: String? @@ -11445,45 +11445,45 @@ module Orb attr_accessor invoice_grouping_key: String? - attr_accessor invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration? + attr_accessor invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration? attr_accessor metadata: ::Hash[Symbol, String?]? def initialize: ( - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::cadence, item_id: String, max_group_tiered_package_config: ::Hash[Symbol, top], name: String, ?billable_metric_id: String?, ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration?, + ?billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration?, ?conversion_rate: Float?, ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration?, + ?dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration?, ?external_price_id: String?, ?fixed_price_quantity: Float?, ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration?, + ?invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration?, ?metadata: ::Hash[Symbol, String?]?, ?model_type: :max_group_tiered_package ) -> void def to_hash: -> { - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::cadence, item_id: String, max_group_tiered_package_config: ::Hash[Symbol, top], model_type: :max_group_tiered_package, name: String, billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } @@ -11505,28 +11505,28 @@ module Orb ONE_TIME: :one_time CUSTOM: :custom - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::cadence] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::cadence] end type billing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::duration_unit } class BillingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -11537,7 +11537,7 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::duration_unit] end end @@ -11571,22 +11571,22 @@ module Orb type invoicing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::duration_unit } class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -11597,33 +11597,33 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::duration_unit] end end end type scalable_matrix_with_unit_pricing = { - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::cadence, item_id: String, model_type: :scalable_matrix_with_unit_pricing, name: String, scalable_matrix_with_unit_pricing_config: ::Hash[Symbol, top], billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } class ScalableMatrixWithUnitPricing < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::cadence + attr_accessor cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::cadence attr_accessor item_id: String @@ -11637,13 +11637,13 @@ module Orb attr_accessor billed_in_advance: bool? - attr_accessor billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration? + attr_accessor billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration? attr_accessor conversion_rate: Float? attr_accessor currency: String? - attr_accessor dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration? + attr_accessor dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration? attr_accessor external_price_id: String? @@ -11651,45 +11651,45 @@ module Orb attr_accessor invoice_grouping_key: String? - attr_accessor invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration? + attr_accessor invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration? attr_accessor metadata: ::Hash[Symbol, String?]? def initialize: ( - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::cadence, item_id: String, name: String, scalable_matrix_with_unit_pricing_config: ::Hash[Symbol, top], ?billable_metric_id: String?, ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration?, + ?billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration?, ?conversion_rate: Float?, ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration?, + ?dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration?, ?external_price_id: String?, ?fixed_price_quantity: Float?, ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration?, + ?invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration?, ?metadata: ::Hash[Symbol, String?]?, ?model_type: :scalable_matrix_with_unit_pricing ) -> void def to_hash: -> { - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::cadence, item_id: String, model_type: :scalable_matrix_with_unit_pricing, name: String, scalable_matrix_with_unit_pricing_config: ::Hash[Symbol, top], billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } @@ -11711,28 +11711,28 @@ module Orb ONE_TIME: :one_time CUSTOM: :custom - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::cadence] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::cadence] end type billing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::duration_unit } class BillingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -11743,7 +11743,7 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::duration_unit] end end @@ -11777,22 +11777,22 @@ module Orb type invoicing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::duration_unit } class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -11803,33 +11803,33 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::duration_unit] end end end type scalable_matrix_with_tiered_pricing = { - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::cadence, item_id: String, model_type: :scalable_matrix_with_tiered_pricing, name: String, scalable_matrix_with_tiered_pricing_config: ::Hash[Symbol, top], billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } class ScalableMatrixWithTieredPricing < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::cadence + attr_accessor cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::cadence attr_accessor item_id: String @@ -11843,13 +11843,13 @@ module Orb attr_accessor billed_in_advance: bool? - attr_accessor billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration? + attr_accessor billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration? attr_accessor conversion_rate: Float? attr_accessor currency: String? - attr_accessor dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration? + attr_accessor dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration? attr_accessor external_price_id: String? @@ -11857,45 +11857,45 @@ module Orb attr_accessor invoice_grouping_key: String? - attr_accessor invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration? + attr_accessor invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration? attr_accessor metadata: ::Hash[Symbol, String?]? def initialize: ( - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::cadence, item_id: String, name: String, scalable_matrix_with_tiered_pricing_config: ::Hash[Symbol, top], ?billable_metric_id: String?, ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration?, + ?billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration?, ?conversion_rate: Float?, ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration?, + ?dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration?, ?external_price_id: String?, ?fixed_price_quantity: Float?, ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration?, + ?invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration?, ?metadata: ::Hash[Symbol, String?]?, ?model_type: :scalable_matrix_with_tiered_pricing ) -> void def to_hash: -> { - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::cadence, item_id: String, model_type: :scalable_matrix_with_tiered_pricing, name: String, scalable_matrix_with_tiered_pricing_config: ::Hash[Symbol, top], billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } @@ -11917,28 +11917,28 @@ module Orb ONE_TIME: :one_time CUSTOM: :custom - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::cadence] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::cadence] end type billing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::duration_unit } class BillingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -11949,7 +11949,7 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::duration_unit] end end @@ -11983,22 +11983,22 @@ module Orb type invoicing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::duration_unit } class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -12009,33 +12009,33 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::duration_unit] end end end type cumulative_grouped_bulk = { - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::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::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } class CumulativeGroupedBulk < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::cadence + attr_accessor cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::cadence attr_accessor cumulative_grouped_bulk_config: ::Hash[Symbol, top] @@ -12049,13 +12049,13 @@ module Orb attr_accessor billed_in_advance: bool? - attr_accessor billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration? + attr_accessor billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration? attr_accessor conversion_rate: Float? attr_accessor currency: String? - attr_accessor dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration? + attr_accessor dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration? attr_accessor external_price_id: String? @@ -12063,45 +12063,45 @@ module Orb attr_accessor invoice_grouping_key: String? - attr_accessor invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration? + attr_accessor invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration? attr_accessor metadata: ::Hash[Symbol, String?]? def initialize: ( - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::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::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration?, + ?billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration?, ?conversion_rate: Float?, ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration?, + ?dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration?, ?external_price_id: String?, ?fixed_price_quantity: Float?, ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration?, + ?invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration?, ?metadata: ::Hash[Symbol, String?]?, ?model_type: :cumulative_grouped_bulk ) -> void def to_hash: -> { - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::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::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } @@ -12123,28 +12123,28 @@ module Orb ONE_TIME: :one_time CUSTOM: :custom - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::cadence] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::cadence] end type billing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::duration_unit } class BillingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -12155,7 +12155,7 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::duration_unit] end end @@ -12189,22 +12189,22 @@ module Orb type invoicing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::duration_unit } class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -12215,33 +12215,33 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::duration_unit] end end end type tiered_package_with_minimum = { - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::cadence, item_id: String, model_type: :tiered_package_with_minimum, name: String, tiered_package_with_minimum_config: ::Hash[Symbol, top], billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } class TieredPackageWithMinimum < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::cadence + attr_accessor cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::cadence attr_accessor item_id: String @@ -12255,13 +12255,13 @@ module Orb attr_accessor billed_in_advance: bool? - attr_accessor billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration? + attr_accessor billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration? attr_accessor conversion_rate: Float? attr_accessor currency: String? - attr_accessor dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration? + attr_accessor dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration? attr_accessor external_price_id: String? @@ -12269,45 +12269,45 @@ module Orb attr_accessor invoice_grouping_key: String? - attr_accessor invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration? + attr_accessor invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration? attr_accessor metadata: ::Hash[Symbol, String?]? def initialize: ( - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::cadence, item_id: String, name: String, tiered_package_with_minimum_config: ::Hash[Symbol, top], ?billable_metric_id: String?, ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration?, + ?billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration?, ?conversion_rate: Float?, ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration?, + ?dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration?, ?external_price_id: String?, ?fixed_price_quantity: Float?, ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration?, + ?invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration?, ?metadata: ::Hash[Symbol, String?]?, ?model_type: :tiered_package_with_minimum ) -> void def to_hash: -> { - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::cadence, item_id: String, model_type: :tiered_package_with_minimum, name: String, tiered_package_with_minimum_config: ::Hash[Symbol, top], billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } @@ -12329,28 +12329,28 @@ module Orb ONE_TIME: :one_time CUSTOM: :custom - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::cadence] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::cadence] end type billing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::duration_unit } class BillingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -12361,7 +12361,7 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::duration_unit] end end @@ -12395,22 +12395,22 @@ module Orb type invoicing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::duration_unit } class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -12421,37 +12421,37 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::duration_unit] end end end type matrix_with_allocation = { - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::cadence, item_id: String, - matrix_with_allocation_config: Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig, + matrix_with_allocation_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig, model_type: :matrix_with_allocation, name: String, billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } class MatrixWithAllocation < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::cadence + attr_accessor cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::cadence attr_accessor item_id: String - attr_accessor matrix_with_allocation_config: Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig + attr_accessor matrix_with_allocation_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig attr_accessor model_type: :matrix_with_allocation @@ -12461,13 +12461,13 @@ module Orb attr_accessor billed_in_advance: bool? - attr_accessor billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration? + attr_accessor billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration? attr_accessor conversion_rate: Float? attr_accessor currency: String? - attr_accessor dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration? + attr_accessor dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration? attr_accessor external_price_id: String? @@ -12475,45 +12475,45 @@ module Orb attr_accessor invoice_grouping_key: String? - attr_accessor invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration? + attr_accessor invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration? attr_accessor metadata: ::Hash[Symbol, String?]? def initialize: ( - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::cadence, item_id: String, - matrix_with_allocation_config: Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig, + matrix_with_allocation_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig, name: String, ?billable_metric_id: String?, ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration?, + ?billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration?, ?conversion_rate: Float?, ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration?, + ?dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration?, ?external_price_id: String?, ?fixed_price_quantity: Float?, ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration?, + ?invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration?, ?metadata: ::Hash[Symbol, String?]?, ?model_type: :matrix_with_allocation ) -> void def to_hash: -> { - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::cadence, item_id: String, - matrix_with_allocation_config: Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig, + matrix_with_allocation_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig, model_type: :matrix_with_allocation, name: String, billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } @@ -12535,7 +12535,7 @@ module Orb ONE_TIME: :one_time CUSTOM: :custom - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::cadence] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::cadence] end type matrix_with_allocation_config = @@ -12543,7 +12543,7 @@ module Orb allocation: Float, default_unit_amount: String, dimensions: ::Array[String?], - matrix_values: ::Array[Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue] + matrix_values: ::Array[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue] } class MatrixWithAllocationConfig < Orb::Internal::Type::BaseModel @@ -12553,20 +12553,20 @@ module Orb attr_accessor dimensions: ::Array[String?] - attr_accessor matrix_values: ::Array[Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue] + attr_accessor matrix_values: ::Array[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue] def initialize: ( allocation: Float, default_unit_amount: String, dimensions: ::Array[String?], - matrix_values: ::Array[Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue] + matrix_values: ::Array[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue] ) -> void def to_hash: -> { allocation: Float, default_unit_amount: String, dimensions: ::Array[String?], - matrix_values: ::Array[Orb::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue] + matrix_values: ::Array[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue] } type matrix_value = @@ -12592,22 +12592,22 @@ module Orb type billing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration::duration_unit } class BillingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -12618,7 +12618,7 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration::duration_unit] end end @@ -12652,22 +12652,22 @@ module Orb type invoicing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::duration_unit } class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -12678,33 +12678,33 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::duration_unit] end end end type grouped_tiered = { - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::cadence, grouped_tiered_config: ::Hash[Symbol, top], item_id: String, model_type: :grouped_tiered, name: String, billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } class GroupedTiered < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::cadence + attr_accessor cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::cadence attr_accessor grouped_tiered_config: ::Hash[Symbol, top] @@ -12718,13 +12718,13 @@ module Orb attr_accessor billed_in_advance: bool? - attr_accessor billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration? + attr_accessor billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration? attr_accessor conversion_rate: Float? attr_accessor currency: String? - attr_accessor dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::DimensionalPriceConfiguration? + attr_accessor dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::DimensionalPriceConfiguration? attr_accessor external_price_id: String? @@ -12732,45 +12732,45 @@ module Orb attr_accessor invoice_grouping_key: String? - attr_accessor invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration? + attr_accessor invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration? attr_accessor metadata: ::Hash[Symbol, String?]? def initialize: ( - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::cadence, grouped_tiered_config: ::Hash[Symbol, top], item_id: String, name: String, ?billable_metric_id: String?, ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration?, + ?billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration?, ?conversion_rate: Float?, ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::DimensionalPriceConfiguration?, + ?dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::DimensionalPriceConfiguration?, ?external_price_id: String?, ?fixed_price_quantity: Float?, ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration?, + ?invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration?, ?metadata: ::Hash[Symbol, String?]?, ?model_type: :grouped_tiered ) -> void def to_hash: -> { - cadence: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::cadence, + cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::cadence, grouped_tiered_config: ::Hash[Symbol, top], item_id: String, model_type: :grouped_tiered, name: String, billable_metric_id: String?, billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration?, + billing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration?, conversion_rate: Float?, currency: String?, - dimensional_price_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::DimensionalPriceConfiguration?, + dimensional_price_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::DimensionalPriceConfiguration?, external_price_id: String?, fixed_price_quantity: Float?, invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration?, + invoicing_cycle_configuration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration?, metadata: ::Hash[Symbol, String?]? } @@ -12792,28 +12792,28 @@ module Orb ONE_TIME: :one_time CUSTOM: :custom - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::cadence] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::cadence] end type billing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration::duration_unit } class BillingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -12824,7 +12824,7 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration::duration_unit] end end @@ -12858,22 +12858,22 @@ module Orb type invoicing_cycle_configuration = { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration::duration_unit } class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel attr_accessor duration: Integer - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration::duration_unit + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration::duration_unit def initialize: ( duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration::duration_unit ) -> void def to_hash: -> { duration: Integer, - duration_unit: Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration::duration_unit + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration::duration_unit } type duration_unit = :day | :month @@ -12884,12 +12884,12 @@ module Orb DAY: :day MONTH: :month - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration::duration_unit] + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration::duration_unit] end end end - def self?.variants: -> ::Array[Orb::Models::Plans::VersionCreateParams::ReplacePrice::price] + def self?.variants: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::price] end end end diff --git a/sig/orb/models/plans/version_retrieve_params.rbs b/sig/orb/models/beta/external_plan_id_fetch_plan_version_params.rbs similarity index 50% rename from sig/orb/models/plans/version_retrieve_params.rbs rename to sig/orb/models/beta/external_plan_id_fetch_plan_version_params.rbs index a097e2d7..7b4f438f 100644 --- a/sig/orb/models/plans/version_retrieve_params.rbs +++ b/sig/orb/models/beta/external_plan_id_fetch_plan_version_params.rbs @@ -1,22 +1,22 @@ module Orb module Models - module Plans - type version_retrieve_params = - { plan_id: String } & Orb::Internal::Type::request_parameters + module Beta + type external_plan_id_fetch_plan_version_params = + { external_plan_id: String } & Orb::Internal::Type::request_parameters - class VersionRetrieveParams < Orb::Internal::Type::BaseModel + class ExternalPlanIDFetchPlanVersionParams < Orb::Internal::Type::BaseModel extend Orb::Internal::Type::RequestParameters::Converter include Orb::Internal::Type::RequestParameters - attr_accessor plan_id: String + attr_accessor external_plan_id: String def initialize: ( - plan_id: String, + external_plan_id: String, ?request_options: Orb::request_opts ) -> void def to_hash: -> { - plan_id: String, + external_plan_id: String, request_options: Orb::RequestOptions } end diff --git a/sig/orb/models/plans/external_plan_id_set_default_version_params.rbs b/sig/orb/models/beta/external_plan_id_set_default_plan_version_params.rbs similarity index 75% rename from sig/orb/models/plans/external_plan_id_set_default_version_params.rbs rename to sig/orb/models/beta/external_plan_id_set_default_plan_version_params.rbs index 1f82f72a..b8d88f4c 100644 --- a/sig/orb/models/plans/external_plan_id_set_default_version_params.rbs +++ b/sig/orb/models/beta/external_plan_id_set_default_plan_version_params.rbs @@ -1,10 +1,10 @@ module Orb module Models - module Plans - type external_plan_id_set_default_version_params = + module Beta + type external_plan_id_set_default_plan_version_params = { version: Integer } & Orb::Internal::Type::request_parameters - class ExternalPlanIDSetDefaultVersionParams < Orb::Internal::Type::BaseModel + class ExternalPlanIDSetDefaultPlanVersionParams < Orb::Internal::Type::BaseModel extend Orb::Internal::Type::RequestParameters::Converter include Orb::Internal::Type::RequestParameters diff --git a/sig/orb/models/beta_create_plan_version_params.rbs b/sig/orb/models/beta_create_plan_version_params.rbs new file mode 100644 index 00000000..e7ada21d --- /dev/null +++ b/sig/orb/models/beta_create_plan_version_params.rbs @@ -0,0 +1,12877 @@ +module Orb + module Models + type beta_create_plan_version_params = + { + version: Integer, + add_adjustments: ::Array[Orb::BetaCreatePlanVersionParams::AddAdjustment]?, + add_prices: ::Array[Orb::BetaCreatePlanVersionParams::AddPrice]?, + remove_adjustments: ::Array[Orb::BetaCreatePlanVersionParams::RemoveAdjustment]?, + remove_prices: ::Array[Orb::BetaCreatePlanVersionParams::RemovePrice]?, + replace_adjustments: ::Array[Orb::BetaCreatePlanVersionParams::ReplaceAdjustment]?, + replace_prices: ::Array[Orb::BetaCreatePlanVersionParams::ReplacePrice]?, + set_as_default: bool? + } + & Orb::Internal::Type::request_parameters + + class BetaCreatePlanVersionParams < Orb::Internal::Type::BaseModel + extend Orb::Internal::Type::RequestParameters::Converter + include Orb::Internal::Type::RequestParameters + + attr_accessor version: Integer + + attr_accessor add_adjustments: ::Array[Orb::BetaCreatePlanVersionParams::AddAdjustment]? + + attr_accessor add_prices: ::Array[Orb::BetaCreatePlanVersionParams::AddPrice]? + + attr_accessor remove_adjustments: ::Array[Orb::BetaCreatePlanVersionParams::RemoveAdjustment]? + + attr_accessor remove_prices: ::Array[Orb::BetaCreatePlanVersionParams::RemovePrice]? + + attr_accessor replace_adjustments: ::Array[Orb::BetaCreatePlanVersionParams::ReplaceAdjustment]? + + attr_accessor replace_prices: ::Array[Orb::BetaCreatePlanVersionParams::ReplacePrice]? + + attr_accessor set_as_default: bool? + + def initialize: ( + version: Integer, + ?add_adjustments: ::Array[Orb::BetaCreatePlanVersionParams::AddAdjustment]?, + ?add_prices: ::Array[Orb::BetaCreatePlanVersionParams::AddPrice]?, + ?remove_adjustments: ::Array[Orb::BetaCreatePlanVersionParams::RemoveAdjustment]?, + ?remove_prices: ::Array[Orb::BetaCreatePlanVersionParams::RemovePrice]?, + ?replace_adjustments: ::Array[Orb::BetaCreatePlanVersionParams::ReplaceAdjustment]?, + ?replace_prices: ::Array[Orb::BetaCreatePlanVersionParams::ReplacePrice]?, + ?set_as_default: bool?, + ?request_options: Orb::request_opts + ) -> void + + def to_hash: -> { + version: Integer, + add_adjustments: ::Array[Orb::BetaCreatePlanVersionParams::AddAdjustment]?, + add_prices: ::Array[Orb::BetaCreatePlanVersionParams::AddPrice]?, + remove_adjustments: ::Array[Orb::BetaCreatePlanVersionParams::RemoveAdjustment]?, + remove_prices: ::Array[Orb::BetaCreatePlanVersionParams::RemovePrice]?, + replace_adjustments: ::Array[Orb::BetaCreatePlanVersionParams::ReplaceAdjustment]?, + replace_prices: ::Array[Orb::BetaCreatePlanVersionParams::ReplacePrice]?, + set_as_default: bool?, + request_options: Orb::RequestOptions + } + + type add_adjustment = + { + adjustment: Orb::Models::BetaCreatePlanVersionParams::AddAdjustment::adjustment, + plan_phase_order: Integer? + } + + class AddAdjustment < Orb::Internal::Type::BaseModel + attr_accessor adjustment: Orb::Models::BetaCreatePlanVersionParams::AddAdjustment::adjustment + + attr_accessor plan_phase_order: Integer? + + def initialize: ( + adjustment: Orb::Models::BetaCreatePlanVersionParams::AddAdjustment::adjustment, + ?plan_phase_order: Integer? + ) -> void + + def to_hash: -> { + adjustment: Orb::Models::BetaCreatePlanVersionParams::AddAdjustment::adjustment, + plan_phase_order: Integer? + } + + type adjustment = + Orb::BetaCreatePlanVersionParams::AddAdjustment::Adjustment::PercentageDiscount + | Orb::BetaCreatePlanVersionParams::AddAdjustment::Adjustment::UsageDiscount + | Orb::BetaCreatePlanVersionParams::AddAdjustment::Adjustment::AmountDiscount + | Orb::BetaCreatePlanVersionParams::AddAdjustment::Adjustment::Minimum + | Orb::BetaCreatePlanVersionParams::AddAdjustment::Adjustment::Maximum + + module Adjustment + extend Orb::Internal::Type::Union + + type percentage_discount = + { + adjustment_type: :percentage_discount, + percentage_discount: Float, + applies_to_price_ids: ::Array[String]?, + is_invoice_level: bool + } + + class PercentageDiscount < Orb::Internal::Type::BaseModel + attr_accessor adjustment_type: :percentage_discount + + attr_accessor percentage_discount: Float + + attr_accessor applies_to_price_ids: ::Array[String]? + + attr_reader is_invoice_level: bool? + + def is_invoice_level=: (bool) -> bool + + def initialize: ( + percentage_discount: Float, + ?applies_to_price_ids: ::Array[String]?, + ?is_invoice_level: bool, + ?adjustment_type: :percentage_discount + ) -> void + + def to_hash: -> { + adjustment_type: :percentage_discount, + percentage_discount: Float, + applies_to_price_ids: ::Array[String]?, + is_invoice_level: bool + } + end + + type usage_discount = + { + adjustment_type: :usage_discount, + usage_discount: Float, + applies_to_price_ids: ::Array[String]?, + is_invoice_level: bool + } + + class UsageDiscount < Orb::Internal::Type::BaseModel + attr_accessor adjustment_type: :usage_discount + + attr_accessor usage_discount: Float + + attr_accessor applies_to_price_ids: ::Array[String]? + + attr_reader is_invoice_level: bool? + + def is_invoice_level=: (bool) -> bool + + def initialize: ( + usage_discount: Float, + ?applies_to_price_ids: ::Array[String]?, + ?is_invoice_level: bool, + ?adjustment_type: :usage_discount + ) -> void + + def to_hash: -> { + adjustment_type: :usage_discount, + usage_discount: Float, + applies_to_price_ids: ::Array[String]?, + is_invoice_level: bool + } + end + + type amount_discount = + { + adjustment_type: :amount_discount, + amount_discount: String, + applies_to_price_ids: ::Array[String]?, + is_invoice_level: bool + } + + class AmountDiscount < Orb::Internal::Type::BaseModel + attr_accessor adjustment_type: :amount_discount + + attr_accessor amount_discount: String + + attr_accessor applies_to_price_ids: ::Array[String]? + + attr_reader is_invoice_level: bool? + + def is_invoice_level=: (bool) -> bool + + def initialize: ( + amount_discount: String, + ?applies_to_price_ids: ::Array[String]?, + ?is_invoice_level: bool, + ?adjustment_type: :amount_discount + ) -> void + + def to_hash: -> { + adjustment_type: :amount_discount, + amount_discount: String, + applies_to_price_ids: ::Array[String]?, + is_invoice_level: bool + } + end + + type minimum = + { + adjustment_type: :minimum, + item_id: String, + minimum_amount: String, + applies_to_price_ids: ::Array[String]?, + is_invoice_level: bool + } + + class Minimum < Orb::Internal::Type::BaseModel + attr_accessor adjustment_type: :minimum + + attr_accessor item_id: String + + attr_accessor minimum_amount: String + + attr_accessor applies_to_price_ids: ::Array[String]? + + attr_reader is_invoice_level: bool? + + def is_invoice_level=: (bool) -> bool + + def initialize: ( + item_id: String, + minimum_amount: String, + ?applies_to_price_ids: ::Array[String]?, + ?is_invoice_level: bool, + ?adjustment_type: :minimum + ) -> void + + def to_hash: -> { + adjustment_type: :minimum, + item_id: String, + minimum_amount: String, + applies_to_price_ids: ::Array[String]?, + is_invoice_level: bool + } + end + + type maximum = + { + adjustment_type: :maximum, + maximum_amount: String, + applies_to_price_ids: ::Array[String]?, + is_invoice_level: bool + } + + class Maximum < Orb::Internal::Type::BaseModel + attr_accessor adjustment_type: :maximum + + attr_accessor maximum_amount: String + + attr_accessor applies_to_price_ids: ::Array[String]? + + attr_reader is_invoice_level: bool? + + def is_invoice_level=: (bool) -> bool + + def initialize: ( + maximum_amount: String, + ?applies_to_price_ids: ::Array[String]?, + ?is_invoice_level: bool, + ?adjustment_type: :maximum + ) -> void + + def to_hash: -> { + adjustment_type: :maximum, + maximum_amount: String, + applies_to_price_ids: ::Array[String]?, + is_invoice_level: bool + } + end + + def self?.variants: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddAdjustment::adjustment] + end + end + + type add_price = + { + allocation_price: Orb::BetaCreatePlanVersionParams::AddPrice::AllocationPrice?, + plan_phase_order: Integer?, + price: Orb::Models::BetaCreatePlanVersionParams::AddPrice::price? + } + + class AddPrice < Orb::Internal::Type::BaseModel + attr_accessor allocation_price: Orb::BetaCreatePlanVersionParams::AddPrice::AllocationPrice? + + attr_accessor plan_phase_order: Integer? + + attr_accessor price: Orb::Models::BetaCreatePlanVersionParams::AddPrice::price? + + def initialize: ( + ?allocation_price: Orb::BetaCreatePlanVersionParams::AddPrice::AllocationPrice?, + ?plan_phase_order: Integer?, + ?price: Orb::Models::BetaCreatePlanVersionParams::AddPrice::price? + ) -> void + + def to_hash: -> { + allocation_price: Orb::BetaCreatePlanVersionParams::AddPrice::AllocationPrice?, + plan_phase_order: Integer?, + price: Orb::Models::BetaCreatePlanVersionParams::AddPrice::price? + } + + type allocation_price = + { + amount: String, + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::AllocationPrice::cadence, + currency: String, + expires_at_end_of_cadence: bool + } + + class AllocationPrice < Orb::Internal::Type::BaseModel + attr_accessor amount: String + + attr_accessor cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::AllocationPrice::cadence + + attr_accessor currency: String + + attr_accessor expires_at_end_of_cadence: bool + + def initialize: ( + amount: String, + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::AllocationPrice::cadence, + currency: String, + expires_at_end_of_cadence: bool + ) -> void + + def to_hash: -> { + amount: String, + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::AllocationPrice::cadence, + currency: String, + expires_at_end_of_cadence: bool + } + + type cadence = + :one_time | :monthly | :quarterly | :semi_annual | :annual | :custom + + module Cadence + extend Orb::Internal::Type::Enum + + ONE_TIME: :one_time + MONTHLY: :monthly + QUARTERLY: :quarterly + SEMI_ANNUAL: :semi_annual + ANNUAL: :annual + CUSTOM: :custom + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::AllocationPrice::cadence] + end + end + + type price = + Orb::BetaCreatePlanVersionParams::AddPrice::Price::Unit + | Orb::BetaCreatePlanVersionParams::AddPrice::Price::Package + | Orb::BetaCreatePlanVersionParams::AddPrice::Price::Matrix + | Orb::BetaCreatePlanVersionParams::AddPrice::Price::Tiered + | Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps + | Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bps + | Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps + | Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bulk + | Orb::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount + | Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage + | Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum + | Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent + | Orb::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation + | Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration + | Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration + | Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation + | Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum + | Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum + | Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName + | Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration + | Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage + | Orb::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage + | Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing + | Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing + | Orb::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk + | Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum + | Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation + | Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered + + module Price + extend Orb::Internal::Type::Union + + type unit = + { + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Unit::cadence, + item_id: String, + model_type: :unit, + name: String, + unit_config: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Unit::UnitConfig, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Unit::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Unit::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Unit::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + class Unit < Orb::Internal::Type::BaseModel + attr_accessor cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Unit::cadence + + attr_accessor item_id: String + + attr_accessor model_type: :unit + + attr_accessor name: String + + attr_accessor unit_config: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Unit::UnitConfig + + attr_accessor billable_metric_id: String? + + attr_accessor billed_in_advance: bool? + + attr_accessor billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Unit::BillingCycleConfiguration? + + attr_accessor conversion_rate: Float? + + attr_accessor currency: String? + + attr_accessor dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Unit::DimensionalPriceConfiguration? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoice_grouping_key: String? + + attr_accessor invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Unit::InvoicingCycleConfiguration? + + attr_accessor metadata: ::Hash[Symbol, String?]? + + def initialize: ( + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Unit::cadence, + item_id: String, + name: String, + unit_config: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Unit::UnitConfig, + ?billable_metric_id: String?, + ?billed_in_advance: bool?, + ?billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Unit::BillingCycleConfiguration?, + ?conversion_rate: Float?, + ?currency: String?, + ?dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Unit::DimensionalPriceConfiguration?, + ?external_price_id: String?, + ?fixed_price_quantity: Float?, + ?invoice_grouping_key: String?, + ?invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Unit::InvoicingCycleConfiguration?, + ?metadata: ::Hash[Symbol, String?]?, + ?model_type: :unit + ) -> void + + def to_hash: -> { + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Unit::cadence, + item_id: String, + model_type: :unit, + name: String, + unit_config: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Unit::UnitConfig, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Unit::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Unit::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Unit::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + type cadence = + :annual + | :semi_annual + | :monthly + | :quarterly + | :one_time + | :custom + + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL: :annual + SEMI_ANNUAL: :semi_annual + MONTHLY: :monthly + QUARTERLY: :quarterly + ONE_TIME: :one_time + CUSTOM: :custom + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Unit::cadence] + end + + type unit_config = { unit_amount: String } + + class UnitConfig < Orb::Internal::Type::BaseModel + attr_accessor unit_amount: String + + def initialize: (unit_amount: String) -> void + + def to_hash: -> { unit_amount: String } + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Unit::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Unit::BillingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Unit::BillingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Unit::BillingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Unit::BillingCycleConfiguration::duration_unit] + end + end + + type dimensional_price_configuration = + { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String] + + attr_accessor dimensional_price_group_id: String? + + attr_accessor external_dimensional_price_group_id: String? + + def initialize: ( + dimension_values: ::Array[String], + ?dimensional_price_group_id: String?, + ?external_dimensional_price_group_id: String? + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Unit::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Unit::InvoicingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Unit::InvoicingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Unit::InvoicingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Unit::InvoicingCycleConfiguration::duration_unit] + end + end + end + + type package = + { + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Package::cadence, + item_id: String, + model_type: :package, + name: String, + package_config: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Package::PackageConfig, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Package::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Package::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Package::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + class Package < Orb::Internal::Type::BaseModel + attr_accessor cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Package::cadence + + attr_accessor item_id: String + + attr_accessor model_type: :package + + attr_accessor name: String + + attr_accessor package_config: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Package::PackageConfig + + attr_accessor billable_metric_id: String? + + attr_accessor billed_in_advance: bool? + + attr_accessor billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Package::BillingCycleConfiguration? + + attr_accessor conversion_rate: Float? + + attr_accessor currency: String? + + attr_accessor dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Package::DimensionalPriceConfiguration? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoice_grouping_key: String? + + attr_accessor invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Package::InvoicingCycleConfiguration? + + attr_accessor metadata: ::Hash[Symbol, String?]? + + def initialize: ( + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Package::cadence, + item_id: String, + name: String, + package_config: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Package::PackageConfig, + ?billable_metric_id: String?, + ?billed_in_advance: bool?, + ?billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Package::BillingCycleConfiguration?, + ?conversion_rate: Float?, + ?currency: String?, + ?dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Package::DimensionalPriceConfiguration?, + ?external_price_id: String?, + ?fixed_price_quantity: Float?, + ?invoice_grouping_key: String?, + ?invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Package::InvoicingCycleConfiguration?, + ?metadata: ::Hash[Symbol, String?]?, + ?model_type: :package + ) -> void + + def to_hash: -> { + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Package::cadence, + item_id: String, + model_type: :package, + name: String, + package_config: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Package::PackageConfig, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Package::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Package::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Package::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + type cadence = + :annual + | :semi_annual + | :monthly + | :quarterly + | :one_time + | :custom + + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL: :annual + SEMI_ANNUAL: :semi_annual + MONTHLY: :monthly + QUARTERLY: :quarterly + ONE_TIME: :one_time + CUSTOM: :custom + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Package::cadence] + end + + type package_config = + { package_amount: String, package_size: Integer } + + class PackageConfig < Orb::Internal::Type::BaseModel + attr_accessor package_amount: String + + attr_accessor package_size: Integer + + def initialize: ( + package_amount: String, + package_size: Integer + ) -> void + + def to_hash: -> { package_amount: String, package_size: Integer } + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Package::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Package::BillingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Package::BillingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Package::BillingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Package::BillingCycleConfiguration::duration_unit] + end + end + + type dimensional_price_configuration = + { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String] + + attr_accessor dimensional_price_group_id: String? + + attr_accessor external_dimensional_price_group_id: String? + + def initialize: ( + dimension_values: ::Array[String], + ?dimensional_price_group_id: String?, + ?external_dimensional_price_group_id: String? + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Package::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Package::InvoicingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Package::InvoicingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Package::InvoicingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Package::InvoicingCycleConfiguration::duration_unit] + end + end + end + + type matrix = + { + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::cadence, + item_id: String, + matrix_config: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::MatrixConfig, + model_type: :matrix, + name: String, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + class Matrix < Orb::Internal::Type::BaseModel + attr_accessor cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::cadence + + attr_accessor item_id: String + + attr_accessor matrix_config: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::MatrixConfig + + attr_accessor model_type: :matrix + + attr_accessor name: String + + attr_accessor billable_metric_id: String? + + attr_accessor billed_in_advance: bool? + + attr_accessor billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::BillingCycleConfiguration? + + attr_accessor conversion_rate: Float? + + attr_accessor currency: String? + + attr_accessor dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::DimensionalPriceConfiguration? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoice_grouping_key: String? + + attr_accessor invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration? + + attr_accessor metadata: ::Hash[Symbol, String?]? + + def initialize: ( + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::cadence, + item_id: String, + matrix_config: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::MatrixConfig, + name: String, + ?billable_metric_id: String?, + ?billed_in_advance: bool?, + ?billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::BillingCycleConfiguration?, + ?conversion_rate: Float?, + ?currency: String?, + ?dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::DimensionalPriceConfiguration?, + ?external_price_id: String?, + ?fixed_price_quantity: Float?, + ?invoice_grouping_key: String?, + ?invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration?, + ?metadata: ::Hash[Symbol, String?]?, + ?model_type: :matrix + ) -> void + + def to_hash: -> { + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::cadence, + item_id: String, + matrix_config: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::MatrixConfig, + model_type: :matrix, + name: String, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + type cadence = + :annual + | :semi_annual + | :monthly + | :quarterly + | :one_time + | :custom + + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL: :annual + SEMI_ANNUAL: :semi_annual + MONTHLY: :monthly + QUARTERLY: :quarterly + ONE_TIME: :one_time + CUSTOM: :custom + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::cadence] + end + + type matrix_config = + { + default_unit_amount: String, + dimensions: ::Array[String?], + matrix_values: ::Array[Orb::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::MatrixConfig::MatrixValue] + } + + class MatrixConfig < Orb::Internal::Type::BaseModel + attr_accessor default_unit_amount: String + + attr_accessor dimensions: ::Array[String?] + + attr_accessor matrix_values: ::Array[Orb::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::MatrixConfig::MatrixValue] + + def initialize: ( + default_unit_amount: String, + dimensions: ::Array[String?], + matrix_values: ::Array[Orb::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::MatrixConfig::MatrixValue] + ) -> void + + def to_hash: -> { + default_unit_amount: String, + dimensions: ::Array[String?], + matrix_values: ::Array[Orb::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::MatrixConfig::MatrixValue] + } + + type matrix_value = + { dimension_values: ::Array[String?], unit_amount: String } + + class MatrixValue < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String?] + + attr_accessor unit_amount: String + + def initialize: ( + dimension_values: ::Array[String?], + unit_amount: String + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String?], + unit_amount: String + } + end + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::BillingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::BillingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::BillingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::BillingCycleConfiguration::duration_unit] + end + end + + type dimensional_price_configuration = + { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String] + + attr_accessor dimensional_price_group_id: String? + + attr_accessor external_dimensional_price_group_id: String? + + def initialize: ( + dimension_values: ::Array[String], + ?dimensional_price_group_id: String?, + ?external_dimensional_price_group_id: String? + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration::duration_unit] + end + end + end + + type tiered = + { + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::cadence, + item_id: String, + model_type: :tiered, + name: String, + tiered_config: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::TieredConfig, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + class Tiered < Orb::Internal::Type::BaseModel + attr_accessor cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::cadence + + attr_accessor item_id: String + + attr_accessor model_type: :tiered + + attr_accessor name: String + + attr_accessor tiered_config: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::TieredConfig + + attr_accessor billable_metric_id: String? + + attr_accessor billed_in_advance: bool? + + attr_accessor billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::BillingCycleConfiguration? + + attr_accessor conversion_rate: Float? + + attr_accessor currency: String? + + attr_accessor dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::DimensionalPriceConfiguration? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoice_grouping_key: String? + + attr_accessor invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration? + + attr_accessor metadata: ::Hash[Symbol, String?]? + + def initialize: ( + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::cadence, + item_id: String, + name: String, + tiered_config: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::TieredConfig, + ?billable_metric_id: String?, + ?billed_in_advance: bool?, + ?billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::BillingCycleConfiguration?, + ?conversion_rate: Float?, + ?currency: String?, + ?dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::DimensionalPriceConfiguration?, + ?external_price_id: String?, + ?fixed_price_quantity: Float?, + ?invoice_grouping_key: String?, + ?invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration?, + ?metadata: ::Hash[Symbol, String?]?, + ?model_type: :tiered + ) -> void + + def to_hash: -> { + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::cadence, + item_id: String, + model_type: :tiered, + name: String, + tiered_config: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::TieredConfig, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + type cadence = + :annual + | :semi_annual + | :monthly + | :quarterly + | :one_time + | :custom + + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL: :annual + SEMI_ANNUAL: :semi_annual + MONTHLY: :monthly + QUARTERLY: :quarterly + ONE_TIME: :one_time + CUSTOM: :custom + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::cadence] + end + + type tiered_config = + { + tiers: ::Array[Orb::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::TieredConfig::Tier] + } + + class TieredConfig < Orb::Internal::Type::BaseModel + attr_accessor tiers: ::Array[Orb::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::TieredConfig::Tier] + + def initialize: ( + tiers: ::Array[Orb::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::TieredConfig::Tier] + ) -> void + + def to_hash: -> { + tiers: ::Array[Orb::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::TieredConfig::Tier] + } + + type tier = + { first_unit: Float, unit_amount: String, last_unit: Float? } + + class Tier < Orb::Internal::Type::BaseModel + attr_accessor first_unit: Float + + attr_accessor unit_amount: String + + attr_accessor last_unit: Float? + + def initialize: ( + first_unit: Float, + unit_amount: String, + ?last_unit: Float? + ) -> void + + def to_hash: -> { + first_unit: Float, + unit_amount: String, + last_unit: Float? + } + end + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::BillingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::BillingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::BillingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::BillingCycleConfiguration::duration_unit] + end + end + + type dimensional_price_configuration = + { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String] + + attr_accessor dimensional_price_group_id: String? + + attr_accessor external_dimensional_price_group_id: String? + + def initialize: ( + dimension_values: ::Array[String], + ?dimensional_price_group_id: String?, + ?external_dimensional_price_group_id: String? + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration::duration_unit] + end + end + end + + type tiered_bps = + { + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::cadence, + item_id: String, + model_type: :tiered_bps, + name: String, + tiered_bps_config: Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::TieredBpsConfig, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + class TieredBps < Orb::Internal::Type::BaseModel + attr_accessor cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::cadence + + attr_accessor item_id: String + + attr_accessor model_type: :tiered_bps + + attr_accessor name: String + + attr_accessor tiered_bps_config: Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::TieredBpsConfig + + attr_accessor billable_metric_id: String? + + attr_accessor billed_in_advance: bool? + + attr_accessor billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::BillingCycleConfiguration? + + attr_accessor conversion_rate: Float? + + attr_accessor currency: String? + + attr_accessor dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::DimensionalPriceConfiguration? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoice_grouping_key: String? + + attr_accessor invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration? + + attr_accessor metadata: ::Hash[Symbol, String?]? + + def initialize: ( + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::cadence, + item_id: String, + name: String, + tiered_bps_config: Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::TieredBpsConfig, + ?billable_metric_id: String?, + ?billed_in_advance: bool?, + ?billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::BillingCycleConfiguration?, + ?conversion_rate: Float?, + ?currency: String?, + ?dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::DimensionalPriceConfiguration?, + ?external_price_id: String?, + ?fixed_price_quantity: Float?, + ?invoice_grouping_key: String?, + ?invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration?, + ?metadata: ::Hash[Symbol, String?]?, + ?model_type: :tiered_bps + ) -> void + + def to_hash: -> { + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::cadence, + item_id: String, + model_type: :tiered_bps, + name: String, + tiered_bps_config: Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::TieredBpsConfig, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + type cadence = + :annual + | :semi_annual + | :monthly + | :quarterly + | :one_time + | :custom + + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL: :annual + SEMI_ANNUAL: :semi_annual + MONTHLY: :monthly + QUARTERLY: :quarterly + ONE_TIME: :one_time + CUSTOM: :custom + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::cadence] + end + + type tiered_bps_config = + { + tiers: ::Array[Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::TieredBpsConfig::Tier] + } + + class TieredBpsConfig < Orb::Internal::Type::BaseModel + attr_accessor tiers: ::Array[Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::TieredBpsConfig::Tier] + + def initialize: ( + tiers: ::Array[Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::TieredBpsConfig::Tier] + ) -> void + + def to_hash: -> { + tiers: ::Array[Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::TieredBpsConfig::Tier] + } + + type tier = + { + bps: Float, + minimum_amount: String, + maximum_amount: String?, + per_unit_maximum: String? + } + + class Tier < Orb::Internal::Type::BaseModel + attr_accessor bps: Float + + attr_accessor minimum_amount: String + + attr_accessor maximum_amount: String? + + attr_accessor per_unit_maximum: String? + + def initialize: ( + bps: Float, + minimum_amount: String, + ?maximum_amount: String?, + ?per_unit_maximum: String? + ) -> void + + def to_hash: -> { + bps: Float, + minimum_amount: String, + maximum_amount: String?, + per_unit_maximum: String? + } + end + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::BillingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::BillingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::BillingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::BillingCycleConfiguration::duration_unit] + end + end + + type dimensional_price_configuration = + { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String] + + attr_accessor dimensional_price_group_id: String? + + attr_accessor external_dimensional_price_group_id: String? + + def initialize: ( + dimension_values: ::Array[String], + ?dimensional_price_group_id: String?, + ?external_dimensional_price_group_id: String? + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration::duration_unit] + end + end + end + + type bps = + { + bps_config: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bps::BpsConfig, + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Bps::cadence, + item_id: String, + model_type: :bps, + name: String, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bps::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bps::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bps::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + class Bps < Orb::Internal::Type::BaseModel + attr_accessor bps_config: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bps::BpsConfig + + attr_accessor cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Bps::cadence + + attr_accessor item_id: String + + attr_accessor model_type: :bps + + attr_accessor name: String + + attr_accessor billable_metric_id: String? + + attr_accessor billed_in_advance: bool? + + attr_accessor billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bps::BillingCycleConfiguration? + + attr_accessor conversion_rate: Float? + + attr_accessor currency: String? + + attr_accessor dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bps::DimensionalPriceConfiguration? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoice_grouping_key: String? + + attr_accessor invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bps::InvoicingCycleConfiguration? + + attr_accessor metadata: ::Hash[Symbol, String?]? + + def initialize: ( + bps_config: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bps::BpsConfig, + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Bps::cadence, + item_id: String, + name: String, + ?billable_metric_id: String?, + ?billed_in_advance: bool?, + ?billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bps::BillingCycleConfiguration?, + ?conversion_rate: Float?, + ?currency: String?, + ?dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bps::DimensionalPriceConfiguration?, + ?external_price_id: String?, + ?fixed_price_quantity: Float?, + ?invoice_grouping_key: String?, + ?invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bps::InvoicingCycleConfiguration?, + ?metadata: ::Hash[Symbol, String?]?, + ?model_type: :bps + ) -> void + + def to_hash: -> { + bps_config: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bps::BpsConfig, + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Bps::cadence, + item_id: String, + model_type: :bps, + name: String, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bps::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bps::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bps::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + type bps_config = { bps: Float, per_unit_maximum: String? } + + class BpsConfig < Orb::Internal::Type::BaseModel + attr_accessor bps: Float + + attr_accessor per_unit_maximum: String? + + def initialize: (bps: Float, ?per_unit_maximum: String?) -> void + + def to_hash: -> { bps: Float, per_unit_maximum: String? } + end + + type cadence = + :annual + | :semi_annual + | :monthly + | :quarterly + | :one_time + | :custom + + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL: :annual + SEMI_ANNUAL: :semi_annual + MONTHLY: :monthly + QUARTERLY: :quarterly + ONE_TIME: :one_time + CUSTOM: :custom + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Bps::cadence] + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Bps::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Bps::BillingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Bps::BillingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Bps::BillingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Bps::BillingCycleConfiguration::duration_unit] + end + end + + type dimensional_price_configuration = + { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String] + + attr_accessor dimensional_price_group_id: String? + + attr_accessor external_dimensional_price_group_id: String? + + def initialize: ( + dimension_values: ::Array[String], + ?dimensional_price_group_id: String?, + ?external_dimensional_price_group_id: String? + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Bps::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Bps::InvoicingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Bps::InvoicingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Bps::InvoicingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Bps::InvoicingCycleConfiguration::duration_unit] + end + end + end + + type bulk_bps = + { + bulk_bps_config: Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::BulkBpsConfig, + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::cadence, + item_id: String, + model_type: :bulk_bps, + name: String, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + class BulkBps < Orb::Internal::Type::BaseModel + attr_accessor bulk_bps_config: Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::BulkBpsConfig + + attr_accessor cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::cadence + + attr_accessor item_id: String + + attr_accessor model_type: :bulk_bps + + attr_accessor name: String + + attr_accessor billable_metric_id: String? + + attr_accessor billed_in_advance: bool? + + attr_accessor billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::BillingCycleConfiguration? + + attr_accessor conversion_rate: Float? + + attr_accessor currency: String? + + attr_accessor dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::DimensionalPriceConfiguration? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoice_grouping_key: String? + + attr_accessor invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration? + + attr_accessor metadata: ::Hash[Symbol, String?]? + + def initialize: ( + bulk_bps_config: Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::BulkBpsConfig, + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::cadence, + item_id: String, + name: String, + ?billable_metric_id: String?, + ?billed_in_advance: bool?, + ?billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::BillingCycleConfiguration?, + ?conversion_rate: Float?, + ?currency: String?, + ?dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::DimensionalPriceConfiguration?, + ?external_price_id: String?, + ?fixed_price_quantity: Float?, + ?invoice_grouping_key: String?, + ?invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration?, + ?metadata: ::Hash[Symbol, String?]?, + ?model_type: :bulk_bps + ) -> void + + def to_hash: -> { + bulk_bps_config: Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::BulkBpsConfig, + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::cadence, + item_id: String, + model_type: :bulk_bps, + name: String, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + type bulk_bps_config = + { + tiers: ::Array[Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::BulkBpsConfig::Tier] + } + + class BulkBpsConfig < Orb::Internal::Type::BaseModel + attr_accessor tiers: ::Array[Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::BulkBpsConfig::Tier] + + def initialize: ( + tiers: ::Array[Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::BulkBpsConfig::Tier] + ) -> void + + def to_hash: -> { + tiers: ::Array[Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::BulkBpsConfig::Tier] + } + + type tier = + { + bps: Float, + maximum_amount: String?, + per_unit_maximum: String? + } + + class Tier < Orb::Internal::Type::BaseModel + attr_accessor bps: Float + + attr_accessor maximum_amount: String? + + attr_accessor per_unit_maximum: String? + + def initialize: ( + bps: Float, + ?maximum_amount: String?, + ?per_unit_maximum: String? + ) -> void + + def to_hash: -> { + bps: Float, + maximum_amount: String?, + per_unit_maximum: String? + } + end + end + + type cadence = + :annual + | :semi_annual + | :monthly + | :quarterly + | :one_time + | :custom + + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL: :annual + SEMI_ANNUAL: :semi_annual + MONTHLY: :monthly + QUARTERLY: :quarterly + ONE_TIME: :one_time + CUSTOM: :custom + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::cadence] + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::BillingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::BillingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::BillingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::BillingCycleConfiguration::duration_unit] + end + end + + type dimensional_price_configuration = + { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String] + + attr_accessor dimensional_price_group_id: String? + + attr_accessor external_dimensional_price_group_id: String? + + def initialize: ( + dimension_values: ::Array[String], + ?dimensional_price_group_id: String?, + ?external_dimensional_price_group_id: String? + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration::duration_unit] + end + end + end + + type bulk = + { + bulk_config: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::BulkConfig, + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::cadence, + item_id: String, + model_type: :bulk, + name: String, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + class Bulk < Orb::Internal::Type::BaseModel + attr_accessor bulk_config: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::BulkConfig + + attr_accessor cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::cadence + + attr_accessor item_id: String + + attr_accessor model_type: :bulk + + attr_accessor name: String + + attr_accessor billable_metric_id: String? + + attr_accessor billed_in_advance: bool? + + attr_accessor billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::BillingCycleConfiguration? + + attr_accessor conversion_rate: Float? + + attr_accessor currency: String? + + attr_accessor dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::DimensionalPriceConfiguration? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoice_grouping_key: String? + + attr_accessor invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration? + + attr_accessor metadata: ::Hash[Symbol, String?]? + + def initialize: ( + bulk_config: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::BulkConfig, + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::cadence, + item_id: String, + name: String, + ?billable_metric_id: String?, + ?billed_in_advance: bool?, + ?billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::BillingCycleConfiguration?, + ?conversion_rate: Float?, + ?currency: String?, + ?dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::DimensionalPriceConfiguration?, + ?external_price_id: String?, + ?fixed_price_quantity: Float?, + ?invoice_grouping_key: String?, + ?invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration?, + ?metadata: ::Hash[Symbol, String?]?, + ?model_type: :bulk + ) -> void + + def to_hash: -> { + bulk_config: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::BulkConfig, + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::cadence, + item_id: String, + model_type: :bulk, + name: String, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + type bulk_config = + { + tiers: ::Array[Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::BulkConfig::Tier] + } + + class BulkConfig < Orb::Internal::Type::BaseModel + attr_accessor tiers: ::Array[Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::BulkConfig::Tier] + + def initialize: ( + tiers: ::Array[Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::BulkConfig::Tier] + ) -> void + + def to_hash: -> { + tiers: ::Array[Orb::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::BulkConfig::Tier] + } + + type tier = { unit_amount: String, maximum_units: Float? } + + class Tier < Orb::Internal::Type::BaseModel + attr_accessor unit_amount: String + + attr_accessor maximum_units: Float? + + def initialize: ( + unit_amount: String, + ?maximum_units: Float? + ) -> void + + def to_hash: -> { unit_amount: String, maximum_units: Float? } + end + end + + type cadence = + :annual + | :semi_annual + | :monthly + | :quarterly + | :one_time + | :custom + + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL: :annual + SEMI_ANNUAL: :semi_annual + MONTHLY: :monthly + QUARTERLY: :quarterly + ONE_TIME: :one_time + CUSTOM: :custom + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::cadence] + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::BillingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::BillingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::BillingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::BillingCycleConfiguration::duration_unit] + end + end + + type dimensional_price_configuration = + { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String] + + attr_accessor dimensional_price_group_id: String? + + attr_accessor external_dimensional_price_group_id: String? + + def initialize: ( + dimension_values: ::Array[String], + ?dimensional_price_group_id: String?, + ?external_dimensional_price_group_id: String? + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration::duration_unit] + end + end + end + + type threshold_total_amount = + { + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::cadence, + item_id: String, + model_type: :threshold_total_amount, + name: String, + threshold_total_amount_config: ::Hash[Symbol, top], + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + class ThresholdTotalAmount < Orb::Internal::Type::BaseModel + attr_accessor cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::cadence + + attr_accessor item_id: String + + attr_accessor model_type: :threshold_total_amount + + attr_accessor name: String + + attr_accessor threshold_total_amount_config: ::Hash[Symbol, top] + + attr_accessor billable_metric_id: String? + + attr_accessor billed_in_advance: bool? + + attr_accessor billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration? + + attr_accessor conversion_rate: Float? + + attr_accessor currency: String? + + attr_accessor dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoice_grouping_key: String? + + attr_accessor invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration? + + attr_accessor metadata: ::Hash[Symbol, String?]? + + def initialize: ( + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::cadence, + item_id: String, + name: String, + threshold_total_amount_config: ::Hash[Symbol, top], + ?billable_metric_id: String?, + ?billed_in_advance: bool?, + ?billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration?, + ?conversion_rate: Float?, + ?currency: String?, + ?dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration?, + ?external_price_id: String?, + ?fixed_price_quantity: Float?, + ?invoice_grouping_key: String?, + ?invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration?, + ?metadata: ::Hash[Symbol, String?]?, + ?model_type: :threshold_total_amount + ) -> void + + def to_hash: -> { + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::cadence, + item_id: String, + model_type: :threshold_total_amount, + name: String, + threshold_total_amount_config: ::Hash[Symbol, top], + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + type cadence = + :annual + | :semi_annual + | :monthly + | :quarterly + | :one_time + | :custom + + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL: :annual + SEMI_ANNUAL: :semi_annual + MONTHLY: :monthly + QUARTERLY: :quarterly + ONE_TIME: :one_time + CUSTOM: :custom + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::cadence] + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::duration_unit] + end + end + + type dimensional_price_configuration = + { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String] + + attr_accessor dimensional_price_group_id: String? + + attr_accessor external_dimensional_price_group_id: String? + + def initialize: ( + dimension_values: ::Array[String], + ?dimensional_price_group_id: String?, + ?external_dimensional_price_group_id: String? + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::duration_unit] + end + end + end + + type tiered_package = + { + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::cadence, + item_id: String, + model_type: :tiered_package, + name: String, + tiered_package_config: ::Hash[Symbol, top], + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + class TieredPackage < Orb::Internal::Type::BaseModel + attr_accessor cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::cadence + + attr_accessor item_id: String + + attr_accessor model_type: :tiered_package + + attr_accessor name: String + + attr_accessor tiered_package_config: ::Hash[Symbol, top] + + attr_accessor billable_metric_id: String? + + attr_accessor billed_in_advance: bool? + + attr_accessor billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration? + + attr_accessor conversion_rate: Float? + + attr_accessor currency: String? + + attr_accessor dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::DimensionalPriceConfiguration? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoice_grouping_key: String? + + attr_accessor invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration? + + attr_accessor metadata: ::Hash[Symbol, String?]? + + def initialize: ( + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::cadence, + item_id: String, + name: String, + tiered_package_config: ::Hash[Symbol, top], + ?billable_metric_id: String?, + ?billed_in_advance: bool?, + ?billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration?, + ?conversion_rate: Float?, + ?currency: String?, + ?dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::DimensionalPriceConfiguration?, + ?external_price_id: String?, + ?fixed_price_quantity: Float?, + ?invoice_grouping_key: String?, + ?invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration?, + ?metadata: ::Hash[Symbol, String?]?, + ?model_type: :tiered_package + ) -> void + + def to_hash: -> { + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::cadence, + item_id: String, + model_type: :tiered_package, + name: String, + tiered_package_config: ::Hash[Symbol, top], + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + type cadence = + :annual + | :semi_annual + | :monthly + | :quarterly + | :one_time + | :custom + + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL: :annual + SEMI_ANNUAL: :semi_annual + MONTHLY: :monthly + QUARTERLY: :quarterly + ONE_TIME: :one_time + CUSTOM: :custom + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::cadence] + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration::duration_unit] + end + end + + type dimensional_price_configuration = + { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String] + + attr_accessor dimensional_price_group_id: String? + + attr_accessor external_dimensional_price_group_id: String? + + def initialize: ( + dimension_values: ::Array[String], + ?dimensional_price_group_id: String?, + ?external_dimensional_price_group_id: String? + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration::duration_unit] + end + end + end + + type tiered_with_minimum = + { + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::cadence, + item_id: String, + model_type: :tiered_with_minimum, + name: String, + tiered_with_minimum_config: ::Hash[Symbol, top], + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + class TieredWithMinimum < Orb::Internal::Type::BaseModel + attr_accessor cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::cadence + + attr_accessor item_id: String + + attr_accessor model_type: :tiered_with_minimum + + attr_accessor name: String + + attr_accessor tiered_with_minimum_config: ::Hash[Symbol, top] + + attr_accessor billable_metric_id: String? + + attr_accessor billed_in_advance: bool? + + attr_accessor billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration? + + attr_accessor conversion_rate: Float? + + attr_accessor currency: String? + + attr_accessor dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::DimensionalPriceConfiguration? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoice_grouping_key: String? + + attr_accessor invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration? + + attr_accessor metadata: ::Hash[Symbol, String?]? + + def initialize: ( + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::cadence, + item_id: String, + name: String, + tiered_with_minimum_config: ::Hash[Symbol, top], + ?billable_metric_id: String?, + ?billed_in_advance: bool?, + ?billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration?, + ?conversion_rate: Float?, + ?currency: String?, + ?dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::DimensionalPriceConfiguration?, + ?external_price_id: String?, + ?fixed_price_quantity: Float?, + ?invoice_grouping_key: String?, + ?invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration?, + ?metadata: ::Hash[Symbol, String?]?, + ?model_type: :tiered_with_minimum + ) -> void + + def to_hash: -> { + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::cadence, + item_id: String, + model_type: :tiered_with_minimum, + name: String, + tiered_with_minimum_config: ::Hash[Symbol, top], + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + type cadence = + :annual + | :semi_annual + | :monthly + | :quarterly + | :one_time + | :custom + + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL: :annual + SEMI_ANNUAL: :semi_annual + MONTHLY: :monthly + QUARTERLY: :quarterly + ONE_TIME: :one_time + CUSTOM: :custom + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::cadence] + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration::duration_unit] + end + end + + type dimensional_price_configuration = + { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String] + + attr_accessor dimensional_price_group_id: String? + + attr_accessor external_dimensional_price_group_id: String? + + def initialize: ( + dimension_values: ::Array[String], + ?dimensional_price_group_id: String?, + ?external_dimensional_price_group_id: String? + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::duration_unit] + end + end + end + + type unit_with_percent = + { + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::cadence, + item_id: String, + model_type: :unit_with_percent, + name: String, + unit_with_percent_config: ::Hash[Symbol, top], + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + class UnitWithPercent < Orb::Internal::Type::BaseModel + attr_accessor cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::cadence + + attr_accessor item_id: String + + attr_accessor model_type: :unit_with_percent + + attr_accessor name: String + + attr_accessor unit_with_percent_config: ::Hash[Symbol, top] + + attr_accessor billable_metric_id: String? + + attr_accessor billed_in_advance: bool? + + attr_accessor billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration? + + attr_accessor conversion_rate: Float? + + attr_accessor currency: String? + + attr_accessor dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::DimensionalPriceConfiguration? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoice_grouping_key: String? + + attr_accessor invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration? + + attr_accessor metadata: ::Hash[Symbol, String?]? + + def initialize: ( + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::cadence, + item_id: String, + name: String, + unit_with_percent_config: ::Hash[Symbol, top], + ?billable_metric_id: String?, + ?billed_in_advance: bool?, + ?billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration?, + ?conversion_rate: Float?, + ?currency: String?, + ?dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::DimensionalPriceConfiguration?, + ?external_price_id: String?, + ?fixed_price_quantity: Float?, + ?invoice_grouping_key: String?, + ?invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration?, + ?metadata: ::Hash[Symbol, String?]?, + ?model_type: :unit_with_percent + ) -> void + + def to_hash: -> { + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::cadence, + item_id: String, + model_type: :unit_with_percent, + name: String, + unit_with_percent_config: ::Hash[Symbol, top], + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + type cadence = + :annual + | :semi_annual + | :monthly + | :quarterly + | :one_time + | :custom + + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL: :annual + SEMI_ANNUAL: :semi_annual + MONTHLY: :monthly + QUARTERLY: :quarterly + ONE_TIME: :one_time + CUSTOM: :custom + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::cadence] + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration::duration_unit] + end + end + + type dimensional_price_configuration = + { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String] + + attr_accessor dimensional_price_group_id: String? + + attr_accessor external_dimensional_price_group_id: String? + + def initialize: ( + dimension_values: ::Array[String], + ?dimensional_price_group_id: String?, + ?external_dimensional_price_group_id: String? + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration::duration_unit] + end + end + end + + type package_with_allocation = + { + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::cadence, + item_id: String, + model_type: :package_with_allocation, + name: String, + package_with_allocation_config: ::Hash[Symbol, top], + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + class PackageWithAllocation < Orb::Internal::Type::BaseModel + attr_accessor cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::cadence + + attr_accessor item_id: String + + attr_accessor model_type: :package_with_allocation + + attr_accessor name: String + + attr_accessor package_with_allocation_config: ::Hash[Symbol, top] + + attr_accessor billable_metric_id: String? + + attr_accessor billed_in_advance: bool? + + attr_accessor billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration? + + attr_accessor conversion_rate: Float? + + attr_accessor currency: String? + + attr_accessor dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::DimensionalPriceConfiguration? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoice_grouping_key: String? + + attr_accessor invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration? + + attr_accessor metadata: ::Hash[Symbol, String?]? + + def initialize: ( + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::cadence, + item_id: String, + name: String, + package_with_allocation_config: ::Hash[Symbol, top], + ?billable_metric_id: String?, + ?billed_in_advance: bool?, + ?billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration?, + ?conversion_rate: Float?, + ?currency: String?, + ?dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::DimensionalPriceConfiguration?, + ?external_price_id: String?, + ?fixed_price_quantity: Float?, + ?invoice_grouping_key: String?, + ?invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration?, + ?metadata: ::Hash[Symbol, String?]?, + ?model_type: :package_with_allocation + ) -> void + + def to_hash: -> { + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::cadence, + item_id: String, + model_type: :package_with_allocation, + name: String, + package_with_allocation_config: ::Hash[Symbol, top], + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + type cadence = + :annual + | :semi_annual + | :monthly + | :quarterly + | :one_time + | :custom + + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL: :annual + SEMI_ANNUAL: :semi_annual + MONTHLY: :monthly + QUARTERLY: :quarterly + ONE_TIME: :one_time + CUSTOM: :custom + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::cadence] + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration::duration_unit] + end + end + + type dimensional_price_configuration = + { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String] + + attr_accessor dimensional_price_group_id: String? + + attr_accessor external_dimensional_price_group_id: String? + + def initialize: ( + dimension_values: ::Array[String], + ?dimensional_price_group_id: String?, + ?external_dimensional_price_group_id: String? + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::duration_unit] + end + end + end + + type tiered_with_proration = + { + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::cadence, + item_id: String, + model_type: :tiered_with_proration, + name: String, + tiered_with_proration_config: ::Hash[Symbol, top], + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + class TieredWithProration < Orb::Internal::Type::BaseModel + attr_accessor cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::cadence + + attr_accessor item_id: String + + attr_accessor model_type: :tiered_with_proration + + attr_accessor name: String + + attr_accessor tiered_with_proration_config: ::Hash[Symbol, top] + + attr_accessor billable_metric_id: String? + + attr_accessor billed_in_advance: bool? + + attr_accessor billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration? + + attr_accessor conversion_rate: Float? + + attr_accessor currency: String? + + attr_accessor dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::DimensionalPriceConfiguration? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoice_grouping_key: String? + + attr_accessor invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration? + + attr_accessor metadata: ::Hash[Symbol, String?]? + + def initialize: ( + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::cadence, + item_id: String, + name: String, + tiered_with_proration_config: ::Hash[Symbol, top], + ?billable_metric_id: String?, + ?billed_in_advance: bool?, + ?billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration?, + ?conversion_rate: Float?, + ?currency: String?, + ?dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::DimensionalPriceConfiguration?, + ?external_price_id: String?, + ?fixed_price_quantity: Float?, + ?invoice_grouping_key: String?, + ?invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration?, + ?metadata: ::Hash[Symbol, String?]?, + ?model_type: :tiered_with_proration + ) -> void + + def to_hash: -> { + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::cadence, + item_id: String, + model_type: :tiered_with_proration, + name: String, + tiered_with_proration_config: ::Hash[Symbol, top], + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + type cadence = + :annual + | :semi_annual + | :monthly + | :quarterly + | :one_time + | :custom + + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL: :annual + SEMI_ANNUAL: :semi_annual + MONTHLY: :monthly + QUARTERLY: :quarterly + ONE_TIME: :one_time + CUSTOM: :custom + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::cadence] + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration::duration_unit] + end + end + + type dimensional_price_configuration = + { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String] + + attr_accessor dimensional_price_group_id: String? + + attr_accessor external_dimensional_price_group_id: String? + + def initialize: ( + dimension_values: ::Array[String], + ?dimensional_price_group_id: String?, + ?external_dimensional_price_group_id: String? + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration::duration_unit] + end + end + end + + type unit_with_proration = + { + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::cadence, + item_id: String, + model_type: :unit_with_proration, + name: String, + unit_with_proration_config: ::Hash[Symbol, top], + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + class UnitWithProration < Orb::Internal::Type::BaseModel + attr_accessor cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::cadence + + attr_accessor item_id: String + + attr_accessor model_type: :unit_with_proration + + attr_accessor name: String + + attr_accessor unit_with_proration_config: ::Hash[Symbol, top] + + attr_accessor billable_metric_id: String? + + attr_accessor billed_in_advance: bool? + + attr_accessor billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration? + + attr_accessor conversion_rate: Float? + + attr_accessor currency: String? + + attr_accessor dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::DimensionalPriceConfiguration? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoice_grouping_key: String? + + attr_accessor invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration? + + attr_accessor metadata: ::Hash[Symbol, String?]? + + def initialize: ( + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::cadence, + item_id: String, + name: String, + unit_with_proration_config: ::Hash[Symbol, top], + ?billable_metric_id: String?, + ?billed_in_advance: bool?, + ?billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration?, + ?conversion_rate: Float?, + ?currency: String?, + ?dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::DimensionalPriceConfiguration?, + ?external_price_id: String?, + ?fixed_price_quantity: Float?, + ?invoice_grouping_key: String?, + ?invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration?, + ?metadata: ::Hash[Symbol, String?]?, + ?model_type: :unit_with_proration + ) -> void + + def to_hash: -> { + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::cadence, + item_id: String, + model_type: :unit_with_proration, + name: String, + unit_with_proration_config: ::Hash[Symbol, top], + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + type cadence = + :annual + | :semi_annual + | :monthly + | :quarterly + | :one_time + | :custom + + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL: :annual + SEMI_ANNUAL: :semi_annual + MONTHLY: :monthly + QUARTERLY: :quarterly + ONE_TIME: :one_time + CUSTOM: :custom + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::cadence] + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration::duration_unit] + end + end + + type dimensional_price_configuration = + { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String] + + attr_accessor dimensional_price_group_id: String? + + attr_accessor external_dimensional_price_group_id: String? + + def initialize: ( + dimension_values: ::Array[String], + ?dimensional_price_group_id: String?, + ?external_dimensional_price_group_id: String? + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration::duration_unit] + end + end + end + + type grouped_allocation = + { + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::cadence, + grouped_allocation_config: ::Hash[Symbol, top], + item_id: String, + model_type: :grouped_allocation, + name: String, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + class GroupedAllocation < Orb::Internal::Type::BaseModel + attr_accessor cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::cadence + + attr_accessor grouped_allocation_config: ::Hash[Symbol, top] + + attr_accessor item_id: String + + attr_accessor model_type: :grouped_allocation + + attr_accessor name: String + + attr_accessor billable_metric_id: String? + + attr_accessor billed_in_advance: bool? + + attr_accessor billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration? + + attr_accessor conversion_rate: Float? + + attr_accessor currency: String? + + attr_accessor dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::DimensionalPriceConfiguration? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoice_grouping_key: String? + + attr_accessor invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration? + + attr_accessor metadata: ::Hash[Symbol, String?]? + + def initialize: ( + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::cadence, + grouped_allocation_config: ::Hash[Symbol, top], + item_id: String, + name: String, + ?billable_metric_id: String?, + ?billed_in_advance: bool?, + ?billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration?, + ?conversion_rate: Float?, + ?currency: String?, + ?dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::DimensionalPriceConfiguration?, + ?external_price_id: String?, + ?fixed_price_quantity: Float?, + ?invoice_grouping_key: String?, + ?invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration?, + ?metadata: ::Hash[Symbol, String?]?, + ?model_type: :grouped_allocation + ) -> void + + def to_hash: -> { + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::cadence, + grouped_allocation_config: ::Hash[Symbol, top], + item_id: String, + model_type: :grouped_allocation, + name: String, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + type cadence = + :annual + | :semi_annual + | :monthly + | :quarterly + | :one_time + | :custom + + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL: :annual + SEMI_ANNUAL: :semi_annual + MONTHLY: :monthly + QUARTERLY: :quarterly + ONE_TIME: :one_time + CUSTOM: :custom + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::cadence] + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration::duration_unit] + end + end + + type dimensional_price_configuration = + { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String] + + attr_accessor dimensional_price_group_id: String? + + attr_accessor external_dimensional_price_group_id: String? + + def initialize: ( + dimension_values: ::Array[String], + ?dimensional_price_group_id: String?, + ?external_dimensional_price_group_id: String? + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration::duration_unit] + end + end + end + + type grouped_with_prorated_minimum = + { + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::cadence, + grouped_with_prorated_minimum_config: ::Hash[Symbol, top], + item_id: String, + model_type: :grouped_with_prorated_minimum, + name: String, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + class GroupedWithProratedMinimum < Orb::Internal::Type::BaseModel + attr_accessor cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::cadence + + attr_accessor grouped_with_prorated_minimum_config: ::Hash[Symbol, top] + + attr_accessor item_id: String + + attr_accessor model_type: :grouped_with_prorated_minimum + + attr_accessor name: String + + attr_accessor billable_metric_id: String? + + attr_accessor billed_in_advance: bool? + + attr_accessor billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration? + + attr_accessor conversion_rate: Float? + + attr_accessor currency: String? + + attr_accessor dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoice_grouping_key: String? + + attr_accessor invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration? + + attr_accessor metadata: ::Hash[Symbol, String?]? + + def initialize: ( + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::cadence, + grouped_with_prorated_minimum_config: ::Hash[Symbol, top], + item_id: String, + name: String, + ?billable_metric_id: String?, + ?billed_in_advance: bool?, + ?billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration?, + ?conversion_rate: Float?, + ?currency: String?, + ?dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration?, + ?external_price_id: String?, + ?fixed_price_quantity: Float?, + ?invoice_grouping_key: String?, + ?invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration?, + ?metadata: ::Hash[Symbol, String?]?, + ?model_type: :grouped_with_prorated_minimum + ) -> void + + def to_hash: -> { + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::cadence, + grouped_with_prorated_minimum_config: ::Hash[Symbol, top], + item_id: String, + model_type: :grouped_with_prorated_minimum, + name: String, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + type cadence = + :annual + | :semi_annual + | :monthly + | :quarterly + | :one_time + | :custom + + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL: :annual + SEMI_ANNUAL: :semi_annual + MONTHLY: :monthly + QUARTERLY: :quarterly + ONE_TIME: :one_time + CUSTOM: :custom + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::cadence] + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::duration_unit] + end + end + + type dimensional_price_configuration = + { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String] + + attr_accessor dimensional_price_group_id: String? + + attr_accessor external_dimensional_price_group_id: String? + + def initialize: ( + dimension_values: ::Array[String], + ?dimensional_price_group_id: String?, + ?external_dimensional_price_group_id: String? + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::duration_unit] + end + end + end + + type grouped_with_metered_minimum = + { + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::cadence, + grouped_with_metered_minimum_config: ::Hash[Symbol, top], + item_id: String, + model_type: :grouped_with_metered_minimum, + name: String, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + class GroupedWithMeteredMinimum < Orb::Internal::Type::BaseModel + attr_accessor cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::cadence + + attr_accessor grouped_with_metered_minimum_config: ::Hash[Symbol, top] + + attr_accessor item_id: String + + attr_accessor model_type: :grouped_with_metered_minimum + + attr_accessor name: String + + attr_accessor billable_metric_id: String? + + attr_accessor billed_in_advance: bool? + + attr_accessor billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration? + + attr_accessor conversion_rate: Float? + + attr_accessor currency: String? + + attr_accessor dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoice_grouping_key: String? + + attr_accessor invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration? + + attr_accessor metadata: ::Hash[Symbol, String?]? + + def initialize: ( + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::cadence, + grouped_with_metered_minimum_config: ::Hash[Symbol, top], + item_id: String, + name: String, + ?billable_metric_id: String?, + ?billed_in_advance: bool?, + ?billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration?, + ?conversion_rate: Float?, + ?currency: String?, + ?dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration?, + ?external_price_id: String?, + ?fixed_price_quantity: Float?, + ?invoice_grouping_key: String?, + ?invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration?, + ?metadata: ::Hash[Symbol, String?]?, + ?model_type: :grouped_with_metered_minimum + ) -> void + + def to_hash: -> { + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::cadence, + grouped_with_metered_minimum_config: ::Hash[Symbol, top], + item_id: String, + model_type: :grouped_with_metered_minimum, + name: String, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + type cadence = + :annual + | :semi_annual + | :monthly + | :quarterly + | :one_time + | :custom + + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL: :annual + SEMI_ANNUAL: :semi_annual + MONTHLY: :monthly + QUARTERLY: :quarterly + ONE_TIME: :one_time + CUSTOM: :custom + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::cadence] + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::duration_unit] + end + end + + type dimensional_price_configuration = + { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String] + + attr_accessor dimensional_price_group_id: String? + + attr_accessor external_dimensional_price_group_id: String? + + def initialize: ( + dimension_values: ::Array[String], + ?dimensional_price_group_id: String?, + ?external_dimensional_price_group_id: String? + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::duration_unit] + end + end + end + + type matrix_with_display_name = + { + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::cadence, + item_id: String, + matrix_with_display_name_config: ::Hash[Symbol, top], + model_type: :matrix_with_display_name, + name: String, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + class MatrixWithDisplayName < Orb::Internal::Type::BaseModel + attr_accessor cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::cadence + + attr_accessor item_id: String + + attr_accessor matrix_with_display_name_config: ::Hash[Symbol, top] + + attr_accessor model_type: :matrix_with_display_name + + attr_accessor name: String + + attr_accessor billable_metric_id: String? + + attr_accessor billed_in_advance: bool? + + attr_accessor billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration? + + attr_accessor conversion_rate: Float? + + attr_accessor currency: String? + + attr_accessor dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoice_grouping_key: String? + + attr_accessor invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration? + + attr_accessor metadata: ::Hash[Symbol, String?]? + + def initialize: ( + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::cadence, + item_id: String, + matrix_with_display_name_config: ::Hash[Symbol, top], + name: String, + ?billable_metric_id: String?, + ?billed_in_advance: bool?, + ?billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration?, + ?conversion_rate: Float?, + ?currency: String?, + ?dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration?, + ?external_price_id: String?, + ?fixed_price_quantity: Float?, + ?invoice_grouping_key: String?, + ?invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration?, + ?metadata: ::Hash[Symbol, String?]?, + ?model_type: :matrix_with_display_name + ) -> void + + def to_hash: -> { + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::cadence, + item_id: String, + matrix_with_display_name_config: ::Hash[Symbol, top], + model_type: :matrix_with_display_name, + name: String, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + type cadence = + :annual + | :semi_annual + | :monthly + | :quarterly + | :one_time + | :custom + + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL: :annual + SEMI_ANNUAL: :semi_annual + MONTHLY: :monthly + QUARTERLY: :quarterly + ONE_TIME: :one_time + CUSTOM: :custom + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::cadence] + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::duration_unit] + end + end + + type dimensional_price_configuration = + { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String] + + attr_accessor dimensional_price_group_id: String? + + attr_accessor external_dimensional_price_group_id: String? + + def initialize: ( + dimension_values: ::Array[String], + ?dimensional_price_group_id: String?, + ?external_dimensional_price_group_id: String? + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::duration_unit] + end + end + end + + type bulk_with_proration = + { + bulk_with_proration_config: ::Hash[Symbol, top], + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::cadence, + item_id: String, + model_type: :bulk_with_proration, + name: String, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + class BulkWithProration < Orb::Internal::Type::BaseModel + attr_accessor bulk_with_proration_config: ::Hash[Symbol, top] + + attr_accessor cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::cadence + + attr_accessor item_id: String + + attr_accessor model_type: :bulk_with_proration + + attr_accessor name: String + + attr_accessor billable_metric_id: String? + + attr_accessor billed_in_advance: bool? + + attr_accessor billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration? + + attr_accessor conversion_rate: Float? + + attr_accessor currency: String? + + attr_accessor dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::DimensionalPriceConfiguration? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoice_grouping_key: String? + + attr_accessor invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration? + + attr_accessor metadata: ::Hash[Symbol, String?]? + + def initialize: ( + bulk_with_proration_config: ::Hash[Symbol, top], + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::cadence, + item_id: String, + name: String, + ?billable_metric_id: String?, + ?billed_in_advance: bool?, + ?billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration?, + ?conversion_rate: Float?, + ?currency: String?, + ?dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::DimensionalPriceConfiguration?, + ?external_price_id: String?, + ?fixed_price_quantity: Float?, + ?invoice_grouping_key: String?, + ?invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration?, + ?metadata: ::Hash[Symbol, String?]?, + ?model_type: :bulk_with_proration + ) -> void + + def to_hash: -> { + bulk_with_proration_config: ::Hash[Symbol, top], + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::cadence, + item_id: String, + model_type: :bulk_with_proration, + name: String, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + type cadence = + :annual + | :semi_annual + | :monthly + | :quarterly + | :one_time + | :custom + + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL: :annual + SEMI_ANNUAL: :semi_annual + MONTHLY: :monthly + QUARTERLY: :quarterly + ONE_TIME: :one_time + CUSTOM: :custom + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::cadence] + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration::duration_unit] + end + end + + type dimensional_price_configuration = + { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String] + + attr_accessor dimensional_price_group_id: String? + + attr_accessor external_dimensional_price_group_id: String? + + def initialize: ( + dimension_values: ::Array[String], + ?dimensional_price_group_id: String?, + ?external_dimensional_price_group_id: String? + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration::duration_unit] + end + end + end + + type grouped_tiered_package = + { + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::cadence, + grouped_tiered_package_config: ::Hash[Symbol, top], + item_id: String, + model_type: :grouped_tiered_package, + name: String, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + class GroupedTieredPackage < Orb::Internal::Type::BaseModel + attr_accessor cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::cadence + + attr_accessor grouped_tiered_package_config: ::Hash[Symbol, top] + + attr_accessor item_id: String + + attr_accessor model_type: :grouped_tiered_package + + attr_accessor name: String + + attr_accessor billable_metric_id: String? + + attr_accessor billed_in_advance: bool? + + attr_accessor billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration? + + attr_accessor conversion_rate: Float? + + attr_accessor currency: String? + + attr_accessor dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoice_grouping_key: String? + + attr_accessor invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration? + + attr_accessor metadata: ::Hash[Symbol, String?]? + + def initialize: ( + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::cadence, + grouped_tiered_package_config: ::Hash[Symbol, top], + item_id: String, + name: String, + ?billable_metric_id: String?, + ?billed_in_advance: bool?, + ?billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration?, + ?conversion_rate: Float?, + ?currency: String?, + ?dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration?, + ?external_price_id: String?, + ?fixed_price_quantity: Float?, + ?invoice_grouping_key: String?, + ?invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration?, + ?metadata: ::Hash[Symbol, String?]?, + ?model_type: :grouped_tiered_package + ) -> void + + def to_hash: -> { + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::cadence, + grouped_tiered_package_config: ::Hash[Symbol, top], + item_id: String, + model_type: :grouped_tiered_package, + name: String, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + type cadence = + :annual + | :semi_annual + | :monthly + | :quarterly + | :one_time + | :custom + + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL: :annual + SEMI_ANNUAL: :semi_annual + MONTHLY: :monthly + QUARTERLY: :quarterly + ONE_TIME: :one_time + CUSTOM: :custom + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::cadence] + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration::duration_unit] + end + end + + type dimensional_price_configuration = + { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String] + + attr_accessor dimensional_price_group_id: String? + + attr_accessor external_dimensional_price_group_id: String? + + def initialize: ( + dimension_values: ::Array[String], + ?dimensional_price_group_id: String?, + ?external_dimensional_price_group_id: String? + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::duration_unit] + end + end + end + + type max_group_tiered_package = + { + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::cadence, + item_id: String, + max_group_tiered_package_config: ::Hash[Symbol, top], + model_type: :max_group_tiered_package, + name: String, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + class MaxGroupTieredPackage < Orb::Internal::Type::BaseModel + attr_accessor cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::cadence + + attr_accessor item_id: String + + attr_accessor max_group_tiered_package_config: ::Hash[Symbol, top] + + attr_accessor model_type: :max_group_tiered_package + + attr_accessor name: String + + attr_accessor billable_metric_id: String? + + attr_accessor billed_in_advance: bool? + + attr_accessor billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration? + + attr_accessor conversion_rate: Float? + + attr_accessor currency: String? + + attr_accessor dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoice_grouping_key: String? + + attr_accessor invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration? + + attr_accessor metadata: ::Hash[Symbol, String?]? + + def initialize: ( + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::cadence, + item_id: String, + max_group_tiered_package_config: ::Hash[Symbol, top], + name: String, + ?billable_metric_id: String?, + ?billed_in_advance: bool?, + ?billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration?, + ?conversion_rate: Float?, + ?currency: String?, + ?dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration?, + ?external_price_id: String?, + ?fixed_price_quantity: Float?, + ?invoice_grouping_key: String?, + ?invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration?, + ?metadata: ::Hash[Symbol, String?]?, + ?model_type: :max_group_tiered_package + ) -> void + + def to_hash: -> { + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::cadence, + item_id: String, + max_group_tiered_package_config: ::Hash[Symbol, top], + model_type: :max_group_tiered_package, + name: String, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + type cadence = + :annual + | :semi_annual + | :monthly + | :quarterly + | :one_time + | :custom + + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL: :annual + SEMI_ANNUAL: :semi_annual + MONTHLY: :monthly + QUARTERLY: :quarterly + ONE_TIME: :one_time + CUSTOM: :custom + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::cadence] + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::duration_unit] + end + end + + type dimensional_price_configuration = + { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String] + + attr_accessor dimensional_price_group_id: String? + + attr_accessor external_dimensional_price_group_id: String? + + def initialize: ( + dimension_values: ::Array[String], + ?dimensional_price_group_id: String?, + ?external_dimensional_price_group_id: String? + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::duration_unit] + end + end + end + + type scalable_matrix_with_unit_pricing = + { + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::cadence, + item_id: String, + model_type: :scalable_matrix_with_unit_pricing, + name: String, + scalable_matrix_with_unit_pricing_config: ::Hash[Symbol, top], + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + class ScalableMatrixWithUnitPricing < Orb::Internal::Type::BaseModel + attr_accessor cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::cadence + + attr_accessor item_id: String + + attr_accessor model_type: :scalable_matrix_with_unit_pricing + + attr_accessor name: String + + attr_accessor scalable_matrix_with_unit_pricing_config: ::Hash[Symbol, top] + + attr_accessor billable_metric_id: String? + + attr_accessor billed_in_advance: bool? + + attr_accessor billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration? + + attr_accessor conversion_rate: Float? + + attr_accessor currency: String? + + attr_accessor dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoice_grouping_key: String? + + attr_accessor invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration? + + attr_accessor metadata: ::Hash[Symbol, String?]? + + def initialize: ( + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::cadence, + item_id: String, + name: String, + scalable_matrix_with_unit_pricing_config: ::Hash[Symbol, top], + ?billable_metric_id: String?, + ?billed_in_advance: bool?, + ?billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration?, + ?conversion_rate: Float?, + ?currency: String?, + ?dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration?, + ?external_price_id: String?, + ?fixed_price_quantity: Float?, + ?invoice_grouping_key: String?, + ?invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration?, + ?metadata: ::Hash[Symbol, String?]?, + ?model_type: :scalable_matrix_with_unit_pricing + ) -> void + + def to_hash: -> { + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::cadence, + item_id: String, + model_type: :scalable_matrix_with_unit_pricing, + name: String, + scalable_matrix_with_unit_pricing_config: ::Hash[Symbol, top], + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + type cadence = + :annual + | :semi_annual + | :monthly + | :quarterly + | :one_time + | :custom + + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL: :annual + SEMI_ANNUAL: :semi_annual + MONTHLY: :monthly + QUARTERLY: :quarterly + ONE_TIME: :one_time + CUSTOM: :custom + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::cadence] + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::duration_unit] + end + end + + type dimensional_price_configuration = + { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String] + + attr_accessor dimensional_price_group_id: String? + + attr_accessor external_dimensional_price_group_id: String? + + def initialize: ( + dimension_values: ::Array[String], + ?dimensional_price_group_id: String?, + ?external_dimensional_price_group_id: String? + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::duration_unit] + end + end + end + + type scalable_matrix_with_tiered_pricing = + { + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::cadence, + item_id: String, + model_type: :scalable_matrix_with_tiered_pricing, + name: String, + scalable_matrix_with_tiered_pricing_config: ::Hash[Symbol, top], + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + class ScalableMatrixWithTieredPricing < Orb::Internal::Type::BaseModel + attr_accessor cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::cadence + + attr_accessor item_id: String + + attr_accessor model_type: :scalable_matrix_with_tiered_pricing + + attr_accessor name: String + + attr_accessor scalable_matrix_with_tiered_pricing_config: ::Hash[Symbol, top] + + attr_accessor billable_metric_id: String? + + attr_accessor billed_in_advance: bool? + + attr_accessor billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration? + + attr_accessor conversion_rate: Float? + + attr_accessor currency: String? + + attr_accessor dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoice_grouping_key: String? + + attr_accessor invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration? + + attr_accessor metadata: ::Hash[Symbol, String?]? + + def initialize: ( + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::cadence, + item_id: String, + name: String, + scalable_matrix_with_tiered_pricing_config: ::Hash[Symbol, top], + ?billable_metric_id: String?, + ?billed_in_advance: bool?, + ?billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration?, + ?conversion_rate: Float?, + ?currency: String?, + ?dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration?, + ?external_price_id: String?, + ?fixed_price_quantity: Float?, + ?invoice_grouping_key: String?, + ?invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration?, + ?metadata: ::Hash[Symbol, String?]?, + ?model_type: :scalable_matrix_with_tiered_pricing + ) -> void + + def to_hash: -> { + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::cadence, + item_id: String, + model_type: :scalable_matrix_with_tiered_pricing, + name: String, + scalable_matrix_with_tiered_pricing_config: ::Hash[Symbol, top], + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + type cadence = + :annual + | :semi_annual + | :monthly + | :quarterly + | :one_time + | :custom + + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL: :annual + SEMI_ANNUAL: :semi_annual + MONTHLY: :monthly + QUARTERLY: :quarterly + ONE_TIME: :one_time + CUSTOM: :custom + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::cadence] + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::duration_unit] + end + end + + type dimensional_price_configuration = + { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String] + + attr_accessor dimensional_price_group_id: String? + + attr_accessor external_dimensional_price_group_id: String? + + def initialize: ( + dimension_values: ::Array[String], + ?dimensional_price_group_id: String?, + ?external_dimensional_price_group_id: String? + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::duration_unit] + end + end + end + + type cumulative_grouped_bulk = + { + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::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::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + class CumulativeGroupedBulk < Orb::Internal::Type::BaseModel + attr_accessor cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::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::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration? + + attr_accessor conversion_rate: Float? + + attr_accessor currency: String? + + attr_accessor dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoice_grouping_key: String? + + attr_accessor invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration? + + attr_accessor metadata: ::Hash[Symbol, String?]? + + def initialize: ( + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::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::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration?, + ?conversion_rate: Float?, + ?currency: String?, + ?dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration?, + ?external_price_id: String?, + ?fixed_price_quantity: Float?, + ?invoice_grouping_key: String?, + ?invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration?, + ?metadata: ::Hash[Symbol, String?]?, + ?model_type: :cumulative_grouped_bulk + ) -> void + + def to_hash: -> { + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::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::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + type cadence = + :annual + | :semi_annual + | :monthly + | :quarterly + | :one_time + | :custom + + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL: :annual + SEMI_ANNUAL: :semi_annual + MONTHLY: :monthly + QUARTERLY: :quarterly + ONE_TIME: :one_time + CUSTOM: :custom + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::cadence] + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::duration_unit] + end + end + + type dimensional_price_configuration = + { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String] + + attr_accessor dimensional_price_group_id: String? + + attr_accessor external_dimensional_price_group_id: String? + + def initialize: ( + dimension_values: ::Array[String], + ?dimensional_price_group_id: String?, + ?external_dimensional_price_group_id: String? + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::duration_unit] + end + end + end + + type tiered_package_with_minimum = + { + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::cadence, + item_id: String, + model_type: :tiered_package_with_minimum, + name: String, + tiered_package_with_minimum_config: ::Hash[Symbol, top], + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + class TieredPackageWithMinimum < Orb::Internal::Type::BaseModel + attr_accessor cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::cadence + + attr_accessor item_id: String + + attr_accessor model_type: :tiered_package_with_minimum + + attr_accessor name: String + + attr_accessor tiered_package_with_minimum_config: ::Hash[Symbol, top] + + attr_accessor billable_metric_id: String? + + attr_accessor billed_in_advance: bool? + + attr_accessor billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration? + + attr_accessor conversion_rate: Float? + + attr_accessor currency: String? + + attr_accessor dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoice_grouping_key: String? + + attr_accessor invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration? + + attr_accessor metadata: ::Hash[Symbol, String?]? + + def initialize: ( + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::cadence, + item_id: String, + name: String, + tiered_package_with_minimum_config: ::Hash[Symbol, top], + ?billable_metric_id: String?, + ?billed_in_advance: bool?, + ?billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration?, + ?conversion_rate: Float?, + ?currency: String?, + ?dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration?, + ?external_price_id: String?, + ?fixed_price_quantity: Float?, + ?invoice_grouping_key: String?, + ?invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration?, + ?metadata: ::Hash[Symbol, String?]?, + ?model_type: :tiered_package_with_minimum + ) -> void + + def to_hash: -> { + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::cadence, + item_id: String, + model_type: :tiered_package_with_minimum, + name: String, + tiered_package_with_minimum_config: ::Hash[Symbol, top], + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + type cadence = + :annual + | :semi_annual + | :monthly + | :quarterly + | :one_time + | :custom + + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL: :annual + SEMI_ANNUAL: :semi_annual + MONTHLY: :monthly + QUARTERLY: :quarterly + ONE_TIME: :one_time + CUSTOM: :custom + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::cadence] + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::duration_unit] + end + end + + type dimensional_price_configuration = + { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String] + + attr_accessor dimensional_price_group_id: String? + + attr_accessor external_dimensional_price_group_id: String? + + def initialize: ( + dimension_values: ::Array[String], + ?dimensional_price_group_id: String?, + ?external_dimensional_price_group_id: String? + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::duration_unit] + end + end + end + + type matrix_with_allocation = + { + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::cadence, + item_id: String, + matrix_with_allocation_config: Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig, + model_type: :matrix_with_allocation, + name: String, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + class MatrixWithAllocation < Orb::Internal::Type::BaseModel + attr_accessor cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::cadence + + attr_accessor item_id: String + + attr_accessor matrix_with_allocation_config: Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig + + attr_accessor model_type: :matrix_with_allocation + + attr_accessor name: String + + attr_accessor billable_metric_id: String? + + attr_accessor billed_in_advance: bool? + + attr_accessor billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration? + + attr_accessor conversion_rate: Float? + + attr_accessor currency: String? + + attr_accessor dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoice_grouping_key: String? + + attr_accessor invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration? + + attr_accessor metadata: ::Hash[Symbol, String?]? + + def initialize: ( + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::cadence, + item_id: String, + matrix_with_allocation_config: Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig, + name: String, + ?billable_metric_id: String?, + ?billed_in_advance: bool?, + ?billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration?, + ?conversion_rate: Float?, + ?currency: String?, + ?dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration?, + ?external_price_id: String?, + ?fixed_price_quantity: Float?, + ?invoice_grouping_key: String?, + ?invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration?, + ?metadata: ::Hash[Symbol, String?]?, + ?model_type: :matrix_with_allocation + ) -> void + + def to_hash: -> { + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::cadence, + item_id: String, + matrix_with_allocation_config: Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig, + model_type: :matrix_with_allocation, + name: String, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + type cadence = + :annual + | :semi_annual + | :monthly + | :quarterly + | :one_time + | :custom + + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL: :annual + SEMI_ANNUAL: :semi_annual + MONTHLY: :monthly + QUARTERLY: :quarterly + ONE_TIME: :one_time + CUSTOM: :custom + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::cadence] + end + + type matrix_with_allocation_config = + { + allocation: Float, + default_unit_amount: String, + dimensions: ::Array[String?], + matrix_values: ::Array[Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue] + } + + class MatrixWithAllocationConfig < Orb::Internal::Type::BaseModel + attr_accessor allocation: Float + + attr_accessor default_unit_amount: String + + attr_accessor dimensions: ::Array[String?] + + attr_accessor matrix_values: ::Array[Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue] + + def initialize: ( + allocation: Float, + default_unit_amount: String, + dimensions: ::Array[String?], + matrix_values: ::Array[Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue] + ) -> void + + def to_hash: -> { + allocation: Float, + default_unit_amount: String, + dimensions: ::Array[String?], + matrix_values: ::Array[Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue] + } + + type matrix_value = + { dimension_values: ::Array[String?], unit_amount: String } + + class MatrixValue < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String?] + + attr_accessor unit_amount: String + + def initialize: ( + dimension_values: ::Array[String?], + unit_amount: String + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String?], + unit_amount: String + } + end + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration::duration_unit] + end + end + + type dimensional_price_configuration = + { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String] + + attr_accessor dimensional_price_group_id: String? + + attr_accessor external_dimensional_price_group_id: String? + + def initialize: ( + dimension_values: ::Array[String], + ?dimensional_price_group_id: String?, + ?external_dimensional_price_group_id: String? + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::duration_unit] + end + end + end + + type grouped_tiered = + { + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::cadence, + grouped_tiered_config: ::Hash[Symbol, top], + item_id: String, + model_type: :grouped_tiered, + name: String, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + class GroupedTiered < Orb::Internal::Type::BaseModel + attr_accessor cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::cadence + + attr_accessor grouped_tiered_config: ::Hash[Symbol, top] + + attr_accessor item_id: String + + attr_accessor model_type: :grouped_tiered + + attr_accessor name: String + + attr_accessor billable_metric_id: String? + + attr_accessor billed_in_advance: bool? + + attr_accessor billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration? + + attr_accessor conversion_rate: Float? + + attr_accessor currency: String? + + attr_accessor dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::DimensionalPriceConfiguration? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoice_grouping_key: String? + + attr_accessor invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration? + + attr_accessor metadata: ::Hash[Symbol, String?]? + + def initialize: ( + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::cadence, + grouped_tiered_config: ::Hash[Symbol, top], + item_id: String, + name: String, + ?billable_metric_id: String?, + ?billed_in_advance: bool?, + ?billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration?, + ?conversion_rate: Float?, + ?currency: String?, + ?dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::DimensionalPriceConfiguration?, + ?external_price_id: String?, + ?fixed_price_quantity: Float?, + ?invoice_grouping_key: String?, + ?invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration?, + ?metadata: ::Hash[Symbol, String?]?, + ?model_type: :grouped_tiered + ) -> void + + def to_hash: -> { + cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::cadence, + grouped_tiered_config: ::Hash[Symbol, top], + item_id: String, + model_type: :grouped_tiered, + name: String, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + type cadence = + :annual + | :semi_annual + | :monthly + | :quarterly + | :one_time + | :custom + + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL: :annual + SEMI_ANNUAL: :semi_annual + MONTHLY: :monthly + QUARTERLY: :quarterly + ONE_TIME: :one_time + CUSTOM: :custom + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::cadence] + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration::duration_unit] + end + end + + type dimensional_price_configuration = + { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String] + + attr_accessor dimensional_price_group_id: String? + + attr_accessor external_dimensional_price_group_id: String? + + def initialize: ( + dimension_values: ::Array[String], + ?dimensional_price_group_id: String?, + ?external_dimensional_price_group_id: String? + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration::duration_unit] + end + end + end + + def self?.variants: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::price] + end + end + + type remove_adjustment = + { adjustment_id: String, plan_phase_order: Integer? } + + class RemoveAdjustment < Orb::Internal::Type::BaseModel + attr_accessor adjustment_id: String + + attr_accessor plan_phase_order: Integer? + + def initialize: ( + adjustment_id: String, + ?plan_phase_order: Integer? + ) -> void + + def to_hash: -> { adjustment_id: String, plan_phase_order: Integer? } + end + + type remove_price = { price_id: String, plan_phase_order: Integer? } + + class RemovePrice < Orb::Internal::Type::BaseModel + attr_accessor price_id: String + + attr_accessor plan_phase_order: Integer? + + def initialize: (price_id: String, ?plan_phase_order: Integer?) -> void + + def to_hash: -> { price_id: String, plan_phase_order: Integer? } + end + + type replace_adjustment = + { + adjustment: Orb::Models::BetaCreatePlanVersionParams::ReplaceAdjustment::adjustment, + replaces_adjustment_id: String, + plan_phase_order: Integer? + } + + class ReplaceAdjustment < Orb::Internal::Type::BaseModel + attr_accessor adjustment: Orb::Models::BetaCreatePlanVersionParams::ReplaceAdjustment::adjustment + + attr_accessor replaces_adjustment_id: String + + attr_accessor plan_phase_order: Integer? + + def initialize: ( + adjustment: Orb::Models::BetaCreatePlanVersionParams::ReplaceAdjustment::adjustment, + replaces_adjustment_id: String, + ?plan_phase_order: Integer? + ) -> void + + def to_hash: -> { + adjustment: Orb::Models::BetaCreatePlanVersionParams::ReplaceAdjustment::adjustment, + replaces_adjustment_id: String, + plan_phase_order: Integer? + } + + type adjustment = + Orb::BetaCreatePlanVersionParams::ReplaceAdjustment::Adjustment::PercentageDiscount + | Orb::BetaCreatePlanVersionParams::ReplaceAdjustment::Adjustment::UsageDiscount + | Orb::BetaCreatePlanVersionParams::ReplaceAdjustment::Adjustment::AmountDiscount + | Orb::BetaCreatePlanVersionParams::ReplaceAdjustment::Adjustment::Minimum + | Orb::BetaCreatePlanVersionParams::ReplaceAdjustment::Adjustment::Maximum + + module Adjustment + extend Orb::Internal::Type::Union + + type percentage_discount = + { + adjustment_type: :percentage_discount, + percentage_discount: Float, + applies_to_price_ids: ::Array[String]?, + is_invoice_level: bool + } + + class PercentageDiscount < Orb::Internal::Type::BaseModel + attr_accessor adjustment_type: :percentage_discount + + attr_accessor percentage_discount: Float + + attr_accessor applies_to_price_ids: ::Array[String]? + + attr_reader is_invoice_level: bool? + + def is_invoice_level=: (bool) -> bool + + def initialize: ( + percentage_discount: Float, + ?applies_to_price_ids: ::Array[String]?, + ?is_invoice_level: bool, + ?adjustment_type: :percentage_discount + ) -> void + + def to_hash: -> { + adjustment_type: :percentage_discount, + percentage_discount: Float, + applies_to_price_ids: ::Array[String]?, + is_invoice_level: bool + } + end + + type usage_discount = + { + adjustment_type: :usage_discount, + usage_discount: Float, + applies_to_price_ids: ::Array[String]?, + is_invoice_level: bool + } + + class UsageDiscount < Orb::Internal::Type::BaseModel + attr_accessor adjustment_type: :usage_discount + + attr_accessor usage_discount: Float + + attr_accessor applies_to_price_ids: ::Array[String]? + + attr_reader is_invoice_level: bool? + + def is_invoice_level=: (bool) -> bool + + def initialize: ( + usage_discount: Float, + ?applies_to_price_ids: ::Array[String]?, + ?is_invoice_level: bool, + ?adjustment_type: :usage_discount + ) -> void + + def to_hash: -> { + adjustment_type: :usage_discount, + usage_discount: Float, + applies_to_price_ids: ::Array[String]?, + is_invoice_level: bool + } + end + + type amount_discount = + { + adjustment_type: :amount_discount, + amount_discount: String, + applies_to_price_ids: ::Array[String]?, + is_invoice_level: bool + } + + class AmountDiscount < Orb::Internal::Type::BaseModel + attr_accessor adjustment_type: :amount_discount + + attr_accessor amount_discount: String + + attr_accessor applies_to_price_ids: ::Array[String]? + + attr_reader is_invoice_level: bool? + + def is_invoice_level=: (bool) -> bool + + def initialize: ( + amount_discount: String, + ?applies_to_price_ids: ::Array[String]?, + ?is_invoice_level: bool, + ?adjustment_type: :amount_discount + ) -> void + + def to_hash: -> { + adjustment_type: :amount_discount, + amount_discount: String, + applies_to_price_ids: ::Array[String]?, + is_invoice_level: bool + } + end + + type minimum = + { + adjustment_type: :minimum, + item_id: String, + minimum_amount: String, + applies_to_price_ids: ::Array[String]?, + is_invoice_level: bool + } + + class Minimum < Orb::Internal::Type::BaseModel + attr_accessor adjustment_type: :minimum + + attr_accessor item_id: String + + attr_accessor minimum_amount: String + + attr_accessor applies_to_price_ids: ::Array[String]? + + attr_reader is_invoice_level: bool? + + def is_invoice_level=: (bool) -> bool + + def initialize: ( + item_id: String, + minimum_amount: String, + ?applies_to_price_ids: ::Array[String]?, + ?is_invoice_level: bool, + ?adjustment_type: :minimum + ) -> void + + def to_hash: -> { + adjustment_type: :minimum, + item_id: String, + minimum_amount: String, + applies_to_price_ids: ::Array[String]?, + is_invoice_level: bool + } + end + + type maximum = + { + adjustment_type: :maximum, + maximum_amount: String, + applies_to_price_ids: ::Array[String]?, + is_invoice_level: bool + } + + class Maximum < Orb::Internal::Type::BaseModel + attr_accessor adjustment_type: :maximum + + attr_accessor maximum_amount: String + + attr_accessor applies_to_price_ids: ::Array[String]? + + attr_reader is_invoice_level: bool? + + def is_invoice_level=: (bool) -> bool + + def initialize: ( + maximum_amount: String, + ?applies_to_price_ids: ::Array[String]?, + ?is_invoice_level: bool, + ?adjustment_type: :maximum + ) -> void + + def to_hash: -> { + adjustment_type: :maximum, + maximum_amount: String, + applies_to_price_ids: ::Array[String]?, + is_invoice_level: bool + } + end + + def self?.variants: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplaceAdjustment::adjustment] + end + end + + type replace_price = + { + replaces_price_id: String, + allocation_price: Orb::BetaCreatePlanVersionParams::ReplacePrice::AllocationPrice?, + plan_phase_order: Integer?, + price: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::price? + } + + class ReplacePrice < Orb::Internal::Type::BaseModel + attr_accessor replaces_price_id: String + + attr_accessor allocation_price: Orb::BetaCreatePlanVersionParams::ReplacePrice::AllocationPrice? + + attr_accessor plan_phase_order: Integer? + + attr_accessor price: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::price? + + def initialize: ( + replaces_price_id: String, + ?allocation_price: Orb::BetaCreatePlanVersionParams::ReplacePrice::AllocationPrice?, + ?plan_phase_order: Integer?, + ?price: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::price? + ) -> void + + def to_hash: -> { + replaces_price_id: String, + allocation_price: Orb::BetaCreatePlanVersionParams::ReplacePrice::AllocationPrice?, + plan_phase_order: Integer?, + price: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::price? + } + + type allocation_price = + { + amount: String, + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::AllocationPrice::cadence, + currency: String, + expires_at_end_of_cadence: bool + } + + class AllocationPrice < Orb::Internal::Type::BaseModel + attr_accessor amount: String + + attr_accessor cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::AllocationPrice::cadence + + attr_accessor currency: String + + attr_accessor expires_at_end_of_cadence: bool + + def initialize: ( + amount: String, + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::AllocationPrice::cadence, + currency: String, + expires_at_end_of_cadence: bool + ) -> void + + def to_hash: -> { + amount: String, + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::AllocationPrice::cadence, + currency: String, + expires_at_end_of_cadence: bool + } + + type cadence = + :one_time | :monthly | :quarterly | :semi_annual | :annual | :custom + + module Cadence + extend Orb::Internal::Type::Enum + + ONE_TIME: :one_time + MONTHLY: :monthly + QUARTERLY: :quarterly + SEMI_ANNUAL: :semi_annual + ANNUAL: :annual + CUSTOM: :custom + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::AllocationPrice::cadence] + end + end + + type price = + Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit + | Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Package + | Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix + | Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered + | Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps + | Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps + | Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps + | Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk + | Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount + | Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage + | Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum + | Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent + | Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation + | Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration + | Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration + | Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation + | Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum + | Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum + | Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName + | Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration + | Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage + | Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage + | Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing + | Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing + | Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk + | Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum + | Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation + | Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered + + module Price + extend Orb::Internal::Type::Union + + type unit = + { + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::cadence, + item_id: String, + model_type: :unit, + name: String, + unit_config: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::UnitConfig, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + class Unit < Orb::Internal::Type::BaseModel + attr_accessor cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::cadence + + attr_accessor item_id: String + + attr_accessor model_type: :unit + + attr_accessor name: String + + attr_accessor unit_config: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::UnitConfig + + attr_accessor billable_metric_id: String? + + attr_accessor billed_in_advance: bool? + + attr_accessor billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::BillingCycleConfiguration? + + attr_accessor conversion_rate: Float? + + attr_accessor currency: String? + + attr_accessor dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::DimensionalPriceConfiguration? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoice_grouping_key: String? + + attr_accessor invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration? + + attr_accessor metadata: ::Hash[Symbol, String?]? + + def initialize: ( + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::cadence, + item_id: String, + name: String, + unit_config: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::UnitConfig, + ?billable_metric_id: String?, + ?billed_in_advance: bool?, + ?billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::BillingCycleConfiguration?, + ?conversion_rate: Float?, + ?currency: String?, + ?dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::DimensionalPriceConfiguration?, + ?external_price_id: String?, + ?fixed_price_quantity: Float?, + ?invoice_grouping_key: String?, + ?invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration?, + ?metadata: ::Hash[Symbol, String?]?, + ?model_type: :unit + ) -> void + + def to_hash: -> { + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::cadence, + item_id: String, + model_type: :unit, + name: String, + unit_config: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::UnitConfig, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + type cadence = + :annual + | :semi_annual + | :monthly + | :quarterly + | :one_time + | :custom + + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL: :annual + SEMI_ANNUAL: :semi_annual + MONTHLY: :monthly + QUARTERLY: :quarterly + ONE_TIME: :one_time + CUSTOM: :custom + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::cadence] + end + + type unit_config = { unit_amount: String } + + class UnitConfig < Orb::Internal::Type::BaseModel + attr_accessor unit_amount: String + + def initialize: (unit_amount: String) -> void + + def to_hash: -> { unit_amount: String } + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::BillingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::BillingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::BillingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::BillingCycleConfiguration::duration_unit] + end + end + + type dimensional_price_configuration = + { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String] + + attr_accessor dimensional_price_group_id: String? + + attr_accessor external_dimensional_price_group_id: String? + + def initialize: ( + dimension_values: ::Array[String], + ?dimensional_price_group_id: String?, + ?external_dimensional_price_group_id: String? + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration::duration_unit] + end + end + end + + type package = + { + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::cadence, + item_id: String, + model_type: :package, + name: String, + package_config: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::PackageConfig, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + class Package < Orb::Internal::Type::BaseModel + attr_accessor cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::cadence + + attr_accessor item_id: String + + attr_accessor model_type: :package + + attr_accessor name: String + + attr_accessor package_config: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::PackageConfig + + attr_accessor billable_metric_id: String? + + attr_accessor billed_in_advance: bool? + + attr_accessor billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::BillingCycleConfiguration? + + attr_accessor conversion_rate: Float? + + attr_accessor currency: String? + + attr_accessor dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::DimensionalPriceConfiguration? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoice_grouping_key: String? + + attr_accessor invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration? + + attr_accessor metadata: ::Hash[Symbol, String?]? + + def initialize: ( + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::cadence, + item_id: String, + name: String, + package_config: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::PackageConfig, + ?billable_metric_id: String?, + ?billed_in_advance: bool?, + ?billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::BillingCycleConfiguration?, + ?conversion_rate: Float?, + ?currency: String?, + ?dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::DimensionalPriceConfiguration?, + ?external_price_id: String?, + ?fixed_price_quantity: Float?, + ?invoice_grouping_key: String?, + ?invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration?, + ?metadata: ::Hash[Symbol, String?]?, + ?model_type: :package + ) -> void + + def to_hash: -> { + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::cadence, + item_id: String, + model_type: :package, + name: String, + package_config: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::PackageConfig, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + type cadence = + :annual + | :semi_annual + | :monthly + | :quarterly + | :one_time + | :custom + + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL: :annual + SEMI_ANNUAL: :semi_annual + MONTHLY: :monthly + QUARTERLY: :quarterly + ONE_TIME: :one_time + CUSTOM: :custom + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::cadence] + end + + type package_config = + { package_amount: String, package_size: Integer } + + class PackageConfig < Orb::Internal::Type::BaseModel + attr_accessor package_amount: String + + attr_accessor package_size: Integer + + def initialize: ( + package_amount: String, + package_size: Integer + ) -> void + + def to_hash: -> { package_amount: String, package_size: Integer } + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::BillingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::BillingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::BillingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::BillingCycleConfiguration::duration_unit] + end + end + + type dimensional_price_configuration = + { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String] + + attr_accessor dimensional_price_group_id: String? + + attr_accessor external_dimensional_price_group_id: String? + + def initialize: ( + dimension_values: ::Array[String], + ?dimensional_price_group_id: String?, + ?external_dimensional_price_group_id: String? + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration::duration_unit] + end + end + end + + type matrix = + { + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::cadence, + item_id: String, + matrix_config: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::MatrixConfig, + model_type: :matrix, + name: String, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + class Matrix < Orb::Internal::Type::BaseModel + attr_accessor cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::cadence + + attr_accessor item_id: String + + attr_accessor matrix_config: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::MatrixConfig + + attr_accessor model_type: :matrix + + attr_accessor name: String + + attr_accessor billable_metric_id: String? + + attr_accessor billed_in_advance: bool? + + attr_accessor billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration? + + attr_accessor conversion_rate: Float? + + attr_accessor currency: String? + + attr_accessor dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::DimensionalPriceConfiguration? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoice_grouping_key: String? + + attr_accessor invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration? + + attr_accessor metadata: ::Hash[Symbol, String?]? + + def initialize: ( + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::cadence, + item_id: String, + matrix_config: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::MatrixConfig, + name: String, + ?billable_metric_id: String?, + ?billed_in_advance: bool?, + ?billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration?, + ?conversion_rate: Float?, + ?currency: String?, + ?dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::DimensionalPriceConfiguration?, + ?external_price_id: String?, + ?fixed_price_quantity: Float?, + ?invoice_grouping_key: String?, + ?invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration?, + ?metadata: ::Hash[Symbol, String?]?, + ?model_type: :matrix + ) -> void + + def to_hash: -> { + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::cadence, + item_id: String, + matrix_config: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::MatrixConfig, + model_type: :matrix, + name: String, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + type cadence = + :annual + | :semi_annual + | :monthly + | :quarterly + | :one_time + | :custom + + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL: :annual + SEMI_ANNUAL: :semi_annual + MONTHLY: :monthly + QUARTERLY: :quarterly + ONE_TIME: :one_time + CUSTOM: :custom + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::cadence] + end + + type matrix_config = + { + default_unit_amount: String, + dimensions: ::Array[String?], + matrix_values: ::Array[Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::MatrixConfig::MatrixValue] + } + + class MatrixConfig < Orb::Internal::Type::BaseModel + attr_accessor default_unit_amount: String + + attr_accessor dimensions: ::Array[String?] + + attr_accessor matrix_values: ::Array[Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::MatrixConfig::MatrixValue] + + def initialize: ( + default_unit_amount: String, + dimensions: ::Array[String?], + matrix_values: ::Array[Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::MatrixConfig::MatrixValue] + ) -> void + + def to_hash: -> { + default_unit_amount: String, + dimensions: ::Array[String?], + matrix_values: ::Array[Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::MatrixConfig::MatrixValue] + } + + type matrix_value = + { dimension_values: ::Array[String?], unit_amount: String } + + class MatrixValue < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String?] + + attr_accessor unit_amount: String + + def initialize: ( + dimension_values: ::Array[String?], + unit_amount: String + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String?], + unit_amount: String + } + end + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration::duration_unit] + end + end + + type dimensional_price_configuration = + { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String] + + attr_accessor dimensional_price_group_id: String? + + attr_accessor external_dimensional_price_group_id: String? + + def initialize: ( + dimension_values: ::Array[String], + ?dimensional_price_group_id: String?, + ?external_dimensional_price_group_id: String? + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration::duration_unit] + end + end + end + + type tiered = + { + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::cadence, + item_id: String, + model_type: :tiered, + name: String, + tiered_config: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::TieredConfig, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + class Tiered < Orb::Internal::Type::BaseModel + attr_accessor cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::cadence + + attr_accessor item_id: String + + attr_accessor model_type: :tiered + + attr_accessor name: String + + attr_accessor tiered_config: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::TieredConfig + + attr_accessor billable_metric_id: String? + + attr_accessor billed_in_advance: bool? + + attr_accessor billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration? + + attr_accessor conversion_rate: Float? + + attr_accessor currency: String? + + attr_accessor dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::DimensionalPriceConfiguration? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoice_grouping_key: String? + + attr_accessor invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration? + + attr_accessor metadata: ::Hash[Symbol, String?]? + + def initialize: ( + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::cadence, + item_id: String, + name: String, + tiered_config: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::TieredConfig, + ?billable_metric_id: String?, + ?billed_in_advance: bool?, + ?billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration?, + ?conversion_rate: Float?, + ?currency: String?, + ?dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::DimensionalPriceConfiguration?, + ?external_price_id: String?, + ?fixed_price_quantity: Float?, + ?invoice_grouping_key: String?, + ?invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration?, + ?metadata: ::Hash[Symbol, String?]?, + ?model_type: :tiered + ) -> void + + def to_hash: -> { + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::cadence, + item_id: String, + model_type: :tiered, + name: String, + tiered_config: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::TieredConfig, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + type cadence = + :annual + | :semi_annual + | :monthly + | :quarterly + | :one_time + | :custom + + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL: :annual + SEMI_ANNUAL: :semi_annual + MONTHLY: :monthly + QUARTERLY: :quarterly + ONE_TIME: :one_time + CUSTOM: :custom + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::cadence] + end + + type tiered_config = + { + tiers: ::Array[Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::TieredConfig::Tier] + } + + class TieredConfig < Orb::Internal::Type::BaseModel + attr_accessor tiers: ::Array[Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::TieredConfig::Tier] + + def initialize: ( + tiers: ::Array[Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::TieredConfig::Tier] + ) -> void + + def to_hash: -> { + tiers: ::Array[Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::TieredConfig::Tier] + } + + type tier = + { first_unit: Float, unit_amount: String, last_unit: Float? } + + class Tier < Orb::Internal::Type::BaseModel + attr_accessor first_unit: Float + + attr_accessor unit_amount: String + + attr_accessor last_unit: Float? + + def initialize: ( + first_unit: Float, + unit_amount: String, + ?last_unit: Float? + ) -> void + + def to_hash: -> { + first_unit: Float, + unit_amount: String, + last_unit: Float? + } + end + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration::duration_unit] + end + end + + type dimensional_price_configuration = + { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String] + + attr_accessor dimensional_price_group_id: String? + + attr_accessor external_dimensional_price_group_id: String? + + def initialize: ( + dimension_values: ::Array[String], + ?dimensional_price_group_id: String?, + ?external_dimensional_price_group_id: String? + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration::duration_unit] + end + end + end + + type tiered_bps = + { + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::cadence, + item_id: String, + model_type: :tiered_bps, + name: String, + tiered_bps_config: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::TieredBpsConfig, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + class TieredBps < Orb::Internal::Type::BaseModel + attr_accessor cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::cadence + + attr_accessor item_id: String + + attr_accessor model_type: :tiered_bps + + attr_accessor name: String + + attr_accessor tiered_bps_config: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::TieredBpsConfig + + attr_accessor billable_metric_id: String? + + attr_accessor billed_in_advance: bool? + + attr_accessor billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration? + + attr_accessor conversion_rate: Float? + + attr_accessor currency: String? + + attr_accessor dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::DimensionalPriceConfiguration? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoice_grouping_key: String? + + attr_accessor invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration? + + attr_accessor metadata: ::Hash[Symbol, String?]? + + def initialize: ( + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::cadence, + item_id: String, + name: String, + tiered_bps_config: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::TieredBpsConfig, + ?billable_metric_id: String?, + ?billed_in_advance: bool?, + ?billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration?, + ?conversion_rate: Float?, + ?currency: String?, + ?dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::DimensionalPriceConfiguration?, + ?external_price_id: String?, + ?fixed_price_quantity: Float?, + ?invoice_grouping_key: String?, + ?invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration?, + ?metadata: ::Hash[Symbol, String?]?, + ?model_type: :tiered_bps + ) -> void + + def to_hash: -> { + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::cadence, + item_id: String, + model_type: :tiered_bps, + name: String, + tiered_bps_config: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::TieredBpsConfig, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + type cadence = + :annual + | :semi_annual + | :monthly + | :quarterly + | :one_time + | :custom + + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL: :annual + SEMI_ANNUAL: :semi_annual + MONTHLY: :monthly + QUARTERLY: :quarterly + ONE_TIME: :one_time + CUSTOM: :custom + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::cadence] + end + + type tiered_bps_config = + { + tiers: ::Array[Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::TieredBpsConfig::Tier] + } + + class TieredBpsConfig < Orb::Internal::Type::BaseModel + attr_accessor tiers: ::Array[Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::TieredBpsConfig::Tier] + + def initialize: ( + tiers: ::Array[Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::TieredBpsConfig::Tier] + ) -> void + + def to_hash: -> { + tiers: ::Array[Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::TieredBpsConfig::Tier] + } + + type tier = + { + bps: Float, + minimum_amount: String, + maximum_amount: String?, + per_unit_maximum: String? + } + + class Tier < Orb::Internal::Type::BaseModel + attr_accessor bps: Float + + attr_accessor minimum_amount: String + + attr_accessor maximum_amount: String? + + attr_accessor per_unit_maximum: String? + + def initialize: ( + bps: Float, + minimum_amount: String, + ?maximum_amount: String?, + ?per_unit_maximum: String? + ) -> void + + def to_hash: -> { + bps: Float, + minimum_amount: String, + maximum_amount: String?, + per_unit_maximum: String? + } + end + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration::duration_unit] + end + end + + type dimensional_price_configuration = + { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String] + + attr_accessor dimensional_price_group_id: String? + + attr_accessor external_dimensional_price_group_id: String? + + def initialize: ( + dimension_values: ::Array[String], + ?dimensional_price_group_id: String?, + ?external_dimensional_price_group_id: String? + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration::duration_unit] + end + end + end + + type bps = + { + bps_config: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::BpsConfig, + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::cadence, + item_id: String, + model_type: :bps, + name: String, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + class Bps < Orb::Internal::Type::BaseModel + attr_accessor bps_config: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::BpsConfig + + attr_accessor cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::cadence + + attr_accessor item_id: String + + attr_accessor model_type: :bps + + attr_accessor name: String + + attr_accessor billable_metric_id: String? + + attr_accessor billed_in_advance: bool? + + attr_accessor billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::BillingCycleConfiguration? + + attr_accessor conversion_rate: Float? + + attr_accessor currency: String? + + attr_accessor dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::DimensionalPriceConfiguration? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoice_grouping_key: String? + + attr_accessor invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration? + + attr_accessor metadata: ::Hash[Symbol, String?]? + + def initialize: ( + bps_config: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::BpsConfig, + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::cadence, + item_id: String, + name: String, + ?billable_metric_id: String?, + ?billed_in_advance: bool?, + ?billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::BillingCycleConfiguration?, + ?conversion_rate: Float?, + ?currency: String?, + ?dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::DimensionalPriceConfiguration?, + ?external_price_id: String?, + ?fixed_price_quantity: Float?, + ?invoice_grouping_key: String?, + ?invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration?, + ?metadata: ::Hash[Symbol, String?]?, + ?model_type: :bps + ) -> void + + def to_hash: -> { + bps_config: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::BpsConfig, + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::cadence, + item_id: String, + model_type: :bps, + name: String, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + type bps_config = { bps: Float, per_unit_maximum: String? } + + class BpsConfig < Orb::Internal::Type::BaseModel + attr_accessor bps: Float + + attr_accessor per_unit_maximum: String? + + def initialize: (bps: Float, ?per_unit_maximum: String?) -> void + + def to_hash: -> { bps: Float, per_unit_maximum: String? } + end + + type cadence = + :annual + | :semi_annual + | :monthly + | :quarterly + | :one_time + | :custom + + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL: :annual + SEMI_ANNUAL: :semi_annual + MONTHLY: :monthly + QUARTERLY: :quarterly + ONE_TIME: :one_time + CUSTOM: :custom + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::cadence] + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::BillingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::BillingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::BillingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::BillingCycleConfiguration::duration_unit] + end + end + + type dimensional_price_configuration = + { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String] + + attr_accessor dimensional_price_group_id: String? + + attr_accessor external_dimensional_price_group_id: String? + + def initialize: ( + dimension_values: ::Array[String], + ?dimensional_price_group_id: String?, + ?external_dimensional_price_group_id: String? + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration::duration_unit] + end + end + end + + type bulk_bps = + { + bulk_bps_config: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BulkBpsConfig, + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::cadence, + item_id: String, + model_type: :bulk_bps, + name: String, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + class BulkBps < Orb::Internal::Type::BaseModel + attr_accessor bulk_bps_config: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BulkBpsConfig + + attr_accessor cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::cadence + + attr_accessor item_id: String + + attr_accessor model_type: :bulk_bps + + attr_accessor name: String + + attr_accessor billable_metric_id: String? + + attr_accessor billed_in_advance: bool? + + attr_accessor billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration? + + attr_accessor conversion_rate: Float? + + attr_accessor currency: String? + + attr_accessor dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::DimensionalPriceConfiguration? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoice_grouping_key: String? + + attr_accessor invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration? + + attr_accessor metadata: ::Hash[Symbol, String?]? + + def initialize: ( + bulk_bps_config: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BulkBpsConfig, + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::cadence, + item_id: String, + name: String, + ?billable_metric_id: String?, + ?billed_in_advance: bool?, + ?billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration?, + ?conversion_rate: Float?, + ?currency: String?, + ?dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::DimensionalPriceConfiguration?, + ?external_price_id: String?, + ?fixed_price_quantity: Float?, + ?invoice_grouping_key: String?, + ?invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration?, + ?metadata: ::Hash[Symbol, String?]?, + ?model_type: :bulk_bps + ) -> void + + def to_hash: -> { + bulk_bps_config: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BulkBpsConfig, + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::cadence, + item_id: String, + model_type: :bulk_bps, + name: String, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + type bulk_bps_config = + { + tiers: ::Array[Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BulkBpsConfig::Tier] + } + + class BulkBpsConfig < Orb::Internal::Type::BaseModel + attr_accessor tiers: ::Array[Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BulkBpsConfig::Tier] + + def initialize: ( + tiers: ::Array[Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BulkBpsConfig::Tier] + ) -> void + + def to_hash: -> { + tiers: ::Array[Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BulkBpsConfig::Tier] + } + + type tier = + { + bps: Float, + maximum_amount: String?, + per_unit_maximum: String? + } + + class Tier < Orb::Internal::Type::BaseModel + attr_accessor bps: Float + + attr_accessor maximum_amount: String? + + attr_accessor per_unit_maximum: String? + + def initialize: ( + bps: Float, + ?maximum_amount: String?, + ?per_unit_maximum: String? + ) -> void + + def to_hash: -> { + bps: Float, + maximum_amount: String?, + per_unit_maximum: String? + } + end + end + + type cadence = + :annual + | :semi_annual + | :monthly + | :quarterly + | :one_time + | :custom + + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL: :annual + SEMI_ANNUAL: :semi_annual + MONTHLY: :monthly + QUARTERLY: :quarterly + ONE_TIME: :one_time + CUSTOM: :custom + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::cadence] + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration::duration_unit] + end + end + + type dimensional_price_configuration = + { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String] + + attr_accessor dimensional_price_group_id: String? + + attr_accessor external_dimensional_price_group_id: String? + + def initialize: ( + dimension_values: ::Array[String], + ?dimensional_price_group_id: String?, + ?external_dimensional_price_group_id: String? + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration::duration_unit] + end + end + end + + type bulk = + { + bulk_config: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::BulkConfig, + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::cadence, + item_id: String, + model_type: :bulk, + name: String, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + class Bulk < Orb::Internal::Type::BaseModel + attr_accessor bulk_config: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::BulkConfig + + attr_accessor cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::cadence + + attr_accessor item_id: String + + attr_accessor model_type: :bulk + + attr_accessor name: String + + attr_accessor billable_metric_id: String? + + attr_accessor billed_in_advance: bool? + + attr_accessor billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration? + + attr_accessor conversion_rate: Float? + + attr_accessor currency: String? + + attr_accessor dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::DimensionalPriceConfiguration? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoice_grouping_key: String? + + attr_accessor invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration? + + attr_accessor metadata: ::Hash[Symbol, String?]? + + def initialize: ( + bulk_config: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::BulkConfig, + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::cadence, + item_id: String, + name: String, + ?billable_metric_id: String?, + ?billed_in_advance: bool?, + ?billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration?, + ?conversion_rate: Float?, + ?currency: String?, + ?dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::DimensionalPriceConfiguration?, + ?external_price_id: String?, + ?fixed_price_quantity: Float?, + ?invoice_grouping_key: String?, + ?invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration?, + ?metadata: ::Hash[Symbol, String?]?, + ?model_type: :bulk + ) -> void + + def to_hash: -> { + bulk_config: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::BulkConfig, + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::cadence, + item_id: String, + model_type: :bulk, + name: String, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + type bulk_config = + { + tiers: ::Array[Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::BulkConfig::Tier] + } + + class BulkConfig < Orb::Internal::Type::BaseModel + attr_accessor tiers: ::Array[Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::BulkConfig::Tier] + + def initialize: ( + tiers: ::Array[Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::BulkConfig::Tier] + ) -> void + + def to_hash: -> { + tiers: ::Array[Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::BulkConfig::Tier] + } + + type tier = { unit_amount: String, maximum_units: Float? } + + class Tier < Orb::Internal::Type::BaseModel + attr_accessor unit_amount: String + + attr_accessor maximum_units: Float? + + def initialize: ( + unit_amount: String, + ?maximum_units: Float? + ) -> void + + def to_hash: -> { unit_amount: String, maximum_units: Float? } + end + end + + type cadence = + :annual + | :semi_annual + | :monthly + | :quarterly + | :one_time + | :custom + + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL: :annual + SEMI_ANNUAL: :semi_annual + MONTHLY: :monthly + QUARTERLY: :quarterly + ONE_TIME: :one_time + CUSTOM: :custom + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::cadence] + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration::duration_unit] + end + end + + type dimensional_price_configuration = + { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String] + + attr_accessor dimensional_price_group_id: String? + + attr_accessor external_dimensional_price_group_id: String? + + def initialize: ( + dimension_values: ::Array[String], + ?dimensional_price_group_id: String?, + ?external_dimensional_price_group_id: String? + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration::duration_unit] + end + end + end + + type threshold_total_amount = + { + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::cadence, + item_id: String, + model_type: :threshold_total_amount, + name: String, + threshold_total_amount_config: ::Hash[Symbol, top], + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + class ThresholdTotalAmount < Orb::Internal::Type::BaseModel + attr_accessor cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::cadence + + attr_accessor item_id: String + + attr_accessor model_type: :threshold_total_amount + + attr_accessor name: String + + attr_accessor threshold_total_amount_config: ::Hash[Symbol, top] + + attr_accessor billable_metric_id: String? + + attr_accessor billed_in_advance: bool? + + attr_accessor billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration? + + attr_accessor conversion_rate: Float? + + attr_accessor currency: String? + + attr_accessor dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoice_grouping_key: String? + + attr_accessor invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration? + + attr_accessor metadata: ::Hash[Symbol, String?]? + + def initialize: ( + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::cadence, + item_id: String, + name: String, + threshold_total_amount_config: ::Hash[Symbol, top], + ?billable_metric_id: String?, + ?billed_in_advance: bool?, + ?billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration?, + ?conversion_rate: Float?, + ?currency: String?, + ?dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration?, + ?external_price_id: String?, + ?fixed_price_quantity: Float?, + ?invoice_grouping_key: String?, + ?invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration?, + ?metadata: ::Hash[Symbol, String?]?, + ?model_type: :threshold_total_amount + ) -> void + + def to_hash: -> { + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::cadence, + item_id: String, + model_type: :threshold_total_amount, + name: String, + threshold_total_amount_config: ::Hash[Symbol, top], + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + type cadence = + :annual + | :semi_annual + | :monthly + | :quarterly + | :one_time + | :custom + + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL: :annual + SEMI_ANNUAL: :semi_annual + MONTHLY: :monthly + QUARTERLY: :quarterly + ONE_TIME: :one_time + CUSTOM: :custom + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::cadence] + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::duration_unit] + end + end + + type dimensional_price_configuration = + { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String] + + attr_accessor dimensional_price_group_id: String? + + attr_accessor external_dimensional_price_group_id: String? + + def initialize: ( + dimension_values: ::Array[String], + ?dimensional_price_group_id: String?, + ?external_dimensional_price_group_id: String? + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::duration_unit] + end + end + end + + type tiered_package = + { + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::cadence, + item_id: String, + model_type: :tiered_package, + name: String, + tiered_package_config: ::Hash[Symbol, top], + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + class TieredPackage < Orb::Internal::Type::BaseModel + attr_accessor cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::cadence + + attr_accessor item_id: String + + attr_accessor model_type: :tiered_package + + attr_accessor name: String + + attr_accessor tiered_package_config: ::Hash[Symbol, top] + + attr_accessor billable_metric_id: String? + + attr_accessor billed_in_advance: bool? + + attr_accessor billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration? + + attr_accessor conversion_rate: Float? + + attr_accessor currency: String? + + attr_accessor dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::DimensionalPriceConfiguration? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoice_grouping_key: String? + + attr_accessor invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration? + + attr_accessor metadata: ::Hash[Symbol, String?]? + + def initialize: ( + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::cadence, + item_id: String, + name: String, + tiered_package_config: ::Hash[Symbol, top], + ?billable_metric_id: String?, + ?billed_in_advance: bool?, + ?billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration?, + ?conversion_rate: Float?, + ?currency: String?, + ?dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::DimensionalPriceConfiguration?, + ?external_price_id: String?, + ?fixed_price_quantity: Float?, + ?invoice_grouping_key: String?, + ?invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration?, + ?metadata: ::Hash[Symbol, String?]?, + ?model_type: :tiered_package + ) -> void + + def to_hash: -> { + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::cadence, + item_id: String, + model_type: :tiered_package, + name: String, + tiered_package_config: ::Hash[Symbol, top], + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + type cadence = + :annual + | :semi_annual + | :monthly + | :quarterly + | :one_time + | :custom + + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL: :annual + SEMI_ANNUAL: :semi_annual + MONTHLY: :monthly + QUARTERLY: :quarterly + ONE_TIME: :one_time + CUSTOM: :custom + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::cadence] + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration::duration_unit] + end + end + + type dimensional_price_configuration = + { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String] + + attr_accessor dimensional_price_group_id: String? + + attr_accessor external_dimensional_price_group_id: String? + + def initialize: ( + dimension_values: ::Array[String], + ?dimensional_price_group_id: String?, + ?external_dimensional_price_group_id: String? + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration::duration_unit] + end + end + end + + type tiered_with_minimum = + { + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::cadence, + item_id: String, + model_type: :tiered_with_minimum, + name: String, + tiered_with_minimum_config: ::Hash[Symbol, top], + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + class TieredWithMinimum < Orb::Internal::Type::BaseModel + attr_accessor cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::cadence + + attr_accessor item_id: String + + attr_accessor model_type: :tiered_with_minimum + + attr_accessor name: String + + attr_accessor tiered_with_minimum_config: ::Hash[Symbol, top] + + attr_accessor billable_metric_id: String? + + attr_accessor billed_in_advance: bool? + + attr_accessor billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration? + + attr_accessor conversion_rate: Float? + + attr_accessor currency: String? + + attr_accessor dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::DimensionalPriceConfiguration? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoice_grouping_key: String? + + attr_accessor invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration? + + attr_accessor metadata: ::Hash[Symbol, String?]? + + def initialize: ( + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::cadence, + item_id: String, + name: String, + tiered_with_minimum_config: ::Hash[Symbol, top], + ?billable_metric_id: String?, + ?billed_in_advance: bool?, + ?billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration?, + ?conversion_rate: Float?, + ?currency: String?, + ?dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::DimensionalPriceConfiguration?, + ?external_price_id: String?, + ?fixed_price_quantity: Float?, + ?invoice_grouping_key: String?, + ?invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration?, + ?metadata: ::Hash[Symbol, String?]?, + ?model_type: :tiered_with_minimum + ) -> void + + def to_hash: -> { + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::cadence, + item_id: String, + model_type: :tiered_with_minimum, + name: String, + tiered_with_minimum_config: ::Hash[Symbol, top], + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + type cadence = + :annual + | :semi_annual + | :monthly + | :quarterly + | :one_time + | :custom + + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL: :annual + SEMI_ANNUAL: :semi_annual + MONTHLY: :monthly + QUARTERLY: :quarterly + ONE_TIME: :one_time + CUSTOM: :custom + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::cadence] + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration::duration_unit] + end + end + + type dimensional_price_configuration = + { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String] + + attr_accessor dimensional_price_group_id: String? + + attr_accessor external_dimensional_price_group_id: String? + + def initialize: ( + dimension_values: ::Array[String], + ?dimensional_price_group_id: String?, + ?external_dimensional_price_group_id: String? + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::duration_unit] + end + end + end + + type unit_with_percent = + { + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::cadence, + item_id: String, + model_type: :unit_with_percent, + name: String, + unit_with_percent_config: ::Hash[Symbol, top], + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + class UnitWithPercent < Orb::Internal::Type::BaseModel + attr_accessor cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::cadence + + attr_accessor item_id: String + + attr_accessor model_type: :unit_with_percent + + attr_accessor name: String + + attr_accessor unit_with_percent_config: ::Hash[Symbol, top] + + attr_accessor billable_metric_id: String? + + attr_accessor billed_in_advance: bool? + + attr_accessor billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration? + + attr_accessor conversion_rate: Float? + + attr_accessor currency: String? + + attr_accessor dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::DimensionalPriceConfiguration? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoice_grouping_key: String? + + attr_accessor invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration? + + attr_accessor metadata: ::Hash[Symbol, String?]? + + def initialize: ( + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::cadence, + item_id: String, + name: String, + unit_with_percent_config: ::Hash[Symbol, top], + ?billable_metric_id: String?, + ?billed_in_advance: bool?, + ?billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration?, + ?conversion_rate: Float?, + ?currency: String?, + ?dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::DimensionalPriceConfiguration?, + ?external_price_id: String?, + ?fixed_price_quantity: Float?, + ?invoice_grouping_key: String?, + ?invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration?, + ?metadata: ::Hash[Symbol, String?]?, + ?model_type: :unit_with_percent + ) -> void + + def to_hash: -> { + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::cadence, + item_id: String, + model_type: :unit_with_percent, + name: String, + unit_with_percent_config: ::Hash[Symbol, top], + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + type cadence = + :annual + | :semi_annual + | :monthly + | :quarterly + | :one_time + | :custom + + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL: :annual + SEMI_ANNUAL: :semi_annual + MONTHLY: :monthly + QUARTERLY: :quarterly + ONE_TIME: :one_time + CUSTOM: :custom + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::cadence] + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration::duration_unit] + end + end + + type dimensional_price_configuration = + { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String] + + attr_accessor dimensional_price_group_id: String? + + attr_accessor external_dimensional_price_group_id: String? + + def initialize: ( + dimension_values: ::Array[String], + ?dimensional_price_group_id: String?, + ?external_dimensional_price_group_id: String? + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration::duration_unit] + end + end + end + + type package_with_allocation = + { + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::cadence, + item_id: String, + model_type: :package_with_allocation, + name: String, + package_with_allocation_config: ::Hash[Symbol, top], + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + class PackageWithAllocation < Orb::Internal::Type::BaseModel + attr_accessor cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::cadence + + attr_accessor item_id: String + + attr_accessor model_type: :package_with_allocation + + attr_accessor name: String + + attr_accessor package_with_allocation_config: ::Hash[Symbol, top] + + attr_accessor billable_metric_id: String? + + attr_accessor billed_in_advance: bool? + + attr_accessor billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration? + + attr_accessor conversion_rate: Float? + + attr_accessor currency: String? + + attr_accessor dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::DimensionalPriceConfiguration? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoice_grouping_key: String? + + attr_accessor invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration? + + attr_accessor metadata: ::Hash[Symbol, String?]? + + def initialize: ( + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::cadence, + item_id: String, + name: String, + package_with_allocation_config: ::Hash[Symbol, top], + ?billable_metric_id: String?, + ?billed_in_advance: bool?, + ?billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration?, + ?conversion_rate: Float?, + ?currency: String?, + ?dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::DimensionalPriceConfiguration?, + ?external_price_id: String?, + ?fixed_price_quantity: Float?, + ?invoice_grouping_key: String?, + ?invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration?, + ?metadata: ::Hash[Symbol, String?]?, + ?model_type: :package_with_allocation + ) -> void + + def to_hash: -> { + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::cadence, + item_id: String, + model_type: :package_with_allocation, + name: String, + package_with_allocation_config: ::Hash[Symbol, top], + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + type cadence = + :annual + | :semi_annual + | :monthly + | :quarterly + | :one_time + | :custom + + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL: :annual + SEMI_ANNUAL: :semi_annual + MONTHLY: :monthly + QUARTERLY: :quarterly + ONE_TIME: :one_time + CUSTOM: :custom + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::cadence] + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration::duration_unit] + end + end + + type dimensional_price_configuration = + { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String] + + attr_accessor dimensional_price_group_id: String? + + attr_accessor external_dimensional_price_group_id: String? + + def initialize: ( + dimension_values: ::Array[String], + ?dimensional_price_group_id: String?, + ?external_dimensional_price_group_id: String? + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::duration_unit] + end + end + end + + type tiered_with_proration = + { + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::cadence, + item_id: String, + model_type: :tiered_with_proration, + name: String, + tiered_with_proration_config: ::Hash[Symbol, top], + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + class TieredWithProration < Orb::Internal::Type::BaseModel + attr_accessor cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::cadence + + attr_accessor item_id: String + + attr_accessor model_type: :tiered_with_proration + + attr_accessor name: String + + attr_accessor tiered_with_proration_config: ::Hash[Symbol, top] + + attr_accessor billable_metric_id: String? + + attr_accessor billed_in_advance: bool? + + attr_accessor billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration? + + attr_accessor conversion_rate: Float? + + attr_accessor currency: String? + + attr_accessor dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::DimensionalPriceConfiguration? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoice_grouping_key: String? + + attr_accessor invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration? + + attr_accessor metadata: ::Hash[Symbol, String?]? + + def initialize: ( + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::cadence, + item_id: String, + name: String, + tiered_with_proration_config: ::Hash[Symbol, top], + ?billable_metric_id: String?, + ?billed_in_advance: bool?, + ?billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration?, + ?conversion_rate: Float?, + ?currency: String?, + ?dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::DimensionalPriceConfiguration?, + ?external_price_id: String?, + ?fixed_price_quantity: Float?, + ?invoice_grouping_key: String?, + ?invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration?, + ?metadata: ::Hash[Symbol, String?]?, + ?model_type: :tiered_with_proration + ) -> void + + def to_hash: -> { + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::cadence, + item_id: String, + model_type: :tiered_with_proration, + name: String, + tiered_with_proration_config: ::Hash[Symbol, top], + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + type cadence = + :annual + | :semi_annual + | :monthly + | :quarterly + | :one_time + | :custom + + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL: :annual + SEMI_ANNUAL: :semi_annual + MONTHLY: :monthly + QUARTERLY: :quarterly + ONE_TIME: :one_time + CUSTOM: :custom + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::cadence] + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration::duration_unit] + end + end + + type dimensional_price_configuration = + { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String] + + attr_accessor dimensional_price_group_id: String? + + attr_accessor external_dimensional_price_group_id: String? + + def initialize: ( + dimension_values: ::Array[String], + ?dimensional_price_group_id: String?, + ?external_dimensional_price_group_id: String? + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration::duration_unit] + end + end + end + + type unit_with_proration = + { + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::cadence, + item_id: String, + model_type: :unit_with_proration, + name: String, + unit_with_proration_config: ::Hash[Symbol, top], + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + class UnitWithProration < Orb::Internal::Type::BaseModel + attr_accessor cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::cadence + + attr_accessor item_id: String + + attr_accessor model_type: :unit_with_proration + + attr_accessor name: String + + attr_accessor unit_with_proration_config: ::Hash[Symbol, top] + + attr_accessor billable_metric_id: String? + + attr_accessor billed_in_advance: bool? + + attr_accessor billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration? + + attr_accessor conversion_rate: Float? + + attr_accessor currency: String? + + attr_accessor dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::DimensionalPriceConfiguration? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoice_grouping_key: String? + + attr_accessor invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration? + + attr_accessor metadata: ::Hash[Symbol, String?]? + + def initialize: ( + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::cadence, + item_id: String, + name: String, + unit_with_proration_config: ::Hash[Symbol, top], + ?billable_metric_id: String?, + ?billed_in_advance: bool?, + ?billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration?, + ?conversion_rate: Float?, + ?currency: String?, + ?dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::DimensionalPriceConfiguration?, + ?external_price_id: String?, + ?fixed_price_quantity: Float?, + ?invoice_grouping_key: String?, + ?invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration?, + ?metadata: ::Hash[Symbol, String?]?, + ?model_type: :unit_with_proration + ) -> void + + def to_hash: -> { + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::cadence, + item_id: String, + model_type: :unit_with_proration, + name: String, + unit_with_proration_config: ::Hash[Symbol, top], + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + type cadence = + :annual + | :semi_annual + | :monthly + | :quarterly + | :one_time + | :custom + + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL: :annual + SEMI_ANNUAL: :semi_annual + MONTHLY: :monthly + QUARTERLY: :quarterly + ONE_TIME: :one_time + CUSTOM: :custom + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::cadence] + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration::duration_unit] + end + end + + type dimensional_price_configuration = + { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String] + + attr_accessor dimensional_price_group_id: String? + + attr_accessor external_dimensional_price_group_id: String? + + def initialize: ( + dimension_values: ::Array[String], + ?dimensional_price_group_id: String?, + ?external_dimensional_price_group_id: String? + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration::duration_unit] + end + end + end + + type grouped_allocation = + { + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::cadence, + grouped_allocation_config: ::Hash[Symbol, top], + item_id: String, + model_type: :grouped_allocation, + name: String, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + class GroupedAllocation < Orb::Internal::Type::BaseModel + attr_accessor cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::cadence + + attr_accessor grouped_allocation_config: ::Hash[Symbol, top] + + attr_accessor item_id: String + + attr_accessor model_type: :grouped_allocation + + attr_accessor name: String + + attr_accessor billable_metric_id: String? + + attr_accessor billed_in_advance: bool? + + attr_accessor billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration? + + attr_accessor conversion_rate: Float? + + attr_accessor currency: String? + + attr_accessor dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::DimensionalPriceConfiguration? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoice_grouping_key: String? + + attr_accessor invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration? + + attr_accessor metadata: ::Hash[Symbol, String?]? + + def initialize: ( + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::cadence, + grouped_allocation_config: ::Hash[Symbol, top], + item_id: String, + name: String, + ?billable_metric_id: String?, + ?billed_in_advance: bool?, + ?billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration?, + ?conversion_rate: Float?, + ?currency: String?, + ?dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::DimensionalPriceConfiguration?, + ?external_price_id: String?, + ?fixed_price_quantity: Float?, + ?invoice_grouping_key: String?, + ?invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration?, + ?metadata: ::Hash[Symbol, String?]?, + ?model_type: :grouped_allocation + ) -> void + + def to_hash: -> { + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::cadence, + grouped_allocation_config: ::Hash[Symbol, top], + item_id: String, + model_type: :grouped_allocation, + name: String, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + type cadence = + :annual + | :semi_annual + | :monthly + | :quarterly + | :one_time + | :custom + + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL: :annual + SEMI_ANNUAL: :semi_annual + MONTHLY: :monthly + QUARTERLY: :quarterly + ONE_TIME: :one_time + CUSTOM: :custom + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::cadence] + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration::duration_unit] + end + end + + type dimensional_price_configuration = + { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String] + + attr_accessor dimensional_price_group_id: String? + + attr_accessor external_dimensional_price_group_id: String? + + def initialize: ( + dimension_values: ::Array[String], + ?dimensional_price_group_id: String?, + ?external_dimensional_price_group_id: String? + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration::duration_unit] + end + end + end + + type grouped_with_prorated_minimum = + { + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::cadence, + grouped_with_prorated_minimum_config: ::Hash[Symbol, top], + item_id: String, + model_type: :grouped_with_prorated_minimum, + name: String, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + class GroupedWithProratedMinimum < Orb::Internal::Type::BaseModel + attr_accessor cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::cadence + + attr_accessor grouped_with_prorated_minimum_config: ::Hash[Symbol, top] + + attr_accessor item_id: String + + attr_accessor model_type: :grouped_with_prorated_minimum + + attr_accessor name: String + + attr_accessor billable_metric_id: String? + + attr_accessor billed_in_advance: bool? + + attr_accessor billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration? + + attr_accessor conversion_rate: Float? + + attr_accessor currency: String? + + attr_accessor dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoice_grouping_key: String? + + attr_accessor invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration? + + attr_accessor metadata: ::Hash[Symbol, String?]? + + def initialize: ( + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::cadence, + grouped_with_prorated_minimum_config: ::Hash[Symbol, top], + item_id: String, + name: String, + ?billable_metric_id: String?, + ?billed_in_advance: bool?, + ?billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration?, + ?conversion_rate: Float?, + ?currency: String?, + ?dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration?, + ?external_price_id: String?, + ?fixed_price_quantity: Float?, + ?invoice_grouping_key: String?, + ?invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration?, + ?metadata: ::Hash[Symbol, String?]?, + ?model_type: :grouped_with_prorated_minimum + ) -> void + + def to_hash: -> { + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::cadence, + grouped_with_prorated_minimum_config: ::Hash[Symbol, top], + item_id: String, + model_type: :grouped_with_prorated_minimum, + name: String, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + type cadence = + :annual + | :semi_annual + | :monthly + | :quarterly + | :one_time + | :custom + + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL: :annual + SEMI_ANNUAL: :semi_annual + MONTHLY: :monthly + QUARTERLY: :quarterly + ONE_TIME: :one_time + CUSTOM: :custom + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::cadence] + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::duration_unit] + end + end + + type dimensional_price_configuration = + { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String] + + attr_accessor dimensional_price_group_id: String? + + attr_accessor external_dimensional_price_group_id: String? + + def initialize: ( + dimension_values: ::Array[String], + ?dimensional_price_group_id: String?, + ?external_dimensional_price_group_id: String? + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::duration_unit] + end + end + end + + type grouped_with_metered_minimum = + { + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::cadence, + grouped_with_metered_minimum_config: ::Hash[Symbol, top], + item_id: String, + model_type: :grouped_with_metered_minimum, + name: String, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + class GroupedWithMeteredMinimum < Orb::Internal::Type::BaseModel + attr_accessor cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::cadence + + attr_accessor grouped_with_metered_minimum_config: ::Hash[Symbol, top] + + attr_accessor item_id: String + + attr_accessor model_type: :grouped_with_metered_minimum + + attr_accessor name: String + + attr_accessor billable_metric_id: String? + + attr_accessor billed_in_advance: bool? + + attr_accessor billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration? + + attr_accessor conversion_rate: Float? + + attr_accessor currency: String? + + attr_accessor dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoice_grouping_key: String? + + attr_accessor invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration? + + attr_accessor metadata: ::Hash[Symbol, String?]? + + def initialize: ( + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::cadence, + grouped_with_metered_minimum_config: ::Hash[Symbol, top], + item_id: String, + name: String, + ?billable_metric_id: String?, + ?billed_in_advance: bool?, + ?billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration?, + ?conversion_rate: Float?, + ?currency: String?, + ?dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration?, + ?external_price_id: String?, + ?fixed_price_quantity: Float?, + ?invoice_grouping_key: String?, + ?invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration?, + ?metadata: ::Hash[Symbol, String?]?, + ?model_type: :grouped_with_metered_minimum + ) -> void + + def to_hash: -> { + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::cadence, + grouped_with_metered_minimum_config: ::Hash[Symbol, top], + item_id: String, + model_type: :grouped_with_metered_minimum, + name: String, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + type cadence = + :annual + | :semi_annual + | :monthly + | :quarterly + | :one_time + | :custom + + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL: :annual + SEMI_ANNUAL: :semi_annual + MONTHLY: :monthly + QUARTERLY: :quarterly + ONE_TIME: :one_time + CUSTOM: :custom + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::cadence] + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::duration_unit] + end + end + + type dimensional_price_configuration = + { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String] + + attr_accessor dimensional_price_group_id: String? + + attr_accessor external_dimensional_price_group_id: String? + + def initialize: ( + dimension_values: ::Array[String], + ?dimensional_price_group_id: String?, + ?external_dimensional_price_group_id: String? + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::duration_unit] + end + end + end + + type matrix_with_display_name = + { + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::cadence, + item_id: String, + matrix_with_display_name_config: ::Hash[Symbol, top], + model_type: :matrix_with_display_name, + name: String, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + class MatrixWithDisplayName < Orb::Internal::Type::BaseModel + attr_accessor cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::cadence + + attr_accessor item_id: String + + attr_accessor matrix_with_display_name_config: ::Hash[Symbol, top] + + attr_accessor model_type: :matrix_with_display_name + + attr_accessor name: String + + attr_accessor billable_metric_id: String? + + attr_accessor billed_in_advance: bool? + + attr_accessor billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration? + + attr_accessor conversion_rate: Float? + + attr_accessor currency: String? + + attr_accessor dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoice_grouping_key: String? + + attr_accessor invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration? + + attr_accessor metadata: ::Hash[Symbol, String?]? + + def initialize: ( + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::cadence, + item_id: String, + matrix_with_display_name_config: ::Hash[Symbol, top], + name: String, + ?billable_metric_id: String?, + ?billed_in_advance: bool?, + ?billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration?, + ?conversion_rate: Float?, + ?currency: String?, + ?dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration?, + ?external_price_id: String?, + ?fixed_price_quantity: Float?, + ?invoice_grouping_key: String?, + ?invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration?, + ?metadata: ::Hash[Symbol, String?]?, + ?model_type: :matrix_with_display_name + ) -> void + + def to_hash: -> { + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::cadence, + item_id: String, + matrix_with_display_name_config: ::Hash[Symbol, top], + model_type: :matrix_with_display_name, + name: String, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + type cadence = + :annual + | :semi_annual + | :monthly + | :quarterly + | :one_time + | :custom + + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL: :annual + SEMI_ANNUAL: :semi_annual + MONTHLY: :monthly + QUARTERLY: :quarterly + ONE_TIME: :one_time + CUSTOM: :custom + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::cadence] + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::duration_unit] + end + end + + type dimensional_price_configuration = + { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String] + + attr_accessor dimensional_price_group_id: String? + + attr_accessor external_dimensional_price_group_id: String? + + def initialize: ( + dimension_values: ::Array[String], + ?dimensional_price_group_id: String?, + ?external_dimensional_price_group_id: String? + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::duration_unit] + end + end + end + + type bulk_with_proration = + { + bulk_with_proration_config: ::Hash[Symbol, top], + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::cadence, + item_id: String, + model_type: :bulk_with_proration, + name: String, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + class BulkWithProration < Orb::Internal::Type::BaseModel + attr_accessor bulk_with_proration_config: ::Hash[Symbol, top] + + attr_accessor cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::cadence + + attr_accessor item_id: String + + attr_accessor model_type: :bulk_with_proration + + attr_accessor name: String + + attr_accessor billable_metric_id: String? + + attr_accessor billed_in_advance: bool? + + attr_accessor billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration? + + attr_accessor conversion_rate: Float? + + attr_accessor currency: String? + + attr_accessor dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::DimensionalPriceConfiguration? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoice_grouping_key: String? + + attr_accessor invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration? + + attr_accessor metadata: ::Hash[Symbol, String?]? + + def initialize: ( + bulk_with_proration_config: ::Hash[Symbol, top], + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::cadence, + item_id: String, + name: String, + ?billable_metric_id: String?, + ?billed_in_advance: bool?, + ?billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration?, + ?conversion_rate: Float?, + ?currency: String?, + ?dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::DimensionalPriceConfiguration?, + ?external_price_id: String?, + ?fixed_price_quantity: Float?, + ?invoice_grouping_key: String?, + ?invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration?, + ?metadata: ::Hash[Symbol, String?]?, + ?model_type: :bulk_with_proration + ) -> void + + def to_hash: -> { + bulk_with_proration_config: ::Hash[Symbol, top], + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::cadence, + item_id: String, + model_type: :bulk_with_proration, + name: String, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + type cadence = + :annual + | :semi_annual + | :monthly + | :quarterly + | :one_time + | :custom + + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL: :annual + SEMI_ANNUAL: :semi_annual + MONTHLY: :monthly + QUARTERLY: :quarterly + ONE_TIME: :one_time + CUSTOM: :custom + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::cadence] + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration::duration_unit] + end + end + + type dimensional_price_configuration = + { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String] + + attr_accessor dimensional_price_group_id: String? + + attr_accessor external_dimensional_price_group_id: String? + + def initialize: ( + dimension_values: ::Array[String], + ?dimensional_price_group_id: String?, + ?external_dimensional_price_group_id: String? + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration::duration_unit] + end + end + end + + type grouped_tiered_package = + { + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::cadence, + grouped_tiered_package_config: ::Hash[Symbol, top], + item_id: String, + model_type: :grouped_tiered_package, + name: String, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + class GroupedTieredPackage < Orb::Internal::Type::BaseModel + attr_accessor cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::cadence + + attr_accessor grouped_tiered_package_config: ::Hash[Symbol, top] + + attr_accessor item_id: String + + attr_accessor model_type: :grouped_tiered_package + + attr_accessor name: String + + attr_accessor billable_metric_id: String? + + attr_accessor billed_in_advance: bool? + + attr_accessor billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration? + + attr_accessor conversion_rate: Float? + + attr_accessor currency: String? + + attr_accessor dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoice_grouping_key: String? + + attr_accessor invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration? + + attr_accessor metadata: ::Hash[Symbol, String?]? + + def initialize: ( + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::cadence, + grouped_tiered_package_config: ::Hash[Symbol, top], + item_id: String, + name: String, + ?billable_metric_id: String?, + ?billed_in_advance: bool?, + ?billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration?, + ?conversion_rate: Float?, + ?currency: String?, + ?dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration?, + ?external_price_id: String?, + ?fixed_price_quantity: Float?, + ?invoice_grouping_key: String?, + ?invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration?, + ?metadata: ::Hash[Symbol, String?]?, + ?model_type: :grouped_tiered_package + ) -> void + + def to_hash: -> { + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::cadence, + grouped_tiered_package_config: ::Hash[Symbol, top], + item_id: String, + model_type: :grouped_tiered_package, + name: String, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + type cadence = + :annual + | :semi_annual + | :monthly + | :quarterly + | :one_time + | :custom + + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL: :annual + SEMI_ANNUAL: :semi_annual + MONTHLY: :monthly + QUARTERLY: :quarterly + ONE_TIME: :one_time + CUSTOM: :custom + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::cadence] + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration::duration_unit] + end + end + + type dimensional_price_configuration = + { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String] + + attr_accessor dimensional_price_group_id: String? + + attr_accessor external_dimensional_price_group_id: String? + + def initialize: ( + dimension_values: ::Array[String], + ?dimensional_price_group_id: String?, + ?external_dimensional_price_group_id: String? + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::duration_unit] + end + end + end + + type max_group_tiered_package = + { + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::cadence, + item_id: String, + max_group_tiered_package_config: ::Hash[Symbol, top], + model_type: :max_group_tiered_package, + name: String, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + class MaxGroupTieredPackage < Orb::Internal::Type::BaseModel + attr_accessor cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::cadence + + attr_accessor item_id: String + + attr_accessor max_group_tiered_package_config: ::Hash[Symbol, top] + + attr_accessor model_type: :max_group_tiered_package + + attr_accessor name: String + + attr_accessor billable_metric_id: String? + + attr_accessor billed_in_advance: bool? + + attr_accessor billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration? + + attr_accessor conversion_rate: Float? + + attr_accessor currency: String? + + attr_accessor dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoice_grouping_key: String? + + attr_accessor invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration? + + attr_accessor metadata: ::Hash[Symbol, String?]? + + def initialize: ( + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::cadence, + item_id: String, + max_group_tiered_package_config: ::Hash[Symbol, top], + name: String, + ?billable_metric_id: String?, + ?billed_in_advance: bool?, + ?billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration?, + ?conversion_rate: Float?, + ?currency: String?, + ?dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration?, + ?external_price_id: String?, + ?fixed_price_quantity: Float?, + ?invoice_grouping_key: String?, + ?invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration?, + ?metadata: ::Hash[Symbol, String?]?, + ?model_type: :max_group_tiered_package + ) -> void + + def to_hash: -> { + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::cadence, + item_id: String, + max_group_tiered_package_config: ::Hash[Symbol, top], + model_type: :max_group_tiered_package, + name: String, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + type cadence = + :annual + | :semi_annual + | :monthly + | :quarterly + | :one_time + | :custom + + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL: :annual + SEMI_ANNUAL: :semi_annual + MONTHLY: :monthly + QUARTERLY: :quarterly + ONE_TIME: :one_time + CUSTOM: :custom + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::cadence] + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::duration_unit] + end + end + + type dimensional_price_configuration = + { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String] + + attr_accessor dimensional_price_group_id: String? + + attr_accessor external_dimensional_price_group_id: String? + + def initialize: ( + dimension_values: ::Array[String], + ?dimensional_price_group_id: String?, + ?external_dimensional_price_group_id: String? + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::duration_unit] + end + end + end + + type scalable_matrix_with_unit_pricing = + { + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::cadence, + item_id: String, + model_type: :scalable_matrix_with_unit_pricing, + name: String, + scalable_matrix_with_unit_pricing_config: ::Hash[Symbol, top], + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + class ScalableMatrixWithUnitPricing < Orb::Internal::Type::BaseModel + attr_accessor cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::cadence + + attr_accessor item_id: String + + attr_accessor model_type: :scalable_matrix_with_unit_pricing + + attr_accessor name: String + + attr_accessor scalable_matrix_with_unit_pricing_config: ::Hash[Symbol, top] + + attr_accessor billable_metric_id: String? + + attr_accessor billed_in_advance: bool? + + attr_accessor billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration? + + attr_accessor conversion_rate: Float? + + attr_accessor currency: String? + + attr_accessor dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoice_grouping_key: String? + + attr_accessor invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration? + + attr_accessor metadata: ::Hash[Symbol, String?]? + + def initialize: ( + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::cadence, + item_id: String, + name: String, + scalable_matrix_with_unit_pricing_config: ::Hash[Symbol, top], + ?billable_metric_id: String?, + ?billed_in_advance: bool?, + ?billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration?, + ?conversion_rate: Float?, + ?currency: String?, + ?dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration?, + ?external_price_id: String?, + ?fixed_price_quantity: Float?, + ?invoice_grouping_key: String?, + ?invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration?, + ?metadata: ::Hash[Symbol, String?]?, + ?model_type: :scalable_matrix_with_unit_pricing + ) -> void + + def to_hash: -> { + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::cadence, + item_id: String, + model_type: :scalable_matrix_with_unit_pricing, + name: String, + scalable_matrix_with_unit_pricing_config: ::Hash[Symbol, top], + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + type cadence = + :annual + | :semi_annual + | :monthly + | :quarterly + | :one_time + | :custom + + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL: :annual + SEMI_ANNUAL: :semi_annual + MONTHLY: :monthly + QUARTERLY: :quarterly + ONE_TIME: :one_time + CUSTOM: :custom + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::cadence] + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::duration_unit] + end + end + + type dimensional_price_configuration = + { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String] + + attr_accessor dimensional_price_group_id: String? + + attr_accessor external_dimensional_price_group_id: String? + + def initialize: ( + dimension_values: ::Array[String], + ?dimensional_price_group_id: String?, + ?external_dimensional_price_group_id: String? + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::duration_unit] + end + end + end + + type scalable_matrix_with_tiered_pricing = + { + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::cadence, + item_id: String, + model_type: :scalable_matrix_with_tiered_pricing, + name: String, + scalable_matrix_with_tiered_pricing_config: ::Hash[Symbol, top], + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + class ScalableMatrixWithTieredPricing < Orb::Internal::Type::BaseModel + attr_accessor cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::cadence + + attr_accessor item_id: String + + attr_accessor model_type: :scalable_matrix_with_tiered_pricing + + attr_accessor name: String + + attr_accessor scalable_matrix_with_tiered_pricing_config: ::Hash[Symbol, top] + + attr_accessor billable_metric_id: String? + + attr_accessor billed_in_advance: bool? + + attr_accessor billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration? + + attr_accessor conversion_rate: Float? + + attr_accessor currency: String? + + attr_accessor dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoice_grouping_key: String? + + attr_accessor invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration? + + attr_accessor metadata: ::Hash[Symbol, String?]? + + def initialize: ( + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::cadence, + item_id: String, + name: String, + scalable_matrix_with_tiered_pricing_config: ::Hash[Symbol, top], + ?billable_metric_id: String?, + ?billed_in_advance: bool?, + ?billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration?, + ?conversion_rate: Float?, + ?currency: String?, + ?dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration?, + ?external_price_id: String?, + ?fixed_price_quantity: Float?, + ?invoice_grouping_key: String?, + ?invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration?, + ?metadata: ::Hash[Symbol, String?]?, + ?model_type: :scalable_matrix_with_tiered_pricing + ) -> void + + def to_hash: -> { + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::cadence, + item_id: String, + model_type: :scalable_matrix_with_tiered_pricing, + name: String, + scalable_matrix_with_tiered_pricing_config: ::Hash[Symbol, top], + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + type cadence = + :annual + | :semi_annual + | :monthly + | :quarterly + | :one_time + | :custom + + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL: :annual + SEMI_ANNUAL: :semi_annual + MONTHLY: :monthly + QUARTERLY: :quarterly + ONE_TIME: :one_time + CUSTOM: :custom + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::cadence] + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::duration_unit] + end + end + + type dimensional_price_configuration = + { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String] + + attr_accessor dimensional_price_group_id: String? + + attr_accessor external_dimensional_price_group_id: String? + + def initialize: ( + dimension_values: ::Array[String], + ?dimensional_price_group_id: String?, + ?external_dimensional_price_group_id: String? + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::duration_unit] + end + end + end + + type cumulative_grouped_bulk = + { + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::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::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + class CumulativeGroupedBulk < Orb::Internal::Type::BaseModel + attr_accessor cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::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::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration? + + attr_accessor conversion_rate: Float? + + attr_accessor currency: String? + + attr_accessor dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoice_grouping_key: String? + + attr_accessor invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration? + + attr_accessor metadata: ::Hash[Symbol, String?]? + + def initialize: ( + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::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::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration?, + ?conversion_rate: Float?, + ?currency: String?, + ?dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration?, + ?external_price_id: String?, + ?fixed_price_quantity: Float?, + ?invoice_grouping_key: String?, + ?invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration?, + ?metadata: ::Hash[Symbol, String?]?, + ?model_type: :cumulative_grouped_bulk + ) -> void + + def to_hash: -> { + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::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::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + type cadence = + :annual + | :semi_annual + | :monthly + | :quarterly + | :one_time + | :custom + + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL: :annual + SEMI_ANNUAL: :semi_annual + MONTHLY: :monthly + QUARTERLY: :quarterly + ONE_TIME: :one_time + CUSTOM: :custom + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::cadence] + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::duration_unit] + end + end + + type dimensional_price_configuration = + { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String] + + attr_accessor dimensional_price_group_id: String? + + attr_accessor external_dimensional_price_group_id: String? + + def initialize: ( + dimension_values: ::Array[String], + ?dimensional_price_group_id: String?, + ?external_dimensional_price_group_id: String? + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::duration_unit] + end + end + end + + type tiered_package_with_minimum = + { + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::cadence, + item_id: String, + model_type: :tiered_package_with_minimum, + name: String, + tiered_package_with_minimum_config: ::Hash[Symbol, top], + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + class TieredPackageWithMinimum < Orb::Internal::Type::BaseModel + attr_accessor cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::cadence + + attr_accessor item_id: String + + attr_accessor model_type: :tiered_package_with_minimum + + attr_accessor name: String + + attr_accessor tiered_package_with_minimum_config: ::Hash[Symbol, top] + + attr_accessor billable_metric_id: String? + + attr_accessor billed_in_advance: bool? + + attr_accessor billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration? + + attr_accessor conversion_rate: Float? + + attr_accessor currency: String? + + attr_accessor dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoice_grouping_key: String? + + attr_accessor invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration? + + attr_accessor metadata: ::Hash[Symbol, String?]? + + def initialize: ( + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::cadence, + item_id: String, + name: String, + tiered_package_with_minimum_config: ::Hash[Symbol, top], + ?billable_metric_id: String?, + ?billed_in_advance: bool?, + ?billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration?, + ?conversion_rate: Float?, + ?currency: String?, + ?dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration?, + ?external_price_id: String?, + ?fixed_price_quantity: Float?, + ?invoice_grouping_key: String?, + ?invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration?, + ?metadata: ::Hash[Symbol, String?]?, + ?model_type: :tiered_package_with_minimum + ) -> void + + def to_hash: -> { + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::cadence, + item_id: String, + model_type: :tiered_package_with_minimum, + name: String, + tiered_package_with_minimum_config: ::Hash[Symbol, top], + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + type cadence = + :annual + | :semi_annual + | :monthly + | :quarterly + | :one_time + | :custom + + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL: :annual + SEMI_ANNUAL: :semi_annual + MONTHLY: :monthly + QUARTERLY: :quarterly + ONE_TIME: :one_time + CUSTOM: :custom + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::cadence] + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::duration_unit] + end + end + + type dimensional_price_configuration = + { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String] + + attr_accessor dimensional_price_group_id: String? + + attr_accessor external_dimensional_price_group_id: String? + + def initialize: ( + dimension_values: ::Array[String], + ?dimensional_price_group_id: String?, + ?external_dimensional_price_group_id: String? + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::duration_unit] + end + end + end + + type matrix_with_allocation = + { + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::cadence, + item_id: String, + matrix_with_allocation_config: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig, + model_type: :matrix_with_allocation, + name: String, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + class MatrixWithAllocation < Orb::Internal::Type::BaseModel + attr_accessor cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::cadence + + attr_accessor item_id: String + + attr_accessor matrix_with_allocation_config: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig + + attr_accessor model_type: :matrix_with_allocation + + attr_accessor name: String + + attr_accessor billable_metric_id: String? + + attr_accessor billed_in_advance: bool? + + attr_accessor billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration? + + attr_accessor conversion_rate: Float? + + attr_accessor currency: String? + + attr_accessor dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoice_grouping_key: String? + + attr_accessor invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration? + + attr_accessor metadata: ::Hash[Symbol, String?]? + + def initialize: ( + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::cadence, + item_id: String, + matrix_with_allocation_config: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig, + name: String, + ?billable_metric_id: String?, + ?billed_in_advance: bool?, + ?billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration?, + ?conversion_rate: Float?, + ?currency: String?, + ?dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration?, + ?external_price_id: String?, + ?fixed_price_quantity: Float?, + ?invoice_grouping_key: String?, + ?invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration?, + ?metadata: ::Hash[Symbol, String?]?, + ?model_type: :matrix_with_allocation + ) -> void + + def to_hash: -> { + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::cadence, + item_id: String, + matrix_with_allocation_config: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig, + model_type: :matrix_with_allocation, + name: String, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + type cadence = + :annual + | :semi_annual + | :monthly + | :quarterly + | :one_time + | :custom + + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL: :annual + SEMI_ANNUAL: :semi_annual + MONTHLY: :monthly + QUARTERLY: :quarterly + ONE_TIME: :one_time + CUSTOM: :custom + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::cadence] + end + + type matrix_with_allocation_config = + { + allocation: Float, + default_unit_amount: String, + dimensions: ::Array[String?], + matrix_values: ::Array[Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue] + } + + class MatrixWithAllocationConfig < Orb::Internal::Type::BaseModel + attr_accessor allocation: Float + + attr_accessor default_unit_amount: String + + attr_accessor dimensions: ::Array[String?] + + attr_accessor matrix_values: ::Array[Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue] + + def initialize: ( + allocation: Float, + default_unit_amount: String, + dimensions: ::Array[String?], + matrix_values: ::Array[Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue] + ) -> void + + def to_hash: -> { + allocation: Float, + default_unit_amount: String, + dimensions: ::Array[String?], + matrix_values: ::Array[Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue] + } + + type matrix_value = + { dimension_values: ::Array[String?], unit_amount: String } + + class MatrixValue < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String?] + + attr_accessor unit_amount: String + + def initialize: ( + dimension_values: ::Array[String?], + unit_amount: String + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String?], + unit_amount: String + } + end + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration::duration_unit] + end + end + + type dimensional_price_configuration = + { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String] + + attr_accessor dimensional_price_group_id: String? + + attr_accessor external_dimensional_price_group_id: String? + + def initialize: ( + dimension_values: ::Array[String], + ?dimensional_price_group_id: String?, + ?external_dimensional_price_group_id: String? + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::duration_unit] + end + end + end + + type grouped_tiered = + { + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::cadence, + grouped_tiered_config: ::Hash[Symbol, top], + item_id: String, + model_type: :grouped_tiered, + name: String, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + class GroupedTiered < Orb::Internal::Type::BaseModel + attr_accessor cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::cadence + + attr_accessor grouped_tiered_config: ::Hash[Symbol, top] + + attr_accessor item_id: String + + attr_accessor model_type: :grouped_tiered + + attr_accessor name: String + + attr_accessor billable_metric_id: String? + + attr_accessor billed_in_advance: bool? + + attr_accessor billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration? + + attr_accessor conversion_rate: Float? + + attr_accessor currency: String? + + attr_accessor dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::DimensionalPriceConfiguration? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoice_grouping_key: String? + + attr_accessor invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration? + + attr_accessor metadata: ::Hash[Symbol, String?]? + + def initialize: ( + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::cadence, + grouped_tiered_config: ::Hash[Symbol, top], + item_id: String, + name: String, + ?billable_metric_id: String?, + ?billed_in_advance: bool?, + ?billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration?, + ?conversion_rate: Float?, + ?currency: String?, + ?dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::DimensionalPriceConfiguration?, + ?external_price_id: String?, + ?fixed_price_quantity: Float?, + ?invoice_grouping_key: String?, + ?invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration?, + ?metadata: ::Hash[Symbol, String?]?, + ?model_type: :grouped_tiered + ) -> void + + def to_hash: -> { + cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::cadence, + grouped_tiered_config: ::Hash[Symbol, top], + item_id: String, + model_type: :grouped_tiered, + name: String, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + dimensional_price_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + type cadence = + :annual + | :semi_annual + | :monthly + | :quarterly + | :one_time + | :custom + + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL: :annual + SEMI_ANNUAL: :semi_annual + MONTHLY: :monthly + QUARTERLY: :quarterly + ONE_TIME: :one_time + CUSTOM: :custom + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::cadence] + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration::duration_unit] + end + end + + type dimensional_price_configuration = + { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String] + + attr_accessor dimensional_price_group_id: String? + + attr_accessor external_dimensional_price_group_id: String? + + def initialize: ( + dimension_values: ::Array[String], + ?dimensional_price_group_id: String?, + ?external_dimensional_price_group_id: String? + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration::duration_unit] + end + end + end + + def self?.variants: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::price] + end + end + end + end +end diff --git a/sig/orb/models/beta_fetch_plan_version_params.rbs b/sig/orb/models/beta_fetch_plan_version_params.rbs new file mode 100644 index 00000000..6578ef4e --- /dev/null +++ b/sig/orb/models/beta_fetch_plan_version_params.rbs @@ -0,0 +1,20 @@ +module Orb + module Models + type beta_fetch_plan_version_params = + { plan_id: String } & Orb::Internal::Type::request_parameters + + class BetaFetchPlanVersionParams < Orb::Internal::Type::BaseModel + extend Orb::Internal::Type::RequestParameters::Converter + include Orb::Internal::Type::RequestParameters + + attr_accessor plan_id: String + + def initialize: ( + plan_id: String, + ?request_options: Orb::request_opts + ) -> void + + def to_hash: -> { plan_id: String, request_options: Orb::RequestOptions } + end + end +end diff --git a/sig/orb/models/plan_set_default_version_params.rbs b/sig/orb/models/beta_set_default_plan_version_params.rbs similarity index 78% rename from sig/orb/models/plan_set_default_version_params.rbs rename to sig/orb/models/beta_set_default_plan_version_params.rbs index 7a735d22..86f6a193 100644 --- a/sig/orb/models/plan_set_default_version_params.rbs +++ b/sig/orb/models/beta_set_default_plan_version_params.rbs @@ -1,9 +1,9 @@ module Orb module Models - type plan_set_default_version_params = + type beta_set_default_plan_version_params = { version: Integer } & Orb::Internal::Type::request_parameters - class PlanSetDefaultVersionParams < Orb::Internal::Type::BaseModel + class BetaSetDefaultPlanVersionParams < Orb::Internal::Type::BaseModel extend Orb::Internal::Type::RequestParameters::Converter include Orb::Internal::Type::RequestParameters diff --git a/sig/orb/models/plan_version.rbs b/sig/orb/models/plan_version.rbs new file mode 100644 index 00000000..d3887b29 --- /dev/null +++ b/sig/orb/models/plan_version.rbs @@ -0,0 +1,583 @@ +module Orb + module Models + type plan_version = + { + adjustments: ::Array[Orb::Models::PlanVersion::adjustment], + created_at: Time, + plan_phases: ::Array[Orb::PlanVersionPhase]?, + prices: ::Array[Orb::Models::price], + version: Integer + } + + class PlanVersion < Orb::Internal::Type::BaseModel + attr_accessor adjustments: ::Array[Orb::Models::PlanVersion::adjustment] + + attr_accessor created_at: Time + + attr_accessor plan_phases: ::Array[Orb::PlanVersionPhase]? + + attr_accessor prices: ::Array[Orb::Models::price] + + attr_accessor version: Integer + + def initialize: ( + adjustments: ::Array[Orb::Models::PlanVersion::adjustment], + created_at: Time, + plan_phases: ::Array[Orb::PlanVersionPhase]?, + prices: ::Array[Orb::Models::price], + version: Integer + ) -> void + + def to_hash: -> { + adjustments: ::Array[Orb::Models::PlanVersion::adjustment], + created_at: Time, + plan_phases: ::Array[Orb::PlanVersionPhase]?, + prices: ::Array[Orb::Models::price], + version: Integer + } + + type adjustment = + Orb::PlanVersion::Adjustment::UsageDiscount + | Orb::PlanVersion::Adjustment::AmountDiscount + | Orb::PlanVersion::Adjustment::PercentageDiscount + | Orb::PlanVersion::Adjustment::Minimum + | Orb::PlanVersion::Adjustment::Maximum + + module Adjustment + extend Orb::Internal::Type::Union + + type usage_discount = + { + id: String, + adjustment_type: :usage_discount, + applies_to_price_ids: ::Array[String], + filters: ::Array[Orb::PlanVersion::Adjustment::UsageDiscount::Filter], + is_invoice_level: bool, + plan_phase_order: Integer?, + reason: String?, + usage_discount: Float + } + + class UsageDiscount < Orb::Internal::Type::BaseModel + attr_accessor id: String + + attr_accessor adjustment_type: :usage_discount + + attr_accessor applies_to_price_ids: ::Array[String] + + attr_accessor filters: ::Array[Orb::PlanVersion::Adjustment::UsageDiscount::Filter] + + attr_accessor is_invoice_level: bool + + attr_accessor plan_phase_order: Integer? + + attr_accessor reason: String? + + attr_accessor usage_discount: Float + + def initialize: ( + id: String, + applies_to_price_ids: ::Array[String], + filters: ::Array[Orb::PlanVersion::Adjustment::UsageDiscount::Filter], + is_invoice_level: bool, + plan_phase_order: Integer?, + reason: String?, + usage_discount: Float, + ?adjustment_type: :usage_discount + ) -> void + + def to_hash: -> { + id: String, + adjustment_type: :usage_discount, + applies_to_price_ids: ::Array[String], + filters: ::Array[Orb::PlanVersion::Adjustment::UsageDiscount::Filter], + is_invoice_level: bool, + plan_phase_order: Integer?, + reason: String?, + usage_discount: Float + } + + type filter = + { + field: Orb::Models::PlanVersion::Adjustment::UsageDiscount::Filter::field, + operator: Orb::Models::PlanVersion::Adjustment::UsageDiscount::Filter::operator, + values: ::Array[String] + } + + class Filter < Orb::Internal::Type::BaseModel + attr_accessor field: Orb::Models::PlanVersion::Adjustment::UsageDiscount::Filter::field + + attr_accessor operator: Orb::Models::PlanVersion::Adjustment::UsageDiscount::Filter::operator + + attr_accessor values: ::Array[String] + + def initialize: ( + field: Orb::Models::PlanVersion::Adjustment::UsageDiscount::Filter::field, + operator: Orb::Models::PlanVersion::Adjustment::UsageDiscount::Filter::operator, + values: ::Array[String] + ) -> void + + def to_hash: -> { + field: Orb::Models::PlanVersion::Adjustment::UsageDiscount::Filter::field, + operator: Orb::Models::PlanVersion::Adjustment::UsageDiscount::Filter::operator, + values: ::Array[String] + } + + type field = + :price_id | :item_id | :price_type | :currency | :pricing_unit_id + + module Field + extend Orb::Internal::Type::Enum + + PRICE_ID: :price_id + ITEM_ID: :item_id + PRICE_TYPE: :price_type + CURRENCY: :currency + PRICING_UNIT_ID: :pricing_unit_id + + def self?.values: -> ::Array[Orb::Models::PlanVersion::Adjustment::UsageDiscount::Filter::field] + end + + type operator = :includes | :excludes + + module Operator + extend Orb::Internal::Type::Enum + + INCLUDES: :includes + EXCLUDES: :excludes + + def self?.values: -> ::Array[Orb::Models::PlanVersion::Adjustment::UsageDiscount::Filter::operator] + end + end + end + + type amount_discount = + { + id: String, + adjustment_type: :amount_discount, + amount_discount: String, + applies_to_price_ids: ::Array[String], + filters: ::Array[Orb::PlanVersion::Adjustment::AmountDiscount::Filter], + is_invoice_level: bool, + plan_phase_order: Integer?, + reason: String? + } + + class AmountDiscount < Orb::Internal::Type::BaseModel + attr_accessor id: String + + attr_accessor adjustment_type: :amount_discount + + attr_accessor amount_discount: String + + attr_accessor applies_to_price_ids: ::Array[String] + + attr_accessor filters: ::Array[Orb::PlanVersion::Adjustment::AmountDiscount::Filter] + + attr_accessor is_invoice_level: bool + + attr_accessor plan_phase_order: Integer? + + attr_accessor reason: String? + + def initialize: ( + id: String, + amount_discount: String, + applies_to_price_ids: ::Array[String], + filters: ::Array[Orb::PlanVersion::Adjustment::AmountDiscount::Filter], + is_invoice_level: bool, + plan_phase_order: Integer?, + reason: String?, + ?adjustment_type: :amount_discount + ) -> void + + def to_hash: -> { + id: String, + adjustment_type: :amount_discount, + amount_discount: String, + applies_to_price_ids: ::Array[String], + filters: ::Array[Orb::PlanVersion::Adjustment::AmountDiscount::Filter], + is_invoice_level: bool, + plan_phase_order: Integer?, + reason: String? + } + + type filter = + { + field: Orb::Models::PlanVersion::Adjustment::AmountDiscount::Filter::field, + operator: Orb::Models::PlanVersion::Adjustment::AmountDiscount::Filter::operator, + values: ::Array[String] + } + + class Filter < Orb::Internal::Type::BaseModel + attr_accessor field: Orb::Models::PlanVersion::Adjustment::AmountDiscount::Filter::field + + attr_accessor operator: Orb::Models::PlanVersion::Adjustment::AmountDiscount::Filter::operator + + attr_accessor values: ::Array[String] + + def initialize: ( + field: Orb::Models::PlanVersion::Adjustment::AmountDiscount::Filter::field, + operator: Orb::Models::PlanVersion::Adjustment::AmountDiscount::Filter::operator, + values: ::Array[String] + ) -> void + + def to_hash: -> { + field: Orb::Models::PlanVersion::Adjustment::AmountDiscount::Filter::field, + operator: Orb::Models::PlanVersion::Adjustment::AmountDiscount::Filter::operator, + values: ::Array[String] + } + + type field = + :price_id | :item_id | :price_type | :currency | :pricing_unit_id + + module Field + extend Orb::Internal::Type::Enum + + PRICE_ID: :price_id + ITEM_ID: :item_id + PRICE_TYPE: :price_type + CURRENCY: :currency + PRICING_UNIT_ID: :pricing_unit_id + + def self?.values: -> ::Array[Orb::Models::PlanVersion::Adjustment::AmountDiscount::Filter::field] + end + + type operator = :includes | :excludes + + module Operator + extend Orb::Internal::Type::Enum + + INCLUDES: :includes + EXCLUDES: :excludes + + def self?.values: -> ::Array[Orb::Models::PlanVersion::Adjustment::AmountDiscount::Filter::operator] + end + end + end + + type percentage_discount = + { + id: String, + adjustment_type: :percentage_discount, + applies_to_price_ids: ::Array[String], + filters: ::Array[Orb::PlanVersion::Adjustment::PercentageDiscount::Filter], + is_invoice_level: bool, + percentage_discount: Float, + plan_phase_order: Integer?, + reason: String? + } + + class PercentageDiscount < Orb::Internal::Type::BaseModel + attr_accessor id: String + + attr_accessor adjustment_type: :percentage_discount + + attr_accessor applies_to_price_ids: ::Array[String] + + attr_accessor filters: ::Array[Orb::PlanVersion::Adjustment::PercentageDiscount::Filter] + + attr_accessor is_invoice_level: bool + + attr_accessor percentage_discount: Float + + attr_accessor plan_phase_order: Integer? + + attr_accessor reason: String? + + def initialize: ( + id: String, + applies_to_price_ids: ::Array[String], + filters: ::Array[Orb::PlanVersion::Adjustment::PercentageDiscount::Filter], + is_invoice_level: bool, + percentage_discount: Float, + plan_phase_order: Integer?, + reason: String?, + ?adjustment_type: :percentage_discount + ) -> void + + def to_hash: -> { + id: String, + adjustment_type: :percentage_discount, + applies_to_price_ids: ::Array[String], + filters: ::Array[Orb::PlanVersion::Adjustment::PercentageDiscount::Filter], + is_invoice_level: bool, + percentage_discount: Float, + plan_phase_order: Integer?, + reason: String? + } + + type filter = + { + field: Orb::Models::PlanVersion::Adjustment::PercentageDiscount::Filter::field, + operator: Orb::Models::PlanVersion::Adjustment::PercentageDiscount::Filter::operator, + values: ::Array[String] + } + + class Filter < Orb::Internal::Type::BaseModel + attr_accessor field: Orb::Models::PlanVersion::Adjustment::PercentageDiscount::Filter::field + + attr_accessor operator: Orb::Models::PlanVersion::Adjustment::PercentageDiscount::Filter::operator + + attr_accessor values: ::Array[String] + + def initialize: ( + field: Orb::Models::PlanVersion::Adjustment::PercentageDiscount::Filter::field, + operator: Orb::Models::PlanVersion::Adjustment::PercentageDiscount::Filter::operator, + values: ::Array[String] + ) -> void + + def to_hash: -> { + field: Orb::Models::PlanVersion::Adjustment::PercentageDiscount::Filter::field, + operator: Orb::Models::PlanVersion::Adjustment::PercentageDiscount::Filter::operator, + values: ::Array[String] + } + + type field = + :price_id | :item_id | :price_type | :currency | :pricing_unit_id + + module Field + extend Orb::Internal::Type::Enum + + PRICE_ID: :price_id + ITEM_ID: :item_id + PRICE_TYPE: :price_type + CURRENCY: :currency + PRICING_UNIT_ID: :pricing_unit_id + + def self?.values: -> ::Array[Orb::Models::PlanVersion::Adjustment::PercentageDiscount::Filter::field] + end + + type operator = :includes | :excludes + + module Operator + extend Orb::Internal::Type::Enum + + INCLUDES: :includes + EXCLUDES: :excludes + + def self?.values: -> ::Array[Orb::Models::PlanVersion::Adjustment::PercentageDiscount::Filter::operator] + end + end + end + + type minimum = + { + id: String, + adjustment_type: :minimum, + applies_to_price_ids: ::Array[String], + filters: ::Array[Orb::PlanVersion::Adjustment::Minimum::Filter], + is_invoice_level: bool, + item_id: String, + minimum_amount: String, + plan_phase_order: Integer?, + reason: String? + } + + class Minimum < Orb::Internal::Type::BaseModel + attr_accessor id: String + + attr_accessor adjustment_type: :minimum + + attr_accessor applies_to_price_ids: ::Array[String] + + attr_accessor filters: ::Array[Orb::PlanVersion::Adjustment::Minimum::Filter] + + attr_accessor is_invoice_level: bool + + attr_accessor item_id: String + + attr_accessor minimum_amount: String + + attr_accessor plan_phase_order: Integer? + + attr_accessor reason: String? + + def initialize: ( + id: String, + applies_to_price_ids: ::Array[String], + filters: ::Array[Orb::PlanVersion::Adjustment::Minimum::Filter], + is_invoice_level: bool, + item_id: String, + minimum_amount: String, + plan_phase_order: Integer?, + reason: String?, + ?adjustment_type: :minimum + ) -> void + + def to_hash: -> { + id: String, + adjustment_type: :minimum, + applies_to_price_ids: ::Array[String], + filters: ::Array[Orb::PlanVersion::Adjustment::Minimum::Filter], + is_invoice_level: bool, + item_id: String, + minimum_amount: String, + plan_phase_order: Integer?, + reason: String? + } + + type filter = + { + field: Orb::Models::PlanVersion::Adjustment::Minimum::Filter::field, + operator: Orb::Models::PlanVersion::Adjustment::Minimum::Filter::operator, + values: ::Array[String] + } + + class Filter < Orb::Internal::Type::BaseModel + attr_accessor field: Orb::Models::PlanVersion::Adjustment::Minimum::Filter::field + + attr_accessor operator: Orb::Models::PlanVersion::Adjustment::Minimum::Filter::operator + + attr_accessor values: ::Array[String] + + def initialize: ( + field: Orb::Models::PlanVersion::Adjustment::Minimum::Filter::field, + operator: Orb::Models::PlanVersion::Adjustment::Minimum::Filter::operator, + values: ::Array[String] + ) -> void + + def to_hash: -> { + field: Orb::Models::PlanVersion::Adjustment::Minimum::Filter::field, + operator: Orb::Models::PlanVersion::Adjustment::Minimum::Filter::operator, + values: ::Array[String] + } + + type field = + :price_id | :item_id | :price_type | :currency | :pricing_unit_id + + module Field + extend Orb::Internal::Type::Enum + + PRICE_ID: :price_id + ITEM_ID: :item_id + PRICE_TYPE: :price_type + CURRENCY: :currency + PRICING_UNIT_ID: :pricing_unit_id + + def self?.values: -> ::Array[Orb::Models::PlanVersion::Adjustment::Minimum::Filter::field] + end + + type operator = :includes | :excludes + + module Operator + extend Orb::Internal::Type::Enum + + INCLUDES: :includes + EXCLUDES: :excludes + + def self?.values: -> ::Array[Orb::Models::PlanVersion::Adjustment::Minimum::Filter::operator] + end + end + end + + type maximum = + { + id: String, + adjustment_type: :maximum, + applies_to_price_ids: ::Array[String], + filters: ::Array[Orb::PlanVersion::Adjustment::Maximum::Filter], + is_invoice_level: bool, + maximum_amount: String, + plan_phase_order: Integer?, + reason: String? + } + + class Maximum < Orb::Internal::Type::BaseModel + attr_accessor id: String + + attr_accessor adjustment_type: :maximum + + attr_accessor applies_to_price_ids: ::Array[String] + + attr_accessor filters: ::Array[Orb::PlanVersion::Adjustment::Maximum::Filter] + + attr_accessor is_invoice_level: bool + + attr_accessor maximum_amount: String + + attr_accessor plan_phase_order: Integer? + + attr_accessor reason: String? + + def initialize: ( + id: String, + applies_to_price_ids: ::Array[String], + filters: ::Array[Orb::PlanVersion::Adjustment::Maximum::Filter], + is_invoice_level: bool, + maximum_amount: String, + plan_phase_order: Integer?, + reason: String?, + ?adjustment_type: :maximum + ) -> void + + def to_hash: -> { + id: String, + adjustment_type: :maximum, + applies_to_price_ids: ::Array[String], + filters: ::Array[Orb::PlanVersion::Adjustment::Maximum::Filter], + is_invoice_level: bool, + maximum_amount: String, + plan_phase_order: Integer?, + reason: String? + } + + type filter = + { + field: Orb::Models::PlanVersion::Adjustment::Maximum::Filter::field, + operator: Orb::Models::PlanVersion::Adjustment::Maximum::Filter::operator, + values: ::Array[String] + } + + class Filter < Orb::Internal::Type::BaseModel + attr_accessor field: Orb::Models::PlanVersion::Adjustment::Maximum::Filter::field + + attr_accessor operator: Orb::Models::PlanVersion::Adjustment::Maximum::Filter::operator + + attr_accessor values: ::Array[String] + + def initialize: ( + field: Orb::Models::PlanVersion::Adjustment::Maximum::Filter::field, + operator: Orb::Models::PlanVersion::Adjustment::Maximum::Filter::operator, + values: ::Array[String] + ) -> void + + def to_hash: -> { + field: Orb::Models::PlanVersion::Adjustment::Maximum::Filter::field, + operator: Orb::Models::PlanVersion::Adjustment::Maximum::Filter::operator, + values: ::Array[String] + } + + type field = + :price_id | :item_id | :price_type | :currency | :pricing_unit_id + + module Field + extend Orb::Internal::Type::Enum + + PRICE_ID: :price_id + ITEM_ID: :item_id + PRICE_TYPE: :price_type + CURRENCY: :currency + PRICING_UNIT_ID: :pricing_unit_id + + def self?.values: -> ::Array[Orb::Models::PlanVersion::Adjustment::Maximum::Filter::field] + end + + type operator = :includes | :excludes + + module Operator + extend Orb::Internal::Type::Enum + + INCLUDES: :includes + EXCLUDES: :excludes + + def self?.values: -> ::Array[Orb::Models::PlanVersion::Adjustment::Maximum::Filter::operator] + end + end + end + + def self?.variants: -> ::Array[Orb::Models::PlanVersion::adjustment] + end + end + end +end diff --git a/sig/orb/models/plan_version_phase.rbs b/sig/orb/models/plan_version_phase.rbs new file mode 100644 index 00000000..ef14fb50 --- /dev/null +++ b/sig/orb/models/plan_version_phase.rbs @@ -0,0 +1,60 @@ +module Orb + module Models + type plan_version_phase = + { + id: String, + description: String?, + duration: Integer?, + duration_unit: Orb::Models::PlanVersionPhase::duration_unit?, + name: String, + order: Integer + } + + class PlanVersionPhase < Orb::Internal::Type::BaseModel + attr_accessor id: String + + attr_accessor description: String? + + attr_accessor duration: Integer? + + attr_accessor duration_unit: Orb::Models::PlanVersionPhase::duration_unit? + + attr_accessor name: String + + attr_accessor order: Integer + + def initialize: ( + id: String, + description: String?, + duration: Integer?, + duration_unit: Orb::Models::PlanVersionPhase::duration_unit?, + name: String, + order: Integer + ) -> void + + def to_hash: -> { + id: String, + description: String?, + duration: Integer?, + duration_unit: Orb::Models::PlanVersionPhase::duration_unit?, + name: String, + order: Integer + } + + type duration_unit = + :daily | :monthly | :quarterly | :semi_annual | :annual + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAILY: :daily + MONTHLY: :monthly + QUARTERLY: :quarterly + SEMI_ANNUAL: :semi_annual + ANNUAL: :annual + + def self?.values: -> ::Array[Orb::Models::PlanVersionPhase::duration_unit] + end + end + end +end diff --git a/sig/orb/models/plans/external_plan_id/version_create_params.rbs b/sig/orb/models/plans/external_plan_id/version_create_params.rbs deleted file mode 100644 index 4ab234a4..00000000 --- a/sig/orb/models/plans/external_plan_id/version_create_params.rbs +++ /dev/null @@ -1,12923 +0,0 @@ -module Orb - module Models - module Plans - module ExternalPlanID - type version_create_params = - { - version: Integer, - add_adjustments: ::Array[Orb::Plans::ExternalPlanID::VersionCreateParams::AddAdjustment]?, - add_prices: ::Array[Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice]?, - remove_adjustments: ::Array[Orb::Plans::ExternalPlanID::VersionCreateParams::RemoveAdjustment]?, - remove_prices: ::Array[Orb::Plans::ExternalPlanID::VersionCreateParams::RemovePrice]?, - replace_adjustments: ::Array[Orb::Plans::ExternalPlanID::VersionCreateParams::ReplaceAdjustment]?, - replace_prices: ::Array[Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice]?, - set_as_default: bool? - } - & Orb::Internal::Type::request_parameters - - class VersionCreateParams < Orb::Internal::Type::BaseModel - extend Orb::Internal::Type::RequestParameters::Converter - include Orb::Internal::Type::RequestParameters - - attr_accessor version: Integer - - attr_accessor add_adjustments: ::Array[Orb::Plans::ExternalPlanID::VersionCreateParams::AddAdjustment]? - - attr_accessor add_prices: ::Array[Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice]? - - attr_accessor remove_adjustments: ::Array[Orb::Plans::ExternalPlanID::VersionCreateParams::RemoveAdjustment]? - - attr_accessor remove_prices: ::Array[Orb::Plans::ExternalPlanID::VersionCreateParams::RemovePrice]? - - attr_accessor replace_adjustments: ::Array[Orb::Plans::ExternalPlanID::VersionCreateParams::ReplaceAdjustment]? - - attr_accessor replace_prices: ::Array[Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice]? - - attr_accessor set_as_default: bool? - - def initialize: ( - version: Integer, - ?add_adjustments: ::Array[Orb::Plans::ExternalPlanID::VersionCreateParams::AddAdjustment]?, - ?add_prices: ::Array[Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice]?, - ?remove_adjustments: ::Array[Orb::Plans::ExternalPlanID::VersionCreateParams::RemoveAdjustment]?, - ?remove_prices: ::Array[Orb::Plans::ExternalPlanID::VersionCreateParams::RemovePrice]?, - ?replace_adjustments: ::Array[Orb::Plans::ExternalPlanID::VersionCreateParams::ReplaceAdjustment]?, - ?replace_prices: ::Array[Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice]?, - ?set_as_default: bool?, - ?request_options: Orb::request_opts - ) -> void - - def to_hash: -> { - version: Integer, - add_adjustments: ::Array[Orb::Plans::ExternalPlanID::VersionCreateParams::AddAdjustment]?, - add_prices: ::Array[Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice]?, - remove_adjustments: ::Array[Orb::Plans::ExternalPlanID::VersionCreateParams::RemoveAdjustment]?, - remove_prices: ::Array[Orb::Plans::ExternalPlanID::VersionCreateParams::RemovePrice]?, - replace_adjustments: ::Array[Orb::Plans::ExternalPlanID::VersionCreateParams::ReplaceAdjustment]?, - replace_prices: ::Array[Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice]?, - set_as_default: bool?, - request_options: Orb::RequestOptions - } - - type add_adjustment = - { - adjustment: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddAdjustment::adjustment, - plan_phase_order: Integer? - } - - class AddAdjustment < Orb::Internal::Type::BaseModel - attr_accessor adjustment: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddAdjustment::adjustment - - attr_accessor plan_phase_order: Integer? - - def initialize: ( - adjustment: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddAdjustment::adjustment, - ?plan_phase_order: Integer? - ) -> void - - def to_hash: -> { - adjustment: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddAdjustment::adjustment, - plan_phase_order: Integer? - } - - type adjustment = - Orb::Plans::ExternalPlanID::VersionCreateParams::AddAdjustment::Adjustment::PercentageDiscount - | Orb::Plans::ExternalPlanID::VersionCreateParams::AddAdjustment::Adjustment::UsageDiscount - | Orb::Plans::ExternalPlanID::VersionCreateParams::AddAdjustment::Adjustment::AmountDiscount - | Orb::Plans::ExternalPlanID::VersionCreateParams::AddAdjustment::Adjustment::Minimum - | Orb::Plans::ExternalPlanID::VersionCreateParams::AddAdjustment::Adjustment::Maximum - - module Adjustment - extend Orb::Internal::Type::Union - - type percentage_discount = - { - adjustment_type: :percentage_discount, - percentage_discount: Float, - applies_to_price_ids: ::Array[String]?, - is_invoice_level: bool - } - - class PercentageDiscount < Orb::Internal::Type::BaseModel - attr_accessor adjustment_type: :percentage_discount - - attr_accessor percentage_discount: Float - - attr_accessor applies_to_price_ids: ::Array[String]? - - attr_reader is_invoice_level: bool? - - def is_invoice_level=: (bool) -> bool - - def initialize: ( - percentage_discount: Float, - ?applies_to_price_ids: ::Array[String]?, - ?is_invoice_level: bool, - ?adjustment_type: :percentage_discount - ) -> void - - def to_hash: -> { - adjustment_type: :percentage_discount, - percentage_discount: Float, - applies_to_price_ids: ::Array[String]?, - is_invoice_level: bool - } - end - - type usage_discount = - { - adjustment_type: :usage_discount, - usage_discount: Float, - applies_to_price_ids: ::Array[String]?, - is_invoice_level: bool - } - - class UsageDiscount < Orb::Internal::Type::BaseModel - attr_accessor adjustment_type: :usage_discount - - attr_accessor usage_discount: Float - - attr_accessor applies_to_price_ids: ::Array[String]? - - attr_reader is_invoice_level: bool? - - def is_invoice_level=: (bool) -> bool - - def initialize: ( - usage_discount: Float, - ?applies_to_price_ids: ::Array[String]?, - ?is_invoice_level: bool, - ?adjustment_type: :usage_discount - ) -> void - - def to_hash: -> { - adjustment_type: :usage_discount, - usage_discount: Float, - applies_to_price_ids: ::Array[String]?, - is_invoice_level: bool - } - end - - type amount_discount = - { - adjustment_type: :amount_discount, - amount_discount: String, - applies_to_price_ids: ::Array[String]?, - is_invoice_level: bool - } - - class AmountDiscount < Orb::Internal::Type::BaseModel - attr_accessor adjustment_type: :amount_discount - - attr_accessor amount_discount: String - - attr_accessor applies_to_price_ids: ::Array[String]? - - attr_reader is_invoice_level: bool? - - def is_invoice_level=: (bool) -> bool - - def initialize: ( - amount_discount: String, - ?applies_to_price_ids: ::Array[String]?, - ?is_invoice_level: bool, - ?adjustment_type: :amount_discount - ) -> void - - def to_hash: -> { - adjustment_type: :amount_discount, - amount_discount: String, - applies_to_price_ids: ::Array[String]?, - is_invoice_level: bool - } - end - - type minimum = - { - adjustment_type: :minimum, - item_id: String, - minimum_amount: String, - applies_to_price_ids: ::Array[String]?, - is_invoice_level: bool - } - - class Minimum < Orb::Internal::Type::BaseModel - attr_accessor adjustment_type: :minimum - - attr_accessor item_id: String - - attr_accessor minimum_amount: String - - attr_accessor applies_to_price_ids: ::Array[String]? - - attr_reader is_invoice_level: bool? - - def is_invoice_level=: (bool) -> bool - - def initialize: ( - item_id: String, - minimum_amount: String, - ?applies_to_price_ids: ::Array[String]?, - ?is_invoice_level: bool, - ?adjustment_type: :minimum - ) -> void - - def to_hash: -> { - adjustment_type: :minimum, - item_id: String, - minimum_amount: String, - applies_to_price_ids: ::Array[String]?, - is_invoice_level: bool - } - end - - type maximum = - { - adjustment_type: :maximum, - maximum_amount: String, - applies_to_price_ids: ::Array[String]?, - is_invoice_level: bool - } - - class Maximum < Orb::Internal::Type::BaseModel - attr_accessor adjustment_type: :maximum - - attr_accessor maximum_amount: String - - attr_accessor applies_to_price_ids: ::Array[String]? - - attr_reader is_invoice_level: bool? - - def is_invoice_level=: (bool) -> bool - - def initialize: ( - maximum_amount: String, - ?applies_to_price_ids: ::Array[String]?, - ?is_invoice_level: bool, - ?adjustment_type: :maximum - ) -> void - - def to_hash: -> { - adjustment_type: :maximum, - maximum_amount: String, - applies_to_price_ids: ::Array[String]?, - is_invoice_level: bool - } - end - - def self?.variants: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddAdjustment::adjustment] - end - end - - type add_price = - { - allocation_price: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::AllocationPrice?, - plan_phase_order: Integer?, - price: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::price? - } - - class AddPrice < Orb::Internal::Type::BaseModel - attr_accessor allocation_price: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::AllocationPrice? - - attr_accessor plan_phase_order: Integer? - - attr_accessor price: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::price? - - def initialize: ( - ?allocation_price: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::AllocationPrice?, - ?plan_phase_order: Integer?, - ?price: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::price? - ) -> void - - def to_hash: -> { - allocation_price: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::AllocationPrice?, - plan_phase_order: Integer?, - price: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::price? - } - - type allocation_price = - { - amount: String, - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::AllocationPrice::cadence, - currency: String, - expires_at_end_of_cadence: bool - } - - class AllocationPrice < Orb::Internal::Type::BaseModel - attr_accessor amount: String - - attr_accessor cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::AllocationPrice::cadence - - attr_accessor currency: String - - attr_accessor expires_at_end_of_cadence: bool - - def initialize: ( - amount: String, - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::AllocationPrice::cadence, - currency: String, - expires_at_end_of_cadence: bool - ) -> void - - def to_hash: -> { - amount: String, - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::AllocationPrice::cadence, - currency: String, - expires_at_end_of_cadence: bool - } - - type cadence = - :one_time - | :monthly - | :quarterly - | :semi_annual - | :annual - | :custom - - module Cadence - extend Orb::Internal::Type::Enum - - ONE_TIME: :one_time - MONTHLY: :monthly - QUARTERLY: :quarterly - SEMI_ANNUAL: :semi_annual - ANNUAL: :annual - CUSTOM: :custom - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::AllocationPrice::cadence] - end - end - - type price = - Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit - | Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package - | Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix - | Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered - | Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps - | Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps - | Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps - | Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk - | Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount - | Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage - | Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum - | Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent - | Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation - | Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration - | Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration - | Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation - | Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum - | Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum - | Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName - | Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration - | Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage - | Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage - | Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing - | Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing - | Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk - | Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum - | Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation - | Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered - - module Price - extend Orb::Internal::Type::Union - - type unit = - { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::cadence, - item_id: String, - model_type: :unit, - name: String, - unit_config: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::UnitConfig, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - class Unit < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::cadence - - attr_accessor item_id: String - - attr_accessor model_type: :unit - - attr_accessor name: String - - attr_accessor unit_config: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::UnitConfig - - attr_accessor billable_metric_id: String? - - attr_accessor billed_in_advance: bool? - - attr_accessor billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::BillingCycleConfiguration? - - attr_accessor conversion_rate: Float? - - attr_accessor currency: String? - - attr_accessor dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::DimensionalPriceConfiguration? - - attr_accessor external_price_id: String? - - attr_accessor fixed_price_quantity: Float? - - attr_accessor invoice_grouping_key: String? - - attr_accessor invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::InvoicingCycleConfiguration? - - attr_accessor metadata: ::Hash[Symbol, String?]? - - def initialize: ( - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::cadence, - item_id: String, - name: String, - unit_config: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::UnitConfig, - ?billable_metric_id: String?, - ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::BillingCycleConfiguration?, - ?conversion_rate: Float?, - ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::DimensionalPriceConfiguration?, - ?external_price_id: String?, - ?fixed_price_quantity: Float?, - ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::InvoicingCycleConfiguration?, - ?metadata: ::Hash[Symbol, String?]?, - ?model_type: :unit - ) -> void - - def to_hash: -> { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::cadence, - item_id: String, - model_type: :unit, - name: String, - unit_config: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::UnitConfig, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - type cadence = - :annual - | :semi_annual - | :monthly - | :quarterly - | :one_time - | :custom - - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL: :annual - SEMI_ANNUAL: :semi_annual - MONTHLY: :monthly - QUARTERLY: :quarterly - ONE_TIME: :one_time - CUSTOM: :custom - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::cadence] - end - - type unit_config = { unit_amount: String } - - class UnitConfig < Orb::Internal::Type::BaseModel - attr_accessor unit_amount: String - - def initialize: (unit_amount: String) -> void - - def to_hash: -> { unit_amount: String } - end - - type billing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::BillingCycleConfiguration::duration_unit - } - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::BillingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::BillingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::BillingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::BillingCycleConfiguration::duration_unit] - end - end - - type dimensional_price_configuration = - { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String] - - attr_accessor dimensional_price_group_id: String? - - attr_accessor external_dimensional_price_group_id: String? - - def initialize: ( - dimension_values: ::Array[String], - ?dimensional_price_group_id: String?, - ?external_dimensional_price_group_id: String? - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - end - - type invoicing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::InvoicingCycleConfiguration::duration_unit - } - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::InvoicingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::InvoicingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::InvoicingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Unit::InvoicingCycleConfiguration::duration_unit] - end - end - end - - type package = - { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::cadence, - item_id: String, - model_type: :package, - name: String, - package_config: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::PackageConfig, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - class Package < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::cadence - - attr_accessor item_id: String - - attr_accessor model_type: :package - - attr_accessor name: String - - attr_accessor package_config: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::PackageConfig - - attr_accessor billable_metric_id: String? - - attr_accessor billed_in_advance: bool? - - attr_accessor billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::BillingCycleConfiguration? - - attr_accessor conversion_rate: Float? - - attr_accessor currency: String? - - attr_accessor dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::DimensionalPriceConfiguration? - - attr_accessor external_price_id: String? - - attr_accessor fixed_price_quantity: Float? - - attr_accessor invoice_grouping_key: String? - - attr_accessor invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::InvoicingCycleConfiguration? - - attr_accessor metadata: ::Hash[Symbol, String?]? - - def initialize: ( - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::cadence, - item_id: String, - name: String, - package_config: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::PackageConfig, - ?billable_metric_id: String?, - ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::BillingCycleConfiguration?, - ?conversion_rate: Float?, - ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::DimensionalPriceConfiguration?, - ?external_price_id: String?, - ?fixed_price_quantity: Float?, - ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::InvoicingCycleConfiguration?, - ?metadata: ::Hash[Symbol, String?]?, - ?model_type: :package - ) -> void - - def to_hash: -> { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::cadence, - item_id: String, - model_type: :package, - name: String, - package_config: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::PackageConfig, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - type cadence = - :annual - | :semi_annual - | :monthly - | :quarterly - | :one_time - | :custom - - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL: :annual - SEMI_ANNUAL: :semi_annual - MONTHLY: :monthly - QUARTERLY: :quarterly - ONE_TIME: :one_time - CUSTOM: :custom - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::cadence] - end - - type package_config = - { package_amount: String, package_size: Integer } - - class PackageConfig < Orb::Internal::Type::BaseModel - attr_accessor package_amount: String - - attr_accessor package_size: Integer - - def initialize: ( - package_amount: String, - package_size: Integer - ) -> void - - def to_hash: -> { - package_amount: String, - package_size: Integer - } - end - - type billing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::BillingCycleConfiguration::duration_unit - } - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::BillingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::BillingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::BillingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::BillingCycleConfiguration::duration_unit] - end - end - - type dimensional_price_configuration = - { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String] - - attr_accessor dimensional_price_group_id: String? - - attr_accessor external_dimensional_price_group_id: String? - - def initialize: ( - dimension_values: ::Array[String], - ?dimensional_price_group_id: String?, - ?external_dimensional_price_group_id: String? - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - end - - type invoicing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::InvoicingCycleConfiguration::duration_unit - } - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::InvoicingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::InvoicingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::InvoicingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Package::InvoicingCycleConfiguration::duration_unit] - end - end - end - - type matrix = - { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::cadence, - item_id: String, - matrix_config: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::MatrixConfig, - model_type: :matrix, - name: String, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - class Matrix < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::cadence - - attr_accessor item_id: String - - attr_accessor matrix_config: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::MatrixConfig - - attr_accessor model_type: :matrix - - attr_accessor name: String - - attr_accessor billable_metric_id: String? - - attr_accessor billed_in_advance: bool? - - attr_accessor billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::BillingCycleConfiguration? - - attr_accessor conversion_rate: Float? - - attr_accessor currency: String? - - attr_accessor dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::DimensionalPriceConfiguration? - - attr_accessor external_price_id: String? - - attr_accessor fixed_price_quantity: Float? - - attr_accessor invoice_grouping_key: String? - - attr_accessor invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration? - - attr_accessor metadata: ::Hash[Symbol, String?]? - - def initialize: ( - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::cadence, - item_id: String, - matrix_config: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::MatrixConfig, - name: String, - ?billable_metric_id: String?, - ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::BillingCycleConfiguration?, - ?conversion_rate: Float?, - ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::DimensionalPriceConfiguration?, - ?external_price_id: String?, - ?fixed_price_quantity: Float?, - ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration?, - ?metadata: ::Hash[Symbol, String?]?, - ?model_type: :matrix - ) -> void - - def to_hash: -> { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::cadence, - item_id: String, - matrix_config: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::MatrixConfig, - model_type: :matrix, - name: String, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - type cadence = - :annual - | :semi_annual - | :monthly - | :quarterly - | :one_time - | :custom - - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL: :annual - SEMI_ANNUAL: :semi_annual - MONTHLY: :monthly - QUARTERLY: :quarterly - ONE_TIME: :one_time - CUSTOM: :custom - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::cadence] - end - - type matrix_config = - { - default_unit_amount: String, - dimensions: ::Array[String?], - matrix_values: ::Array[Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::MatrixConfig::MatrixValue] - } - - class MatrixConfig < Orb::Internal::Type::BaseModel - attr_accessor default_unit_amount: String - - attr_accessor dimensions: ::Array[String?] - - attr_accessor matrix_values: ::Array[Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::MatrixConfig::MatrixValue] - - def initialize: ( - default_unit_amount: String, - dimensions: ::Array[String?], - matrix_values: ::Array[Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::MatrixConfig::MatrixValue] - ) -> void - - def to_hash: -> { - default_unit_amount: String, - dimensions: ::Array[String?], - matrix_values: ::Array[Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::MatrixConfig::MatrixValue] - } - - type matrix_value = - { dimension_values: ::Array[String?], unit_amount: String } - - class MatrixValue < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String?] - - attr_accessor unit_amount: String - - def initialize: ( - dimension_values: ::Array[String?], - unit_amount: String - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String?], - unit_amount: String - } - end - end - - type billing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::BillingCycleConfiguration::duration_unit - } - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::BillingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::BillingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::BillingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::BillingCycleConfiguration::duration_unit] - end - end - - type dimensional_price_configuration = - { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String] - - attr_accessor dimensional_price_group_id: String? - - attr_accessor external_dimensional_price_group_id: String? - - def initialize: ( - dimension_values: ::Array[String], - ?dimensional_price_group_id: String?, - ?external_dimensional_price_group_id: String? - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - end - - type invoicing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration::duration_unit - } - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Matrix::InvoicingCycleConfiguration::duration_unit] - end - end - end - - type tiered = - { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::cadence, - item_id: String, - model_type: :tiered, - name: String, - tiered_config: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::TieredConfig, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - class Tiered < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::cadence - - attr_accessor item_id: String - - attr_accessor model_type: :tiered - - attr_accessor name: String - - attr_accessor tiered_config: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::TieredConfig - - attr_accessor billable_metric_id: String? - - attr_accessor billed_in_advance: bool? - - attr_accessor billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::BillingCycleConfiguration? - - attr_accessor conversion_rate: Float? - - attr_accessor currency: String? - - attr_accessor dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::DimensionalPriceConfiguration? - - attr_accessor external_price_id: String? - - attr_accessor fixed_price_quantity: Float? - - attr_accessor invoice_grouping_key: String? - - attr_accessor invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration? - - attr_accessor metadata: ::Hash[Symbol, String?]? - - def initialize: ( - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::cadence, - item_id: String, - name: String, - tiered_config: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::TieredConfig, - ?billable_metric_id: String?, - ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::BillingCycleConfiguration?, - ?conversion_rate: Float?, - ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::DimensionalPriceConfiguration?, - ?external_price_id: String?, - ?fixed_price_quantity: Float?, - ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration?, - ?metadata: ::Hash[Symbol, String?]?, - ?model_type: :tiered - ) -> void - - def to_hash: -> { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::cadence, - item_id: String, - model_type: :tiered, - name: String, - tiered_config: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::TieredConfig, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - type cadence = - :annual - | :semi_annual - | :monthly - | :quarterly - | :one_time - | :custom - - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL: :annual - SEMI_ANNUAL: :semi_annual - MONTHLY: :monthly - QUARTERLY: :quarterly - ONE_TIME: :one_time - CUSTOM: :custom - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::cadence] - end - - type tiered_config = - { - tiers: ::Array[Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::TieredConfig::Tier] - } - - class TieredConfig < Orb::Internal::Type::BaseModel - attr_accessor tiers: ::Array[Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::TieredConfig::Tier] - - def initialize: ( - tiers: ::Array[Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::TieredConfig::Tier] - ) -> void - - def to_hash: -> { - tiers: ::Array[Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::TieredConfig::Tier] - } - - type tier = - { - first_unit: Float, - unit_amount: String, - last_unit: Float? - } - - class Tier < Orb::Internal::Type::BaseModel - attr_accessor first_unit: Float - - attr_accessor unit_amount: String - - attr_accessor last_unit: Float? - - def initialize: ( - first_unit: Float, - unit_amount: String, - ?last_unit: Float? - ) -> void - - def to_hash: -> { - first_unit: Float, - unit_amount: String, - last_unit: Float? - } - end - end - - type billing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::BillingCycleConfiguration::duration_unit - } - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::BillingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::BillingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::BillingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::BillingCycleConfiguration::duration_unit] - end - end - - type dimensional_price_configuration = - { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String] - - attr_accessor dimensional_price_group_id: String? - - attr_accessor external_dimensional_price_group_id: String? - - def initialize: ( - dimension_values: ::Array[String], - ?dimensional_price_group_id: String?, - ?external_dimensional_price_group_id: String? - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - end - - type invoicing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration::duration_unit - } - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Tiered::InvoicingCycleConfiguration::duration_unit] - end - end - end - - type tiered_bps = - { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::cadence, - item_id: String, - model_type: :tiered_bps, - name: String, - tiered_bps_config: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::TieredBpsConfig, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - class TieredBps < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::cadence - - attr_accessor item_id: String - - attr_accessor model_type: :tiered_bps - - attr_accessor name: String - - attr_accessor tiered_bps_config: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::TieredBpsConfig - - attr_accessor billable_metric_id: String? - - attr_accessor billed_in_advance: bool? - - attr_accessor billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::BillingCycleConfiguration? - - attr_accessor conversion_rate: Float? - - attr_accessor currency: String? - - attr_accessor dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::DimensionalPriceConfiguration? - - attr_accessor external_price_id: String? - - attr_accessor fixed_price_quantity: Float? - - attr_accessor invoice_grouping_key: String? - - attr_accessor invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration? - - attr_accessor metadata: ::Hash[Symbol, String?]? - - def initialize: ( - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::cadence, - item_id: String, - name: String, - tiered_bps_config: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::TieredBpsConfig, - ?billable_metric_id: String?, - ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::BillingCycleConfiguration?, - ?conversion_rate: Float?, - ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::DimensionalPriceConfiguration?, - ?external_price_id: String?, - ?fixed_price_quantity: Float?, - ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration?, - ?metadata: ::Hash[Symbol, String?]?, - ?model_type: :tiered_bps - ) -> void - - def to_hash: -> { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::cadence, - item_id: String, - model_type: :tiered_bps, - name: String, - tiered_bps_config: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::TieredBpsConfig, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - type cadence = - :annual - | :semi_annual - | :monthly - | :quarterly - | :one_time - | :custom - - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL: :annual - SEMI_ANNUAL: :semi_annual - MONTHLY: :monthly - QUARTERLY: :quarterly - ONE_TIME: :one_time - CUSTOM: :custom - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::cadence] - end - - type tiered_bps_config = - { - tiers: ::Array[Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::TieredBpsConfig::Tier] - } - - class TieredBpsConfig < Orb::Internal::Type::BaseModel - attr_accessor tiers: ::Array[Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::TieredBpsConfig::Tier] - - def initialize: ( - tiers: ::Array[Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::TieredBpsConfig::Tier] - ) -> void - - def to_hash: -> { - tiers: ::Array[Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::TieredBpsConfig::Tier] - } - - type tier = - { - bps: Float, - minimum_amount: String, - maximum_amount: String?, - per_unit_maximum: String? - } - - class Tier < Orb::Internal::Type::BaseModel - attr_accessor bps: Float - - attr_accessor minimum_amount: String - - attr_accessor maximum_amount: String? - - attr_accessor per_unit_maximum: String? - - def initialize: ( - bps: Float, - minimum_amount: String, - ?maximum_amount: String?, - ?per_unit_maximum: String? - ) -> void - - def to_hash: -> { - bps: Float, - minimum_amount: String, - maximum_amount: String?, - per_unit_maximum: String? - } - end - end - - type billing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::BillingCycleConfiguration::duration_unit - } - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::BillingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::BillingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::BillingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::BillingCycleConfiguration::duration_unit] - end - end - - type dimensional_price_configuration = - { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String] - - attr_accessor dimensional_price_group_id: String? - - attr_accessor external_dimensional_price_group_id: String? - - def initialize: ( - dimension_values: ::Array[String], - ?dimensional_price_group_id: String?, - ?external_dimensional_price_group_id: String? - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - end - - type invoicing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration::duration_unit - } - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredBps::InvoicingCycleConfiguration::duration_unit] - end - end - end - - type bps = - { - bps_config: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::BpsConfig, - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::cadence, - item_id: String, - model_type: :bps, - name: String, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - class Bps < Orb::Internal::Type::BaseModel - attr_accessor bps_config: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::BpsConfig - - attr_accessor cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::cadence - - attr_accessor item_id: String - - attr_accessor model_type: :bps - - attr_accessor name: String - - attr_accessor billable_metric_id: String? - - attr_accessor billed_in_advance: bool? - - attr_accessor billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::BillingCycleConfiguration? - - attr_accessor conversion_rate: Float? - - attr_accessor currency: String? - - attr_accessor dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::DimensionalPriceConfiguration? - - attr_accessor external_price_id: String? - - attr_accessor fixed_price_quantity: Float? - - attr_accessor invoice_grouping_key: String? - - attr_accessor invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::InvoicingCycleConfiguration? - - attr_accessor metadata: ::Hash[Symbol, String?]? - - def initialize: ( - bps_config: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::BpsConfig, - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::cadence, - item_id: String, - name: String, - ?billable_metric_id: String?, - ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::BillingCycleConfiguration?, - ?conversion_rate: Float?, - ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::DimensionalPriceConfiguration?, - ?external_price_id: String?, - ?fixed_price_quantity: Float?, - ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::InvoicingCycleConfiguration?, - ?metadata: ::Hash[Symbol, String?]?, - ?model_type: :bps - ) -> void - - def to_hash: -> { - bps_config: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::BpsConfig, - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::cadence, - item_id: String, - model_type: :bps, - name: String, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - type bps_config = { bps: Float, per_unit_maximum: String? } - - class BpsConfig < Orb::Internal::Type::BaseModel - attr_accessor bps: Float - - attr_accessor per_unit_maximum: String? - - def initialize: ( - bps: Float, - ?per_unit_maximum: String? - ) -> void - - def to_hash: -> { bps: Float, per_unit_maximum: String? } - end - - type cadence = - :annual - | :semi_annual - | :monthly - | :quarterly - | :one_time - | :custom - - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL: :annual - SEMI_ANNUAL: :semi_annual - MONTHLY: :monthly - QUARTERLY: :quarterly - ONE_TIME: :one_time - CUSTOM: :custom - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::cadence] - end - - type billing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::BillingCycleConfiguration::duration_unit - } - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::BillingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::BillingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::BillingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::BillingCycleConfiguration::duration_unit] - end - end - - type dimensional_price_configuration = - { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String] - - attr_accessor dimensional_price_group_id: String? - - attr_accessor external_dimensional_price_group_id: String? - - def initialize: ( - dimension_values: ::Array[String], - ?dimensional_price_group_id: String?, - ?external_dimensional_price_group_id: String? - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - end - - type invoicing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::InvoicingCycleConfiguration::duration_unit - } - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::InvoicingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::InvoicingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::InvoicingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bps::InvoicingCycleConfiguration::duration_unit] - end - end - end - - type bulk_bps = - { - bulk_bps_config: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::BulkBpsConfig, - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::cadence, - item_id: String, - model_type: :bulk_bps, - name: String, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - class BulkBps < Orb::Internal::Type::BaseModel - attr_accessor bulk_bps_config: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::BulkBpsConfig - - attr_accessor cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::cadence - - attr_accessor item_id: String - - attr_accessor model_type: :bulk_bps - - attr_accessor name: String - - attr_accessor billable_metric_id: String? - - attr_accessor billed_in_advance: bool? - - attr_accessor billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::BillingCycleConfiguration? - - attr_accessor conversion_rate: Float? - - attr_accessor currency: String? - - attr_accessor dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::DimensionalPriceConfiguration? - - attr_accessor external_price_id: String? - - attr_accessor fixed_price_quantity: Float? - - attr_accessor invoice_grouping_key: String? - - attr_accessor invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration? - - attr_accessor metadata: ::Hash[Symbol, String?]? - - def initialize: ( - bulk_bps_config: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::BulkBpsConfig, - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::cadence, - item_id: String, - name: String, - ?billable_metric_id: String?, - ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::BillingCycleConfiguration?, - ?conversion_rate: Float?, - ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::DimensionalPriceConfiguration?, - ?external_price_id: String?, - ?fixed_price_quantity: Float?, - ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration?, - ?metadata: ::Hash[Symbol, String?]?, - ?model_type: :bulk_bps - ) -> void - - def to_hash: -> { - bulk_bps_config: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::BulkBpsConfig, - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::cadence, - item_id: String, - model_type: :bulk_bps, - name: String, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - type bulk_bps_config = - { - tiers: ::Array[Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::BulkBpsConfig::Tier] - } - - class BulkBpsConfig < Orb::Internal::Type::BaseModel - attr_accessor tiers: ::Array[Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::BulkBpsConfig::Tier] - - def initialize: ( - tiers: ::Array[Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::BulkBpsConfig::Tier] - ) -> void - - def to_hash: -> { - tiers: ::Array[Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::BulkBpsConfig::Tier] - } - - type tier = - { - bps: Float, - maximum_amount: String?, - per_unit_maximum: String? - } - - class Tier < Orb::Internal::Type::BaseModel - attr_accessor bps: Float - - attr_accessor maximum_amount: String? - - attr_accessor per_unit_maximum: String? - - def initialize: ( - bps: Float, - ?maximum_amount: String?, - ?per_unit_maximum: String? - ) -> void - - def to_hash: -> { - bps: Float, - maximum_amount: String?, - per_unit_maximum: String? - } - end - end - - type cadence = - :annual - | :semi_annual - | :monthly - | :quarterly - | :one_time - | :custom - - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL: :annual - SEMI_ANNUAL: :semi_annual - MONTHLY: :monthly - QUARTERLY: :quarterly - ONE_TIME: :one_time - CUSTOM: :custom - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::cadence] - end - - type billing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::BillingCycleConfiguration::duration_unit - } - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::BillingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::BillingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::BillingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::BillingCycleConfiguration::duration_unit] - end - end - - type dimensional_price_configuration = - { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String] - - attr_accessor dimensional_price_group_id: String? - - attr_accessor external_dimensional_price_group_id: String? - - def initialize: ( - dimension_values: ::Array[String], - ?dimensional_price_group_id: String?, - ?external_dimensional_price_group_id: String? - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - end - - type invoicing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration::duration_unit - } - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkBps::InvoicingCycleConfiguration::duration_unit] - end - end - end - - type bulk = - { - bulk_config: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::BulkConfig, - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::cadence, - item_id: String, - model_type: :bulk, - name: String, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - class Bulk < Orb::Internal::Type::BaseModel - attr_accessor bulk_config: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::BulkConfig - - attr_accessor cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::cadence - - attr_accessor item_id: String - - attr_accessor model_type: :bulk - - attr_accessor name: String - - attr_accessor billable_metric_id: String? - - attr_accessor billed_in_advance: bool? - - attr_accessor billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::BillingCycleConfiguration? - - attr_accessor conversion_rate: Float? - - attr_accessor currency: String? - - attr_accessor dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::DimensionalPriceConfiguration? - - attr_accessor external_price_id: String? - - attr_accessor fixed_price_quantity: Float? - - attr_accessor invoice_grouping_key: String? - - attr_accessor invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration? - - attr_accessor metadata: ::Hash[Symbol, String?]? - - def initialize: ( - bulk_config: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::BulkConfig, - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::cadence, - item_id: String, - name: String, - ?billable_metric_id: String?, - ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::BillingCycleConfiguration?, - ?conversion_rate: Float?, - ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::DimensionalPriceConfiguration?, - ?external_price_id: String?, - ?fixed_price_quantity: Float?, - ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration?, - ?metadata: ::Hash[Symbol, String?]?, - ?model_type: :bulk - ) -> void - - def to_hash: -> { - bulk_config: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::BulkConfig, - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::cadence, - item_id: String, - model_type: :bulk, - name: String, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - type bulk_config = - { - tiers: ::Array[Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::BulkConfig::Tier] - } - - class BulkConfig < Orb::Internal::Type::BaseModel - attr_accessor tiers: ::Array[Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::BulkConfig::Tier] - - def initialize: ( - tiers: ::Array[Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::BulkConfig::Tier] - ) -> void - - def to_hash: -> { - tiers: ::Array[Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::BulkConfig::Tier] - } - - type tier = { unit_amount: String, maximum_units: Float? } - - class Tier < Orb::Internal::Type::BaseModel - attr_accessor unit_amount: String - - attr_accessor maximum_units: Float? - - def initialize: ( - unit_amount: String, - ?maximum_units: Float? - ) -> void - - def to_hash: -> { - unit_amount: String, - maximum_units: Float? - } - end - end - - type cadence = - :annual - | :semi_annual - | :monthly - | :quarterly - | :one_time - | :custom - - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL: :annual - SEMI_ANNUAL: :semi_annual - MONTHLY: :monthly - QUARTERLY: :quarterly - ONE_TIME: :one_time - CUSTOM: :custom - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::cadence] - end - - type billing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::BillingCycleConfiguration::duration_unit - } - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::BillingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::BillingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::BillingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::BillingCycleConfiguration::duration_unit] - end - end - - type dimensional_price_configuration = - { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String] - - attr_accessor dimensional_price_group_id: String? - - attr_accessor external_dimensional_price_group_id: String? - - def initialize: ( - dimension_values: ::Array[String], - ?dimensional_price_group_id: String?, - ?external_dimensional_price_group_id: String? - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - end - - type invoicing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration::duration_unit - } - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::Bulk::InvoicingCycleConfiguration::duration_unit] - end - end - end - - type threshold_total_amount = - { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::cadence, - item_id: String, - model_type: :threshold_total_amount, - name: String, - threshold_total_amount_config: ::Hash[Symbol, top], - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - class ThresholdTotalAmount < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::cadence - - attr_accessor item_id: String - - attr_accessor model_type: :threshold_total_amount - - attr_accessor name: String - - attr_accessor threshold_total_amount_config: ::Hash[Symbol, top] - - attr_accessor billable_metric_id: String? - - attr_accessor billed_in_advance: bool? - - attr_accessor billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration? - - attr_accessor conversion_rate: Float? - - attr_accessor currency: String? - - attr_accessor dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration? - - attr_accessor external_price_id: String? - - attr_accessor fixed_price_quantity: Float? - - attr_accessor invoice_grouping_key: String? - - attr_accessor invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration? - - attr_accessor metadata: ::Hash[Symbol, String?]? - - def initialize: ( - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::cadence, - item_id: String, - name: String, - threshold_total_amount_config: ::Hash[Symbol, top], - ?billable_metric_id: String?, - ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration?, - ?conversion_rate: Float?, - ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration?, - ?external_price_id: String?, - ?fixed_price_quantity: Float?, - ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration?, - ?metadata: ::Hash[Symbol, String?]?, - ?model_type: :threshold_total_amount - ) -> void - - def to_hash: -> { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::cadence, - item_id: String, - model_type: :threshold_total_amount, - name: String, - threshold_total_amount_config: ::Hash[Symbol, top], - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - type cadence = - :annual - | :semi_annual - | :monthly - | :quarterly - | :one_time - | :custom - - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL: :annual - SEMI_ANNUAL: :semi_annual - MONTHLY: :monthly - QUARTERLY: :quarterly - ONE_TIME: :one_time - CUSTOM: :custom - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::cadence] - end - - type billing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::duration_unit - } - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::duration_unit] - end - end - - type dimensional_price_configuration = - { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String] - - attr_accessor dimensional_price_group_id: String? - - attr_accessor external_dimensional_price_group_id: String? - - def initialize: ( - dimension_values: ::Array[String], - ?dimensional_price_group_id: String?, - ?external_dimensional_price_group_id: String? - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - end - - type invoicing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::duration_unit - } - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::duration_unit] - end - end - end - - type tiered_package = - { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::cadence, - item_id: String, - model_type: :tiered_package, - name: String, - tiered_package_config: ::Hash[Symbol, top], - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - class TieredPackage < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::cadence - - attr_accessor item_id: String - - attr_accessor model_type: :tiered_package - - attr_accessor name: String - - attr_accessor tiered_package_config: ::Hash[Symbol, top] - - attr_accessor billable_metric_id: String? - - attr_accessor billed_in_advance: bool? - - attr_accessor billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration? - - attr_accessor conversion_rate: Float? - - attr_accessor currency: String? - - attr_accessor dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::DimensionalPriceConfiguration? - - attr_accessor external_price_id: String? - - attr_accessor fixed_price_quantity: Float? - - attr_accessor invoice_grouping_key: String? - - attr_accessor invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration? - - attr_accessor metadata: ::Hash[Symbol, String?]? - - def initialize: ( - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::cadence, - item_id: String, - name: String, - tiered_package_config: ::Hash[Symbol, top], - ?billable_metric_id: String?, - ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration?, - ?conversion_rate: Float?, - ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::DimensionalPriceConfiguration?, - ?external_price_id: String?, - ?fixed_price_quantity: Float?, - ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration?, - ?metadata: ::Hash[Symbol, String?]?, - ?model_type: :tiered_package - ) -> void - - def to_hash: -> { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::cadence, - item_id: String, - model_type: :tiered_package, - name: String, - tiered_package_config: ::Hash[Symbol, top], - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - type cadence = - :annual - | :semi_annual - | :monthly - | :quarterly - | :one_time - | :custom - - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL: :annual - SEMI_ANNUAL: :semi_annual - MONTHLY: :monthly - QUARTERLY: :quarterly - ONE_TIME: :one_time - CUSTOM: :custom - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::cadence] - end - - type billing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration::duration_unit - } - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::BillingCycleConfiguration::duration_unit] - end - end - - type dimensional_price_configuration = - { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String] - - attr_accessor dimensional_price_group_id: String? - - attr_accessor external_dimensional_price_group_id: String? - - def initialize: ( - dimension_values: ::Array[String], - ?dimensional_price_group_id: String?, - ?external_dimensional_price_group_id: String? - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - end - - type invoicing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration::duration_unit - } - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackage::InvoicingCycleConfiguration::duration_unit] - end - end - end - - type tiered_with_minimum = - { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::cadence, - item_id: String, - model_type: :tiered_with_minimum, - name: String, - tiered_with_minimum_config: ::Hash[Symbol, top], - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - class TieredWithMinimum < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::cadence - - attr_accessor item_id: String - - attr_accessor model_type: :tiered_with_minimum - - attr_accessor name: String - - attr_accessor tiered_with_minimum_config: ::Hash[Symbol, top] - - attr_accessor billable_metric_id: String? - - attr_accessor billed_in_advance: bool? - - attr_accessor billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration? - - attr_accessor conversion_rate: Float? - - attr_accessor currency: String? - - attr_accessor dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::DimensionalPriceConfiguration? - - attr_accessor external_price_id: String? - - attr_accessor fixed_price_quantity: Float? - - attr_accessor invoice_grouping_key: String? - - attr_accessor invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration? - - attr_accessor metadata: ::Hash[Symbol, String?]? - - def initialize: ( - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::cadence, - item_id: String, - name: String, - tiered_with_minimum_config: ::Hash[Symbol, top], - ?billable_metric_id: String?, - ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration?, - ?conversion_rate: Float?, - ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::DimensionalPriceConfiguration?, - ?external_price_id: String?, - ?fixed_price_quantity: Float?, - ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration?, - ?metadata: ::Hash[Symbol, String?]?, - ?model_type: :tiered_with_minimum - ) -> void - - def to_hash: -> { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::cadence, - item_id: String, - model_type: :tiered_with_minimum, - name: String, - tiered_with_minimum_config: ::Hash[Symbol, top], - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - type cadence = - :annual - | :semi_annual - | :monthly - | :quarterly - | :one_time - | :custom - - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL: :annual - SEMI_ANNUAL: :semi_annual - MONTHLY: :monthly - QUARTERLY: :quarterly - ONE_TIME: :one_time - CUSTOM: :custom - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::cadence] - end - - type billing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration::duration_unit - } - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::BillingCycleConfiguration::duration_unit] - end - end - - type dimensional_price_configuration = - { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String] - - attr_accessor dimensional_price_group_id: String? - - attr_accessor external_dimensional_price_group_id: String? - - def initialize: ( - dimension_values: ::Array[String], - ?dimensional_price_group_id: String?, - ?external_dimensional_price_group_id: String? - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - end - - type invoicing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::duration_unit - } - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::duration_unit] - end - end - end - - type unit_with_percent = - { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::cadence, - item_id: String, - model_type: :unit_with_percent, - name: String, - unit_with_percent_config: ::Hash[Symbol, top], - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - class UnitWithPercent < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::cadence - - attr_accessor item_id: String - - attr_accessor model_type: :unit_with_percent - - attr_accessor name: String - - attr_accessor unit_with_percent_config: ::Hash[Symbol, top] - - attr_accessor billable_metric_id: String? - - attr_accessor billed_in_advance: bool? - - attr_accessor billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration? - - attr_accessor conversion_rate: Float? - - attr_accessor currency: String? - - attr_accessor dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::DimensionalPriceConfiguration? - - attr_accessor external_price_id: String? - - attr_accessor fixed_price_quantity: Float? - - attr_accessor invoice_grouping_key: String? - - attr_accessor invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration? - - attr_accessor metadata: ::Hash[Symbol, String?]? - - def initialize: ( - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::cadence, - item_id: String, - name: String, - unit_with_percent_config: ::Hash[Symbol, top], - ?billable_metric_id: String?, - ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration?, - ?conversion_rate: Float?, - ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::DimensionalPriceConfiguration?, - ?external_price_id: String?, - ?fixed_price_quantity: Float?, - ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration?, - ?metadata: ::Hash[Symbol, String?]?, - ?model_type: :unit_with_percent - ) -> void - - def to_hash: -> { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::cadence, - item_id: String, - model_type: :unit_with_percent, - name: String, - unit_with_percent_config: ::Hash[Symbol, top], - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - type cadence = - :annual - | :semi_annual - | :monthly - | :quarterly - | :one_time - | :custom - - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL: :annual - SEMI_ANNUAL: :semi_annual - MONTHLY: :monthly - QUARTERLY: :quarterly - ONE_TIME: :one_time - CUSTOM: :custom - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::cadence] - end - - type billing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration::duration_unit - } - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::BillingCycleConfiguration::duration_unit] - end - end - - type dimensional_price_configuration = - { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String] - - attr_accessor dimensional_price_group_id: String? - - attr_accessor external_dimensional_price_group_id: String? - - def initialize: ( - dimension_values: ::Array[String], - ?dimensional_price_group_id: String?, - ?external_dimensional_price_group_id: String? - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - end - - type invoicing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration::duration_unit - } - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithPercent::InvoicingCycleConfiguration::duration_unit] - end - end - end - - type package_with_allocation = - { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::cadence, - item_id: String, - model_type: :package_with_allocation, - name: String, - package_with_allocation_config: ::Hash[Symbol, top], - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - class PackageWithAllocation < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::cadence - - attr_accessor item_id: String - - attr_accessor model_type: :package_with_allocation - - attr_accessor name: String - - attr_accessor package_with_allocation_config: ::Hash[Symbol, top] - - attr_accessor billable_metric_id: String? - - attr_accessor billed_in_advance: bool? - - attr_accessor billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration? - - attr_accessor conversion_rate: Float? - - attr_accessor currency: String? - - attr_accessor dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::DimensionalPriceConfiguration? - - attr_accessor external_price_id: String? - - attr_accessor fixed_price_quantity: Float? - - attr_accessor invoice_grouping_key: String? - - attr_accessor invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration? - - attr_accessor metadata: ::Hash[Symbol, String?]? - - def initialize: ( - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::cadence, - item_id: String, - name: String, - package_with_allocation_config: ::Hash[Symbol, top], - ?billable_metric_id: String?, - ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration?, - ?conversion_rate: Float?, - ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::DimensionalPriceConfiguration?, - ?external_price_id: String?, - ?fixed_price_quantity: Float?, - ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration?, - ?metadata: ::Hash[Symbol, String?]?, - ?model_type: :package_with_allocation - ) -> void - - def to_hash: -> { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::cadence, - item_id: String, - model_type: :package_with_allocation, - name: String, - package_with_allocation_config: ::Hash[Symbol, top], - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - type cadence = - :annual - | :semi_annual - | :monthly - | :quarterly - | :one_time - | :custom - - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL: :annual - SEMI_ANNUAL: :semi_annual - MONTHLY: :monthly - QUARTERLY: :quarterly - ONE_TIME: :one_time - CUSTOM: :custom - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::cadence] - end - - type billing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration::duration_unit - } - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::BillingCycleConfiguration::duration_unit] - end - end - - type dimensional_price_configuration = - { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String] - - attr_accessor dimensional_price_group_id: String? - - attr_accessor external_dimensional_price_group_id: String? - - def initialize: ( - dimension_values: ::Array[String], - ?dimensional_price_group_id: String?, - ?external_dimensional_price_group_id: String? - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - end - - type invoicing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::duration_unit - } - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::duration_unit] - end - end - end - - type tiered_with_proration = - { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::cadence, - item_id: String, - model_type: :tiered_with_proration, - name: String, - tiered_with_proration_config: ::Hash[Symbol, top], - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - class TieredWithProration < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::cadence - - attr_accessor item_id: String - - attr_accessor model_type: :tiered_with_proration - - attr_accessor name: String - - attr_accessor tiered_with_proration_config: ::Hash[Symbol, top] - - attr_accessor billable_metric_id: String? - - attr_accessor billed_in_advance: bool? - - attr_accessor billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration? - - attr_accessor conversion_rate: Float? - - attr_accessor currency: String? - - attr_accessor dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::DimensionalPriceConfiguration? - - attr_accessor external_price_id: String? - - attr_accessor fixed_price_quantity: Float? - - attr_accessor invoice_grouping_key: String? - - attr_accessor invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration? - - attr_accessor metadata: ::Hash[Symbol, String?]? - - def initialize: ( - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::cadence, - item_id: String, - name: String, - tiered_with_proration_config: ::Hash[Symbol, top], - ?billable_metric_id: String?, - ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration?, - ?conversion_rate: Float?, - ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::DimensionalPriceConfiguration?, - ?external_price_id: String?, - ?fixed_price_quantity: Float?, - ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration?, - ?metadata: ::Hash[Symbol, String?]?, - ?model_type: :tiered_with_proration - ) -> void - - def to_hash: -> { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::cadence, - item_id: String, - model_type: :tiered_with_proration, - name: String, - tiered_with_proration_config: ::Hash[Symbol, top], - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - type cadence = - :annual - | :semi_annual - | :monthly - | :quarterly - | :one_time - | :custom - - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL: :annual - SEMI_ANNUAL: :semi_annual - MONTHLY: :monthly - QUARTERLY: :quarterly - ONE_TIME: :one_time - CUSTOM: :custom - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::cadence] - end - - type billing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration::duration_unit - } - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::BillingCycleConfiguration::duration_unit] - end - end - - type dimensional_price_configuration = - { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String] - - attr_accessor dimensional_price_group_id: String? - - attr_accessor external_dimensional_price_group_id: String? - - def initialize: ( - dimension_values: ::Array[String], - ?dimensional_price_group_id: String?, - ?external_dimensional_price_group_id: String? - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - end - - type invoicing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration::duration_unit - } - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredWithProration::InvoicingCycleConfiguration::duration_unit] - end - end - end - - type unit_with_proration = - { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::cadence, - item_id: String, - model_type: :unit_with_proration, - name: String, - unit_with_proration_config: ::Hash[Symbol, top], - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - class UnitWithProration < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::cadence - - attr_accessor item_id: String - - attr_accessor model_type: :unit_with_proration - - attr_accessor name: String - - attr_accessor unit_with_proration_config: ::Hash[Symbol, top] - - attr_accessor billable_metric_id: String? - - attr_accessor billed_in_advance: bool? - - attr_accessor billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration? - - attr_accessor conversion_rate: Float? - - attr_accessor currency: String? - - attr_accessor dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::DimensionalPriceConfiguration? - - attr_accessor external_price_id: String? - - attr_accessor fixed_price_quantity: Float? - - attr_accessor invoice_grouping_key: String? - - attr_accessor invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration? - - attr_accessor metadata: ::Hash[Symbol, String?]? - - def initialize: ( - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::cadence, - item_id: String, - name: String, - unit_with_proration_config: ::Hash[Symbol, top], - ?billable_metric_id: String?, - ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration?, - ?conversion_rate: Float?, - ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::DimensionalPriceConfiguration?, - ?external_price_id: String?, - ?fixed_price_quantity: Float?, - ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration?, - ?metadata: ::Hash[Symbol, String?]?, - ?model_type: :unit_with_proration - ) -> void - - def to_hash: -> { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::cadence, - item_id: String, - model_type: :unit_with_proration, - name: String, - unit_with_proration_config: ::Hash[Symbol, top], - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - type cadence = - :annual - | :semi_annual - | :monthly - | :quarterly - | :one_time - | :custom - - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL: :annual - SEMI_ANNUAL: :semi_annual - MONTHLY: :monthly - QUARTERLY: :quarterly - ONE_TIME: :one_time - CUSTOM: :custom - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::cadence] - end - - type billing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration::duration_unit - } - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::BillingCycleConfiguration::duration_unit] - end - end - - type dimensional_price_configuration = - { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String] - - attr_accessor dimensional_price_group_id: String? - - attr_accessor external_dimensional_price_group_id: String? - - def initialize: ( - dimension_values: ::Array[String], - ?dimensional_price_group_id: String?, - ?external_dimensional_price_group_id: String? - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - end - - type invoicing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration::duration_unit - } - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::UnitWithProration::InvoicingCycleConfiguration::duration_unit] - end - end - end - - type grouped_allocation = - { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::cadence, - grouped_allocation_config: ::Hash[Symbol, top], - item_id: String, - model_type: :grouped_allocation, - name: String, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - class GroupedAllocation < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::cadence - - attr_accessor grouped_allocation_config: ::Hash[Symbol, top] - - attr_accessor item_id: String - - attr_accessor model_type: :grouped_allocation - - attr_accessor name: String - - attr_accessor billable_metric_id: String? - - attr_accessor billed_in_advance: bool? - - attr_accessor billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration? - - attr_accessor conversion_rate: Float? - - attr_accessor currency: String? - - attr_accessor dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::DimensionalPriceConfiguration? - - attr_accessor external_price_id: String? - - attr_accessor fixed_price_quantity: Float? - - attr_accessor invoice_grouping_key: String? - - attr_accessor invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration? - - attr_accessor metadata: ::Hash[Symbol, String?]? - - def initialize: ( - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::cadence, - grouped_allocation_config: ::Hash[Symbol, top], - item_id: String, - name: String, - ?billable_metric_id: String?, - ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration?, - ?conversion_rate: Float?, - ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::DimensionalPriceConfiguration?, - ?external_price_id: String?, - ?fixed_price_quantity: Float?, - ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration?, - ?metadata: ::Hash[Symbol, String?]?, - ?model_type: :grouped_allocation - ) -> void - - def to_hash: -> { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::cadence, - grouped_allocation_config: ::Hash[Symbol, top], - item_id: String, - model_type: :grouped_allocation, - name: String, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - type cadence = - :annual - | :semi_annual - | :monthly - | :quarterly - | :one_time - | :custom - - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL: :annual - SEMI_ANNUAL: :semi_annual - MONTHLY: :monthly - QUARTERLY: :quarterly - ONE_TIME: :one_time - CUSTOM: :custom - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::cadence] - end - - type billing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration::duration_unit - } - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::BillingCycleConfiguration::duration_unit] - end - end - - type dimensional_price_configuration = - { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String] - - attr_accessor dimensional_price_group_id: String? - - attr_accessor external_dimensional_price_group_id: String? - - def initialize: ( - dimension_values: ::Array[String], - ?dimensional_price_group_id: String?, - ?external_dimensional_price_group_id: String? - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - end - - type invoicing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration::duration_unit - } - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedAllocation::InvoicingCycleConfiguration::duration_unit] - end - end - end - - type grouped_with_prorated_minimum = - { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::cadence, - grouped_with_prorated_minimum_config: ::Hash[Symbol, top], - item_id: String, - model_type: :grouped_with_prorated_minimum, - name: String, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - class GroupedWithProratedMinimum < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::cadence - - attr_accessor grouped_with_prorated_minimum_config: ::Hash[Symbol, top] - - attr_accessor item_id: String - - attr_accessor model_type: :grouped_with_prorated_minimum - - attr_accessor name: String - - attr_accessor billable_metric_id: String? - - attr_accessor billed_in_advance: bool? - - attr_accessor billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration? - - attr_accessor conversion_rate: Float? - - attr_accessor currency: String? - - attr_accessor dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration? - - attr_accessor external_price_id: String? - - attr_accessor fixed_price_quantity: Float? - - attr_accessor invoice_grouping_key: String? - - attr_accessor invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration? - - attr_accessor metadata: ::Hash[Symbol, String?]? - - def initialize: ( - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::cadence, - grouped_with_prorated_minimum_config: ::Hash[Symbol, top], - item_id: String, - name: String, - ?billable_metric_id: String?, - ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration?, - ?conversion_rate: Float?, - ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration?, - ?external_price_id: String?, - ?fixed_price_quantity: Float?, - ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration?, - ?metadata: ::Hash[Symbol, String?]?, - ?model_type: :grouped_with_prorated_minimum - ) -> void - - def to_hash: -> { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::cadence, - grouped_with_prorated_minimum_config: ::Hash[Symbol, top], - item_id: String, - model_type: :grouped_with_prorated_minimum, - name: String, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - type cadence = - :annual - | :semi_annual - | :monthly - | :quarterly - | :one_time - | :custom - - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL: :annual - SEMI_ANNUAL: :semi_annual - MONTHLY: :monthly - QUARTERLY: :quarterly - ONE_TIME: :one_time - CUSTOM: :custom - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::cadence] - end - - type billing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::duration_unit - } - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::duration_unit] - end - end - - type dimensional_price_configuration = - { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String] - - attr_accessor dimensional_price_group_id: String? - - attr_accessor external_dimensional_price_group_id: String? - - def initialize: ( - dimension_values: ::Array[String], - ?dimensional_price_group_id: String?, - ?external_dimensional_price_group_id: String? - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - end - - type invoicing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::duration_unit - } - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::duration_unit] - end - end - end - - type grouped_with_metered_minimum = - { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::cadence, - grouped_with_metered_minimum_config: ::Hash[Symbol, top], - item_id: String, - model_type: :grouped_with_metered_minimum, - name: String, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - class GroupedWithMeteredMinimum < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::cadence - - attr_accessor grouped_with_metered_minimum_config: ::Hash[Symbol, top] - - attr_accessor item_id: String - - attr_accessor model_type: :grouped_with_metered_minimum - - attr_accessor name: String - - attr_accessor billable_metric_id: String? - - attr_accessor billed_in_advance: bool? - - attr_accessor billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration? - - attr_accessor conversion_rate: Float? - - attr_accessor currency: String? - - attr_accessor dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration? - - attr_accessor external_price_id: String? - - attr_accessor fixed_price_quantity: Float? - - attr_accessor invoice_grouping_key: String? - - attr_accessor invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration? - - attr_accessor metadata: ::Hash[Symbol, String?]? - - def initialize: ( - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::cadence, - grouped_with_metered_minimum_config: ::Hash[Symbol, top], - item_id: String, - name: String, - ?billable_metric_id: String?, - ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration?, - ?conversion_rate: Float?, - ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration?, - ?external_price_id: String?, - ?fixed_price_quantity: Float?, - ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration?, - ?metadata: ::Hash[Symbol, String?]?, - ?model_type: :grouped_with_metered_minimum - ) -> void - - def to_hash: -> { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::cadence, - grouped_with_metered_minimum_config: ::Hash[Symbol, top], - item_id: String, - model_type: :grouped_with_metered_minimum, - name: String, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - type cadence = - :annual - | :semi_annual - | :monthly - | :quarterly - | :one_time - | :custom - - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL: :annual - SEMI_ANNUAL: :semi_annual - MONTHLY: :monthly - QUARTERLY: :quarterly - ONE_TIME: :one_time - CUSTOM: :custom - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::cadence] - end - - type billing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::duration_unit - } - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::duration_unit] - end - end - - type dimensional_price_configuration = - { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String] - - attr_accessor dimensional_price_group_id: String? - - attr_accessor external_dimensional_price_group_id: String? - - def initialize: ( - dimension_values: ::Array[String], - ?dimensional_price_group_id: String?, - ?external_dimensional_price_group_id: String? - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - end - - type invoicing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::duration_unit - } - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::duration_unit] - end - end - end - - type matrix_with_display_name = - { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::cadence, - item_id: String, - matrix_with_display_name_config: ::Hash[Symbol, top], - model_type: :matrix_with_display_name, - name: String, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - class MatrixWithDisplayName < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::cadence - - attr_accessor item_id: String - - attr_accessor matrix_with_display_name_config: ::Hash[Symbol, top] - - attr_accessor model_type: :matrix_with_display_name - - attr_accessor name: String - - attr_accessor billable_metric_id: String? - - attr_accessor billed_in_advance: bool? - - attr_accessor billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration? - - attr_accessor conversion_rate: Float? - - attr_accessor currency: String? - - attr_accessor dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration? - - attr_accessor external_price_id: String? - - attr_accessor fixed_price_quantity: Float? - - attr_accessor invoice_grouping_key: String? - - attr_accessor invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration? - - attr_accessor metadata: ::Hash[Symbol, String?]? - - def initialize: ( - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::cadence, - item_id: String, - matrix_with_display_name_config: ::Hash[Symbol, top], - name: String, - ?billable_metric_id: String?, - ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration?, - ?conversion_rate: Float?, - ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration?, - ?external_price_id: String?, - ?fixed_price_quantity: Float?, - ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration?, - ?metadata: ::Hash[Symbol, String?]?, - ?model_type: :matrix_with_display_name - ) -> void - - def to_hash: -> { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::cadence, - item_id: String, - matrix_with_display_name_config: ::Hash[Symbol, top], - model_type: :matrix_with_display_name, - name: String, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - type cadence = - :annual - | :semi_annual - | :monthly - | :quarterly - | :one_time - | :custom - - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL: :annual - SEMI_ANNUAL: :semi_annual - MONTHLY: :monthly - QUARTERLY: :quarterly - ONE_TIME: :one_time - CUSTOM: :custom - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::cadence] - end - - type billing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::duration_unit - } - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::duration_unit] - end - end - - type dimensional_price_configuration = - { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String] - - attr_accessor dimensional_price_group_id: String? - - attr_accessor external_dimensional_price_group_id: String? - - def initialize: ( - dimension_values: ::Array[String], - ?dimensional_price_group_id: String?, - ?external_dimensional_price_group_id: String? - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - end - - type invoicing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::duration_unit - } - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::duration_unit] - end - end - end - - type bulk_with_proration = - { - bulk_with_proration_config: ::Hash[Symbol, top], - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::cadence, - item_id: String, - model_type: :bulk_with_proration, - name: String, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - class BulkWithProration < Orb::Internal::Type::BaseModel - attr_accessor bulk_with_proration_config: ::Hash[Symbol, top] - - attr_accessor cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::cadence - - attr_accessor item_id: String - - attr_accessor model_type: :bulk_with_proration - - attr_accessor name: String - - attr_accessor billable_metric_id: String? - - attr_accessor billed_in_advance: bool? - - attr_accessor billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration? - - attr_accessor conversion_rate: Float? - - attr_accessor currency: String? - - attr_accessor dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::DimensionalPriceConfiguration? - - attr_accessor external_price_id: String? - - attr_accessor fixed_price_quantity: Float? - - attr_accessor invoice_grouping_key: String? - - attr_accessor invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration? - - attr_accessor metadata: ::Hash[Symbol, String?]? - - def initialize: ( - bulk_with_proration_config: ::Hash[Symbol, top], - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::cadence, - item_id: String, - name: String, - ?billable_metric_id: String?, - ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration?, - ?conversion_rate: Float?, - ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::DimensionalPriceConfiguration?, - ?external_price_id: String?, - ?fixed_price_quantity: Float?, - ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration?, - ?metadata: ::Hash[Symbol, String?]?, - ?model_type: :bulk_with_proration - ) -> void - - def to_hash: -> { - bulk_with_proration_config: ::Hash[Symbol, top], - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::cadence, - item_id: String, - model_type: :bulk_with_proration, - name: String, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - type cadence = - :annual - | :semi_annual - | :monthly - | :quarterly - | :one_time - | :custom - - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL: :annual - SEMI_ANNUAL: :semi_annual - MONTHLY: :monthly - QUARTERLY: :quarterly - ONE_TIME: :one_time - CUSTOM: :custom - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::cadence] - end - - type billing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration::duration_unit - } - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::BillingCycleConfiguration::duration_unit] - end - end - - type dimensional_price_configuration = - { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String] - - attr_accessor dimensional_price_group_id: String? - - attr_accessor external_dimensional_price_group_id: String? - - def initialize: ( - dimension_values: ::Array[String], - ?dimensional_price_group_id: String?, - ?external_dimensional_price_group_id: String? - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - end - - type invoicing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration::duration_unit - } - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::BulkWithProration::InvoicingCycleConfiguration::duration_unit] - end - end - end - - type grouped_tiered_package = - { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::cadence, - grouped_tiered_package_config: ::Hash[Symbol, top], - item_id: String, - model_type: :grouped_tiered_package, - name: String, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - class GroupedTieredPackage < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::cadence - - attr_accessor grouped_tiered_package_config: ::Hash[Symbol, top] - - attr_accessor item_id: String - - attr_accessor model_type: :grouped_tiered_package - - attr_accessor name: String - - attr_accessor billable_metric_id: String? - - attr_accessor billed_in_advance: bool? - - attr_accessor billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration? - - attr_accessor conversion_rate: Float? - - attr_accessor currency: String? - - attr_accessor dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration? - - attr_accessor external_price_id: String? - - attr_accessor fixed_price_quantity: Float? - - attr_accessor invoice_grouping_key: String? - - attr_accessor invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration? - - attr_accessor metadata: ::Hash[Symbol, String?]? - - def initialize: ( - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::cadence, - grouped_tiered_package_config: ::Hash[Symbol, top], - item_id: String, - name: String, - ?billable_metric_id: String?, - ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration?, - ?conversion_rate: Float?, - ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration?, - ?external_price_id: String?, - ?fixed_price_quantity: Float?, - ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration?, - ?metadata: ::Hash[Symbol, String?]?, - ?model_type: :grouped_tiered_package - ) -> void - - def to_hash: -> { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::cadence, - grouped_tiered_package_config: ::Hash[Symbol, top], - item_id: String, - model_type: :grouped_tiered_package, - name: String, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - type cadence = - :annual - | :semi_annual - | :monthly - | :quarterly - | :one_time - | :custom - - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL: :annual - SEMI_ANNUAL: :semi_annual - MONTHLY: :monthly - QUARTERLY: :quarterly - ONE_TIME: :one_time - CUSTOM: :custom - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::cadence] - end - - type billing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration::duration_unit - } - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::BillingCycleConfiguration::duration_unit] - end - end - - type dimensional_price_configuration = - { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String] - - attr_accessor dimensional_price_group_id: String? - - attr_accessor external_dimensional_price_group_id: String? - - def initialize: ( - dimension_values: ::Array[String], - ?dimensional_price_group_id: String?, - ?external_dimensional_price_group_id: String? - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - end - - type invoicing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::duration_unit - } - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::duration_unit] - end - end - end - - type max_group_tiered_package = - { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::cadence, - item_id: String, - max_group_tiered_package_config: ::Hash[Symbol, top], - model_type: :max_group_tiered_package, - name: String, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - class MaxGroupTieredPackage < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::cadence - - attr_accessor item_id: String - - attr_accessor max_group_tiered_package_config: ::Hash[Symbol, top] - - attr_accessor model_type: :max_group_tiered_package - - attr_accessor name: String - - attr_accessor billable_metric_id: String? - - attr_accessor billed_in_advance: bool? - - attr_accessor billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration? - - attr_accessor conversion_rate: Float? - - attr_accessor currency: String? - - attr_accessor dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration? - - attr_accessor external_price_id: String? - - attr_accessor fixed_price_quantity: Float? - - attr_accessor invoice_grouping_key: String? - - attr_accessor invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration? - - attr_accessor metadata: ::Hash[Symbol, String?]? - - def initialize: ( - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::cadence, - item_id: String, - max_group_tiered_package_config: ::Hash[Symbol, top], - name: String, - ?billable_metric_id: String?, - ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration?, - ?conversion_rate: Float?, - ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration?, - ?external_price_id: String?, - ?fixed_price_quantity: Float?, - ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration?, - ?metadata: ::Hash[Symbol, String?]?, - ?model_type: :max_group_tiered_package - ) -> void - - def to_hash: -> { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::cadence, - item_id: String, - max_group_tiered_package_config: ::Hash[Symbol, top], - model_type: :max_group_tiered_package, - name: String, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - type cadence = - :annual - | :semi_annual - | :monthly - | :quarterly - | :one_time - | :custom - - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL: :annual - SEMI_ANNUAL: :semi_annual - MONTHLY: :monthly - QUARTERLY: :quarterly - ONE_TIME: :one_time - CUSTOM: :custom - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::cadence] - end - - type billing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::duration_unit - } - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::duration_unit] - end - end - - type dimensional_price_configuration = - { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String] - - attr_accessor dimensional_price_group_id: String? - - attr_accessor external_dimensional_price_group_id: String? - - def initialize: ( - dimension_values: ::Array[String], - ?dimensional_price_group_id: String?, - ?external_dimensional_price_group_id: String? - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - end - - type invoicing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::duration_unit - } - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::duration_unit] - end - end - end - - type scalable_matrix_with_unit_pricing = - { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::cadence, - item_id: String, - model_type: :scalable_matrix_with_unit_pricing, - name: String, - scalable_matrix_with_unit_pricing_config: ::Hash[Symbol, top], - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - class ScalableMatrixWithUnitPricing < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::cadence - - attr_accessor item_id: String - - attr_accessor model_type: :scalable_matrix_with_unit_pricing - - attr_accessor name: String - - attr_accessor scalable_matrix_with_unit_pricing_config: ::Hash[Symbol, top] - - attr_accessor billable_metric_id: String? - - attr_accessor billed_in_advance: bool? - - attr_accessor billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration? - - attr_accessor conversion_rate: Float? - - attr_accessor currency: String? - - attr_accessor dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration? - - attr_accessor external_price_id: String? - - attr_accessor fixed_price_quantity: Float? - - attr_accessor invoice_grouping_key: String? - - attr_accessor invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration? - - attr_accessor metadata: ::Hash[Symbol, String?]? - - def initialize: ( - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::cadence, - item_id: String, - name: String, - scalable_matrix_with_unit_pricing_config: ::Hash[Symbol, top], - ?billable_metric_id: String?, - ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration?, - ?conversion_rate: Float?, - ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration?, - ?external_price_id: String?, - ?fixed_price_quantity: Float?, - ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration?, - ?metadata: ::Hash[Symbol, String?]?, - ?model_type: :scalable_matrix_with_unit_pricing - ) -> void - - def to_hash: -> { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::cadence, - item_id: String, - model_type: :scalable_matrix_with_unit_pricing, - name: String, - scalable_matrix_with_unit_pricing_config: ::Hash[Symbol, top], - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - type cadence = - :annual - | :semi_annual - | :monthly - | :quarterly - | :one_time - | :custom - - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL: :annual - SEMI_ANNUAL: :semi_annual - MONTHLY: :monthly - QUARTERLY: :quarterly - ONE_TIME: :one_time - CUSTOM: :custom - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::cadence] - end - - type billing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::duration_unit - } - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::duration_unit] - end - end - - type dimensional_price_configuration = - { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String] - - attr_accessor dimensional_price_group_id: String? - - attr_accessor external_dimensional_price_group_id: String? - - def initialize: ( - dimension_values: ::Array[String], - ?dimensional_price_group_id: String?, - ?external_dimensional_price_group_id: String? - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - end - - type invoicing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::duration_unit - } - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::duration_unit] - end - end - end - - type scalable_matrix_with_tiered_pricing = - { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::cadence, - item_id: String, - model_type: :scalable_matrix_with_tiered_pricing, - name: String, - scalable_matrix_with_tiered_pricing_config: ::Hash[Symbol, top], - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - class ScalableMatrixWithTieredPricing < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::cadence - - attr_accessor item_id: String - - attr_accessor model_type: :scalable_matrix_with_tiered_pricing - - attr_accessor name: String - - attr_accessor scalable_matrix_with_tiered_pricing_config: ::Hash[Symbol, top] - - attr_accessor billable_metric_id: String? - - attr_accessor billed_in_advance: bool? - - attr_accessor billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration? - - attr_accessor conversion_rate: Float? - - attr_accessor currency: String? - - attr_accessor dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration? - - attr_accessor external_price_id: String? - - attr_accessor fixed_price_quantity: Float? - - attr_accessor invoice_grouping_key: String? - - attr_accessor invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration? - - attr_accessor metadata: ::Hash[Symbol, String?]? - - def initialize: ( - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::cadence, - item_id: String, - name: String, - scalable_matrix_with_tiered_pricing_config: ::Hash[Symbol, top], - ?billable_metric_id: String?, - ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration?, - ?conversion_rate: Float?, - ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration?, - ?external_price_id: String?, - ?fixed_price_quantity: Float?, - ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration?, - ?metadata: ::Hash[Symbol, String?]?, - ?model_type: :scalable_matrix_with_tiered_pricing - ) -> void - - def to_hash: -> { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::cadence, - item_id: String, - model_type: :scalable_matrix_with_tiered_pricing, - name: String, - scalable_matrix_with_tiered_pricing_config: ::Hash[Symbol, top], - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - type cadence = - :annual - | :semi_annual - | :monthly - | :quarterly - | :one_time - | :custom - - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL: :annual - SEMI_ANNUAL: :semi_annual - MONTHLY: :monthly - QUARTERLY: :quarterly - ONE_TIME: :one_time - CUSTOM: :custom - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::cadence] - end - - type billing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::duration_unit - } - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::duration_unit] - end - end - - type dimensional_price_configuration = - { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String] - - attr_accessor dimensional_price_group_id: String? - - attr_accessor external_dimensional_price_group_id: String? - - def initialize: ( - dimension_values: ::Array[String], - ?dimensional_price_group_id: String?, - ?external_dimensional_price_group_id: String? - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - end - - type invoicing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::duration_unit - } - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::duration_unit] - end - end - end - - type cumulative_grouped_bulk = - { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - class CumulativeGroupedBulk < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration? - - attr_accessor conversion_rate: Float? - - attr_accessor currency: String? - - attr_accessor dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration? - - attr_accessor external_price_id: String? - - attr_accessor fixed_price_quantity: Float? - - attr_accessor invoice_grouping_key: String? - - attr_accessor invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration? - - attr_accessor metadata: ::Hash[Symbol, String?]? - - def initialize: ( - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration?, - ?conversion_rate: Float?, - ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration?, - ?external_price_id: String?, - ?fixed_price_quantity: Float?, - ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration?, - ?metadata: ::Hash[Symbol, String?]?, - ?model_type: :cumulative_grouped_bulk - ) -> void - - def to_hash: -> { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::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::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - type cadence = - :annual - | :semi_annual - | :monthly - | :quarterly - | :one_time - | :custom - - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL: :annual - SEMI_ANNUAL: :semi_annual - MONTHLY: :monthly - QUARTERLY: :quarterly - ONE_TIME: :one_time - CUSTOM: :custom - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::cadence] - end - - type billing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::duration_unit - } - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::duration_unit] - end - end - - type dimensional_price_configuration = - { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String] - - attr_accessor dimensional_price_group_id: String? - - attr_accessor external_dimensional_price_group_id: String? - - def initialize: ( - dimension_values: ::Array[String], - ?dimensional_price_group_id: String?, - ?external_dimensional_price_group_id: String? - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - end - - type invoicing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::duration_unit - } - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::duration_unit] - end - end - end - - type tiered_package_with_minimum = - { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::cadence, - item_id: String, - model_type: :tiered_package_with_minimum, - name: String, - tiered_package_with_minimum_config: ::Hash[Symbol, top], - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - class TieredPackageWithMinimum < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::cadence - - attr_accessor item_id: String - - attr_accessor model_type: :tiered_package_with_minimum - - attr_accessor name: String - - attr_accessor tiered_package_with_minimum_config: ::Hash[Symbol, top] - - attr_accessor billable_metric_id: String? - - attr_accessor billed_in_advance: bool? - - attr_accessor billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration? - - attr_accessor conversion_rate: Float? - - attr_accessor currency: String? - - attr_accessor dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration? - - attr_accessor external_price_id: String? - - attr_accessor fixed_price_quantity: Float? - - attr_accessor invoice_grouping_key: String? - - attr_accessor invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration? - - attr_accessor metadata: ::Hash[Symbol, String?]? - - def initialize: ( - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::cadence, - item_id: String, - name: String, - tiered_package_with_minimum_config: ::Hash[Symbol, top], - ?billable_metric_id: String?, - ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration?, - ?conversion_rate: Float?, - ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration?, - ?external_price_id: String?, - ?fixed_price_quantity: Float?, - ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration?, - ?metadata: ::Hash[Symbol, String?]?, - ?model_type: :tiered_package_with_minimum - ) -> void - - def to_hash: -> { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::cadence, - item_id: String, - model_type: :tiered_package_with_minimum, - name: String, - tiered_package_with_minimum_config: ::Hash[Symbol, top], - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - type cadence = - :annual - | :semi_annual - | :monthly - | :quarterly - | :one_time - | :custom - - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL: :annual - SEMI_ANNUAL: :semi_annual - MONTHLY: :monthly - QUARTERLY: :quarterly - ONE_TIME: :one_time - CUSTOM: :custom - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::cadence] - end - - type billing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::duration_unit - } - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::duration_unit] - end - end - - type dimensional_price_configuration = - { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String] - - attr_accessor dimensional_price_group_id: String? - - attr_accessor external_dimensional_price_group_id: String? - - def initialize: ( - dimension_values: ::Array[String], - ?dimensional_price_group_id: String?, - ?external_dimensional_price_group_id: String? - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - end - - type invoicing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::duration_unit - } - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::duration_unit] - end - end - end - - type matrix_with_allocation = - { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::cadence, - item_id: String, - matrix_with_allocation_config: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig, - model_type: :matrix_with_allocation, - name: String, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - class MatrixWithAllocation < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::cadence - - attr_accessor item_id: String - - attr_accessor matrix_with_allocation_config: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig - - attr_accessor model_type: :matrix_with_allocation - - attr_accessor name: String - - attr_accessor billable_metric_id: String? - - attr_accessor billed_in_advance: bool? - - attr_accessor billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration? - - attr_accessor conversion_rate: Float? - - attr_accessor currency: String? - - attr_accessor dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration? - - attr_accessor external_price_id: String? - - attr_accessor fixed_price_quantity: Float? - - attr_accessor invoice_grouping_key: String? - - attr_accessor invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration? - - attr_accessor metadata: ::Hash[Symbol, String?]? - - def initialize: ( - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::cadence, - item_id: String, - matrix_with_allocation_config: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig, - name: String, - ?billable_metric_id: String?, - ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration?, - ?conversion_rate: Float?, - ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration?, - ?external_price_id: String?, - ?fixed_price_quantity: Float?, - ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration?, - ?metadata: ::Hash[Symbol, String?]?, - ?model_type: :matrix_with_allocation - ) -> void - - def to_hash: -> { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::cadence, - item_id: String, - matrix_with_allocation_config: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig, - model_type: :matrix_with_allocation, - name: String, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - type cadence = - :annual - | :semi_annual - | :monthly - | :quarterly - | :one_time - | :custom - - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL: :annual - SEMI_ANNUAL: :semi_annual - MONTHLY: :monthly - QUARTERLY: :quarterly - ONE_TIME: :one_time - CUSTOM: :custom - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::cadence] - end - - type matrix_with_allocation_config = - { - allocation: Float, - default_unit_amount: String, - dimensions: ::Array[String?], - matrix_values: ::Array[Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue] - } - - class MatrixWithAllocationConfig < Orb::Internal::Type::BaseModel - attr_accessor allocation: Float - - attr_accessor default_unit_amount: String - - attr_accessor dimensions: ::Array[String?] - - attr_accessor matrix_values: ::Array[Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue] - - def initialize: ( - allocation: Float, - default_unit_amount: String, - dimensions: ::Array[String?], - matrix_values: ::Array[Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue] - ) -> void - - def to_hash: -> { - allocation: Float, - default_unit_amount: String, - dimensions: ::Array[String?], - matrix_values: ::Array[Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue] - } - - type matrix_value = - { dimension_values: ::Array[String?], unit_amount: String } - - class MatrixValue < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String?] - - attr_accessor unit_amount: String - - def initialize: ( - dimension_values: ::Array[String?], - unit_amount: String - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String?], - unit_amount: String - } - end - end - - type billing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration::duration_unit - } - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::BillingCycleConfiguration::duration_unit] - end - end - - type dimensional_price_configuration = - { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String] - - attr_accessor dimensional_price_group_id: String? - - attr_accessor external_dimensional_price_group_id: String? - - def initialize: ( - dimension_values: ::Array[String], - ?dimensional_price_group_id: String?, - ?external_dimensional_price_group_id: String? - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - end - - type invoicing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::duration_unit - } - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::duration_unit] - end - end - end - - type grouped_tiered = - { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::cadence, - grouped_tiered_config: ::Hash[Symbol, top], - item_id: String, - model_type: :grouped_tiered, - name: String, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - class GroupedTiered < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::cadence - - attr_accessor grouped_tiered_config: ::Hash[Symbol, top] - - attr_accessor item_id: String - - attr_accessor model_type: :grouped_tiered - - attr_accessor name: String - - attr_accessor billable_metric_id: String? - - attr_accessor billed_in_advance: bool? - - attr_accessor billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration? - - attr_accessor conversion_rate: Float? - - attr_accessor currency: String? - - attr_accessor dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::DimensionalPriceConfiguration? - - attr_accessor external_price_id: String? - - attr_accessor fixed_price_quantity: Float? - - attr_accessor invoice_grouping_key: String? - - attr_accessor invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration? - - attr_accessor metadata: ::Hash[Symbol, String?]? - - def initialize: ( - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::cadence, - grouped_tiered_config: ::Hash[Symbol, top], - item_id: String, - name: String, - ?billable_metric_id: String?, - ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration?, - ?conversion_rate: Float?, - ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::DimensionalPriceConfiguration?, - ?external_price_id: String?, - ?fixed_price_quantity: Float?, - ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration?, - ?metadata: ::Hash[Symbol, String?]?, - ?model_type: :grouped_tiered - ) -> void - - def to_hash: -> { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::cadence, - grouped_tiered_config: ::Hash[Symbol, top], - item_id: String, - model_type: :grouped_tiered, - name: String, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - type cadence = - :annual - | :semi_annual - | :monthly - | :quarterly - | :one_time - | :custom - - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL: :annual - SEMI_ANNUAL: :semi_annual - MONTHLY: :monthly - QUARTERLY: :quarterly - ONE_TIME: :one_time - CUSTOM: :custom - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::cadence] - end - - type billing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration::duration_unit - } - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::BillingCycleConfiguration::duration_unit] - end - end - - type dimensional_price_configuration = - { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String] - - attr_accessor dimensional_price_group_id: String? - - attr_accessor external_dimensional_price_group_id: String? - - def initialize: ( - dimension_values: ::Array[String], - ?dimensional_price_group_id: String?, - ?external_dimensional_price_group_id: String? - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - end - - type invoicing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration::duration_unit - } - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::Price::GroupedTiered::InvoicingCycleConfiguration::duration_unit] - end - end - end - - def self?.variants: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::AddPrice::price] - end - end - - type remove_adjustment = - { adjustment_id: String, plan_phase_order: Integer? } - - class RemoveAdjustment < Orb::Internal::Type::BaseModel - attr_accessor adjustment_id: String - - attr_accessor plan_phase_order: Integer? - - def initialize: ( - adjustment_id: String, - ?plan_phase_order: Integer? - ) -> void - - def to_hash: -> { - adjustment_id: String, - plan_phase_order: Integer? - } - end - - type remove_price = { price_id: String, plan_phase_order: Integer? } - - class RemovePrice < Orb::Internal::Type::BaseModel - attr_accessor price_id: String - - attr_accessor plan_phase_order: Integer? - - def initialize: ( - price_id: String, - ?plan_phase_order: Integer? - ) -> void - - def to_hash: -> { price_id: String, plan_phase_order: Integer? } - end - - type replace_adjustment = - { - adjustment: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplaceAdjustment::adjustment, - replaces_adjustment_id: String, - plan_phase_order: Integer? - } - - class ReplaceAdjustment < Orb::Internal::Type::BaseModel - attr_accessor adjustment: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplaceAdjustment::adjustment - - attr_accessor replaces_adjustment_id: String - - attr_accessor plan_phase_order: Integer? - - def initialize: ( - adjustment: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplaceAdjustment::adjustment, - replaces_adjustment_id: String, - ?plan_phase_order: Integer? - ) -> void - - def to_hash: -> { - adjustment: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplaceAdjustment::adjustment, - replaces_adjustment_id: String, - plan_phase_order: Integer? - } - - type adjustment = - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplaceAdjustment::Adjustment::PercentageDiscount - | Orb::Plans::ExternalPlanID::VersionCreateParams::ReplaceAdjustment::Adjustment::UsageDiscount - | Orb::Plans::ExternalPlanID::VersionCreateParams::ReplaceAdjustment::Adjustment::AmountDiscount - | Orb::Plans::ExternalPlanID::VersionCreateParams::ReplaceAdjustment::Adjustment::Minimum - | Orb::Plans::ExternalPlanID::VersionCreateParams::ReplaceAdjustment::Adjustment::Maximum - - module Adjustment - extend Orb::Internal::Type::Union - - type percentage_discount = - { - adjustment_type: :percentage_discount, - percentage_discount: Float, - applies_to_price_ids: ::Array[String]?, - is_invoice_level: bool - } - - class PercentageDiscount < Orb::Internal::Type::BaseModel - attr_accessor adjustment_type: :percentage_discount - - attr_accessor percentage_discount: Float - - attr_accessor applies_to_price_ids: ::Array[String]? - - attr_reader is_invoice_level: bool? - - def is_invoice_level=: (bool) -> bool - - def initialize: ( - percentage_discount: Float, - ?applies_to_price_ids: ::Array[String]?, - ?is_invoice_level: bool, - ?adjustment_type: :percentage_discount - ) -> void - - def to_hash: -> { - adjustment_type: :percentage_discount, - percentage_discount: Float, - applies_to_price_ids: ::Array[String]?, - is_invoice_level: bool - } - end - - type usage_discount = - { - adjustment_type: :usage_discount, - usage_discount: Float, - applies_to_price_ids: ::Array[String]?, - is_invoice_level: bool - } - - class UsageDiscount < Orb::Internal::Type::BaseModel - attr_accessor adjustment_type: :usage_discount - - attr_accessor usage_discount: Float - - attr_accessor applies_to_price_ids: ::Array[String]? - - attr_reader is_invoice_level: bool? - - def is_invoice_level=: (bool) -> bool - - def initialize: ( - usage_discount: Float, - ?applies_to_price_ids: ::Array[String]?, - ?is_invoice_level: bool, - ?adjustment_type: :usage_discount - ) -> void - - def to_hash: -> { - adjustment_type: :usage_discount, - usage_discount: Float, - applies_to_price_ids: ::Array[String]?, - is_invoice_level: bool - } - end - - type amount_discount = - { - adjustment_type: :amount_discount, - amount_discount: String, - applies_to_price_ids: ::Array[String]?, - is_invoice_level: bool - } - - class AmountDiscount < Orb::Internal::Type::BaseModel - attr_accessor adjustment_type: :amount_discount - - attr_accessor amount_discount: String - - attr_accessor applies_to_price_ids: ::Array[String]? - - attr_reader is_invoice_level: bool? - - def is_invoice_level=: (bool) -> bool - - def initialize: ( - amount_discount: String, - ?applies_to_price_ids: ::Array[String]?, - ?is_invoice_level: bool, - ?adjustment_type: :amount_discount - ) -> void - - def to_hash: -> { - adjustment_type: :amount_discount, - amount_discount: String, - applies_to_price_ids: ::Array[String]?, - is_invoice_level: bool - } - end - - type minimum = - { - adjustment_type: :minimum, - item_id: String, - minimum_amount: String, - applies_to_price_ids: ::Array[String]?, - is_invoice_level: bool - } - - class Minimum < Orb::Internal::Type::BaseModel - attr_accessor adjustment_type: :minimum - - attr_accessor item_id: String - - attr_accessor minimum_amount: String - - attr_accessor applies_to_price_ids: ::Array[String]? - - attr_reader is_invoice_level: bool? - - def is_invoice_level=: (bool) -> bool - - def initialize: ( - item_id: String, - minimum_amount: String, - ?applies_to_price_ids: ::Array[String]?, - ?is_invoice_level: bool, - ?adjustment_type: :minimum - ) -> void - - def to_hash: -> { - adjustment_type: :minimum, - item_id: String, - minimum_amount: String, - applies_to_price_ids: ::Array[String]?, - is_invoice_level: bool - } - end - - type maximum = - { - adjustment_type: :maximum, - maximum_amount: String, - applies_to_price_ids: ::Array[String]?, - is_invoice_level: bool - } - - class Maximum < Orb::Internal::Type::BaseModel - attr_accessor adjustment_type: :maximum - - attr_accessor maximum_amount: String - - attr_accessor applies_to_price_ids: ::Array[String]? - - attr_reader is_invoice_level: bool? - - def is_invoice_level=: (bool) -> bool - - def initialize: ( - maximum_amount: String, - ?applies_to_price_ids: ::Array[String]?, - ?is_invoice_level: bool, - ?adjustment_type: :maximum - ) -> void - - def to_hash: -> { - adjustment_type: :maximum, - maximum_amount: String, - applies_to_price_ids: ::Array[String]?, - is_invoice_level: bool - } - end - - def self?.variants: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplaceAdjustment::adjustment] - end - end - - type replace_price = - { - replaces_price_id: String, - allocation_price: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::AllocationPrice?, - plan_phase_order: Integer?, - price: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::price? - } - - class ReplacePrice < Orb::Internal::Type::BaseModel - attr_accessor replaces_price_id: String - - attr_accessor allocation_price: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::AllocationPrice? - - attr_accessor plan_phase_order: Integer? - - attr_accessor price: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::price? - - def initialize: ( - replaces_price_id: String, - ?allocation_price: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::AllocationPrice?, - ?plan_phase_order: Integer?, - ?price: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::price? - ) -> void - - def to_hash: -> { - replaces_price_id: String, - allocation_price: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::AllocationPrice?, - plan_phase_order: Integer?, - price: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::price? - } - - type allocation_price = - { - amount: String, - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::AllocationPrice::cadence, - currency: String, - expires_at_end_of_cadence: bool - } - - class AllocationPrice < Orb::Internal::Type::BaseModel - attr_accessor amount: String - - attr_accessor cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::AllocationPrice::cadence - - attr_accessor currency: String - - attr_accessor expires_at_end_of_cadence: bool - - def initialize: ( - amount: String, - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::AllocationPrice::cadence, - currency: String, - expires_at_end_of_cadence: bool - ) -> void - - def to_hash: -> { - amount: String, - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::AllocationPrice::cadence, - currency: String, - expires_at_end_of_cadence: bool - } - - type cadence = - :one_time - | :monthly - | :quarterly - | :semi_annual - | :annual - | :custom - - module Cadence - extend Orb::Internal::Type::Enum - - ONE_TIME: :one_time - MONTHLY: :monthly - QUARTERLY: :quarterly - SEMI_ANNUAL: :semi_annual - ANNUAL: :annual - CUSTOM: :custom - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::AllocationPrice::cadence] - end - end - - type price = - Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit - | Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package - | Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix - | Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered - | Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps - | Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps - | Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps - | Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk - | Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount - | Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage - | Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum - | Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent - | Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation - | Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration - | Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration - | Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation - | Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum - | Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum - | Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName - | Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration - | Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage - | Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage - | Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing - | Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing - | Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk - | Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum - | Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation - | Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered - - module Price - extend Orb::Internal::Type::Union - - type unit = - { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::cadence, - item_id: String, - model_type: :unit, - name: String, - unit_config: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::UnitConfig, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - class Unit < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::cadence - - attr_accessor item_id: String - - attr_accessor model_type: :unit - - attr_accessor name: String - - attr_accessor unit_config: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::UnitConfig - - attr_accessor billable_metric_id: String? - - attr_accessor billed_in_advance: bool? - - attr_accessor billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::BillingCycleConfiguration? - - attr_accessor conversion_rate: Float? - - attr_accessor currency: String? - - attr_accessor dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::DimensionalPriceConfiguration? - - attr_accessor external_price_id: String? - - attr_accessor fixed_price_quantity: Float? - - attr_accessor invoice_grouping_key: String? - - attr_accessor invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration? - - attr_accessor metadata: ::Hash[Symbol, String?]? - - def initialize: ( - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::cadence, - item_id: String, - name: String, - unit_config: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::UnitConfig, - ?billable_metric_id: String?, - ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::BillingCycleConfiguration?, - ?conversion_rate: Float?, - ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::DimensionalPriceConfiguration?, - ?external_price_id: String?, - ?fixed_price_quantity: Float?, - ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration?, - ?metadata: ::Hash[Symbol, String?]?, - ?model_type: :unit - ) -> void - - def to_hash: -> { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::cadence, - item_id: String, - model_type: :unit, - name: String, - unit_config: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::UnitConfig, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - type cadence = - :annual - | :semi_annual - | :monthly - | :quarterly - | :one_time - | :custom - - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL: :annual - SEMI_ANNUAL: :semi_annual - MONTHLY: :monthly - QUARTERLY: :quarterly - ONE_TIME: :one_time - CUSTOM: :custom - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::cadence] - end - - type unit_config = { unit_amount: String } - - class UnitConfig < Orb::Internal::Type::BaseModel - attr_accessor unit_amount: String - - def initialize: (unit_amount: String) -> void - - def to_hash: -> { unit_amount: String } - end - - type billing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::BillingCycleConfiguration::duration_unit - } - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::BillingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::BillingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::BillingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::BillingCycleConfiguration::duration_unit] - end - end - - type dimensional_price_configuration = - { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String] - - attr_accessor dimensional_price_group_id: String? - - attr_accessor external_dimensional_price_group_id: String? - - def initialize: ( - dimension_values: ::Array[String], - ?dimensional_price_group_id: String?, - ?external_dimensional_price_group_id: String? - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - end - - type invoicing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration::duration_unit - } - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Unit::InvoicingCycleConfiguration::duration_unit] - end - end - end - - type package = - { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::cadence, - item_id: String, - model_type: :package, - name: String, - package_config: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::PackageConfig, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - class Package < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::cadence - - attr_accessor item_id: String - - attr_accessor model_type: :package - - attr_accessor name: String - - attr_accessor package_config: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::PackageConfig - - attr_accessor billable_metric_id: String? - - attr_accessor billed_in_advance: bool? - - attr_accessor billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::BillingCycleConfiguration? - - attr_accessor conversion_rate: Float? - - attr_accessor currency: String? - - attr_accessor dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::DimensionalPriceConfiguration? - - attr_accessor external_price_id: String? - - attr_accessor fixed_price_quantity: Float? - - attr_accessor invoice_grouping_key: String? - - attr_accessor invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration? - - attr_accessor metadata: ::Hash[Symbol, String?]? - - def initialize: ( - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::cadence, - item_id: String, - name: String, - package_config: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::PackageConfig, - ?billable_metric_id: String?, - ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::BillingCycleConfiguration?, - ?conversion_rate: Float?, - ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::DimensionalPriceConfiguration?, - ?external_price_id: String?, - ?fixed_price_quantity: Float?, - ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration?, - ?metadata: ::Hash[Symbol, String?]?, - ?model_type: :package - ) -> void - - def to_hash: -> { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::cadence, - item_id: String, - model_type: :package, - name: String, - package_config: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::PackageConfig, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - type cadence = - :annual - | :semi_annual - | :monthly - | :quarterly - | :one_time - | :custom - - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL: :annual - SEMI_ANNUAL: :semi_annual - MONTHLY: :monthly - QUARTERLY: :quarterly - ONE_TIME: :one_time - CUSTOM: :custom - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::cadence] - end - - type package_config = - { package_amount: String, package_size: Integer } - - class PackageConfig < Orb::Internal::Type::BaseModel - attr_accessor package_amount: String - - attr_accessor package_size: Integer - - def initialize: ( - package_amount: String, - package_size: Integer - ) -> void - - def to_hash: -> { - package_amount: String, - package_size: Integer - } - end - - type billing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::BillingCycleConfiguration::duration_unit - } - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::BillingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::BillingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::BillingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::BillingCycleConfiguration::duration_unit] - end - end - - type dimensional_price_configuration = - { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String] - - attr_accessor dimensional_price_group_id: String? - - attr_accessor external_dimensional_price_group_id: String? - - def initialize: ( - dimension_values: ::Array[String], - ?dimensional_price_group_id: String?, - ?external_dimensional_price_group_id: String? - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - end - - type invoicing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration::duration_unit - } - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Package::InvoicingCycleConfiguration::duration_unit] - end - end - end - - type matrix = - { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::cadence, - item_id: String, - matrix_config: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::MatrixConfig, - model_type: :matrix, - name: String, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - class Matrix < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::cadence - - attr_accessor item_id: String - - attr_accessor matrix_config: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::MatrixConfig - - attr_accessor model_type: :matrix - - attr_accessor name: String - - attr_accessor billable_metric_id: String? - - attr_accessor billed_in_advance: bool? - - attr_accessor billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration? - - attr_accessor conversion_rate: Float? - - attr_accessor currency: String? - - attr_accessor dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::DimensionalPriceConfiguration? - - attr_accessor external_price_id: String? - - attr_accessor fixed_price_quantity: Float? - - attr_accessor invoice_grouping_key: String? - - attr_accessor invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration? - - attr_accessor metadata: ::Hash[Symbol, String?]? - - def initialize: ( - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::cadence, - item_id: String, - matrix_config: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::MatrixConfig, - name: String, - ?billable_metric_id: String?, - ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration?, - ?conversion_rate: Float?, - ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::DimensionalPriceConfiguration?, - ?external_price_id: String?, - ?fixed_price_quantity: Float?, - ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration?, - ?metadata: ::Hash[Symbol, String?]?, - ?model_type: :matrix - ) -> void - - def to_hash: -> { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::cadence, - item_id: String, - matrix_config: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::MatrixConfig, - model_type: :matrix, - name: String, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - type cadence = - :annual - | :semi_annual - | :monthly - | :quarterly - | :one_time - | :custom - - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL: :annual - SEMI_ANNUAL: :semi_annual - MONTHLY: :monthly - QUARTERLY: :quarterly - ONE_TIME: :one_time - CUSTOM: :custom - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::cadence] - end - - type matrix_config = - { - default_unit_amount: String, - dimensions: ::Array[String?], - matrix_values: ::Array[Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::MatrixConfig::MatrixValue] - } - - class MatrixConfig < Orb::Internal::Type::BaseModel - attr_accessor default_unit_amount: String - - attr_accessor dimensions: ::Array[String?] - - attr_accessor matrix_values: ::Array[Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::MatrixConfig::MatrixValue] - - def initialize: ( - default_unit_amount: String, - dimensions: ::Array[String?], - matrix_values: ::Array[Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::MatrixConfig::MatrixValue] - ) -> void - - def to_hash: -> { - default_unit_amount: String, - dimensions: ::Array[String?], - matrix_values: ::Array[Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::MatrixConfig::MatrixValue] - } - - type matrix_value = - { dimension_values: ::Array[String?], unit_amount: String } - - class MatrixValue < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String?] - - attr_accessor unit_amount: String - - def initialize: ( - dimension_values: ::Array[String?], - unit_amount: String - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String?], - unit_amount: String - } - end - end - - type billing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration::duration_unit - } - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::BillingCycleConfiguration::duration_unit] - end - end - - type dimensional_price_configuration = - { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String] - - attr_accessor dimensional_price_group_id: String? - - attr_accessor external_dimensional_price_group_id: String? - - def initialize: ( - dimension_values: ::Array[String], - ?dimensional_price_group_id: String?, - ?external_dimensional_price_group_id: String? - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - end - - type invoicing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration::duration_unit - } - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Matrix::InvoicingCycleConfiguration::duration_unit] - end - end - end - - type tiered = - { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::cadence, - item_id: String, - model_type: :tiered, - name: String, - tiered_config: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::TieredConfig, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - class Tiered < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::cadence - - attr_accessor item_id: String - - attr_accessor model_type: :tiered - - attr_accessor name: String - - attr_accessor tiered_config: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::TieredConfig - - attr_accessor billable_metric_id: String? - - attr_accessor billed_in_advance: bool? - - attr_accessor billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration? - - attr_accessor conversion_rate: Float? - - attr_accessor currency: String? - - attr_accessor dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::DimensionalPriceConfiguration? - - attr_accessor external_price_id: String? - - attr_accessor fixed_price_quantity: Float? - - attr_accessor invoice_grouping_key: String? - - attr_accessor invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration? - - attr_accessor metadata: ::Hash[Symbol, String?]? - - def initialize: ( - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::cadence, - item_id: String, - name: String, - tiered_config: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::TieredConfig, - ?billable_metric_id: String?, - ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration?, - ?conversion_rate: Float?, - ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::DimensionalPriceConfiguration?, - ?external_price_id: String?, - ?fixed_price_quantity: Float?, - ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration?, - ?metadata: ::Hash[Symbol, String?]?, - ?model_type: :tiered - ) -> void - - def to_hash: -> { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::cadence, - item_id: String, - model_type: :tiered, - name: String, - tiered_config: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::TieredConfig, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - type cadence = - :annual - | :semi_annual - | :monthly - | :quarterly - | :one_time - | :custom - - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL: :annual - SEMI_ANNUAL: :semi_annual - MONTHLY: :monthly - QUARTERLY: :quarterly - ONE_TIME: :one_time - CUSTOM: :custom - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::cadence] - end - - type tiered_config = - { - tiers: ::Array[Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::TieredConfig::Tier] - } - - class TieredConfig < Orb::Internal::Type::BaseModel - attr_accessor tiers: ::Array[Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::TieredConfig::Tier] - - def initialize: ( - tiers: ::Array[Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::TieredConfig::Tier] - ) -> void - - def to_hash: -> { - tiers: ::Array[Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::TieredConfig::Tier] - } - - type tier = - { - first_unit: Float, - unit_amount: String, - last_unit: Float? - } - - class Tier < Orb::Internal::Type::BaseModel - attr_accessor first_unit: Float - - attr_accessor unit_amount: String - - attr_accessor last_unit: Float? - - def initialize: ( - first_unit: Float, - unit_amount: String, - ?last_unit: Float? - ) -> void - - def to_hash: -> { - first_unit: Float, - unit_amount: String, - last_unit: Float? - } - end - end - - type billing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration::duration_unit - } - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::BillingCycleConfiguration::duration_unit] - end - end - - type dimensional_price_configuration = - { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String] - - attr_accessor dimensional_price_group_id: String? - - attr_accessor external_dimensional_price_group_id: String? - - def initialize: ( - dimension_values: ::Array[String], - ?dimensional_price_group_id: String?, - ?external_dimensional_price_group_id: String? - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - end - - type invoicing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration::duration_unit - } - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Tiered::InvoicingCycleConfiguration::duration_unit] - end - end - end - - type tiered_bps = - { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::cadence, - item_id: String, - model_type: :tiered_bps, - name: String, - tiered_bps_config: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::TieredBpsConfig, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - class TieredBps < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::cadence - - attr_accessor item_id: String - - attr_accessor model_type: :tiered_bps - - attr_accessor name: String - - attr_accessor tiered_bps_config: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::TieredBpsConfig - - attr_accessor billable_metric_id: String? - - attr_accessor billed_in_advance: bool? - - attr_accessor billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration? - - attr_accessor conversion_rate: Float? - - attr_accessor currency: String? - - attr_accessor dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::DimensionalPriceConfiguration? - - attr_accessor external_price_id: String? - - attr_accessor fixed_price_quantity: Float? - - attr_accessor invoice_grouping_key: String? - - attr_accessor invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration? - - attr_accessor metadata: ::Hash[Symbol, String?]? - - def initialize: ( - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::cadence, - item_id: String, - name: String, - tiered_bps_config: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::TieredBpsConfig, - ?billable_metric_id: String?, - ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration?, - ?conversion_rate: Float?, - ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::DimensionalPriceConfiguration?, - ?external_price_id: String?, - ?fixed_price_quantity: Float?, - ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration?, - ?metadata: ::Hash[Symbol, String?]?, - ?model_type: :tiered_bps - ) -> void - - def to_hash: -> { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::cadence, - item_id: String, - model_type: :tiered_bps, - name: String, - tiered_bps_config: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::TieredBpsConfig, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - type cadence = - :annual - | :semi_annual - | :monthly - | :quarterly - | :one_time - | :custom - - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL: :annual - SEMI_ANNUAL: :semi_annual - MONTHLY: :monthly - QUARTERLY: :quarterly - ONE_TIME: :one_time - CUSTOM: :custom - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::cadence] - end - - type tiered_bps_config = - { - tiers: ::Array[Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::TieredBpsConfig::Tier] - } - - class TieredBpsConfig < Orb::Internal::Type::BaseModel - attr_accessor tiers: ::Array[Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::TieredBpsConfig::Tier] - - def initialize: ( - tiers: ::Array[Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::TieredBpsConfig::Tier] - ) -> void - - def to_hash: -> { - tiers: ::Array[Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::TieredBpsConfig::Tier] - } - - type tier = - { - bps: Float, - minimum_amount: String, - maximum_amount: String?, - per_unit_maximum: String? - } - - class Tier < Orb::Internal::Type::BaseModel - attr_accessor bps: Float - - attr_accessor minimum_amount: String - - attr_accessor maximum_amount: String? - - attr_accessor per_unit_maximum: String? - - def initialize: ( - bps: Float, - minimum_amount: String, - ?maximum_amount: String?, - ?per_unit_maximum: String? - ) -> void - - def to_hash: -> { - bps: Float, - minimum_amount: String, - maximum_amount: String?, - per_unit_maximum: String? - } - end - end - - type billing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration::duration_unit - } - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::BillingCycleConfiguration::duration_unit] - end - end - - type dimensional_price_configuration = - { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String] - - attr_accessor dimensional_price_group_id: String? - - attr_accessor external_dimensional_price_group_id: String? - - def initialize: ( - dimension_values: ::Array[String], - ?dimensional_price_group_id: String?, - ?external_dimensional_price_group_id: String? - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - end - - type invoicing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration::duration_unit - } - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredBps::InvoicingCycleConfiguration::duration_unit] - end - end - end - - type bps = - { - bps_config: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::BpsConfig, - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::cadence, - item_id: String, - model_type: :bps, - name: String, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - class Bps < Orb::Internal::Type::BaseModel - attr_accessor bps_config: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::BpsConfig - - attr_accessor cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::cadence - - attr_accessor item_id: String - - attr_accessor model_type: :bps - - attr_accessor name: String - - attr_accessor billable_metric_id: String? - - attr_accessor billed_in_advance: bool? - - attr_accessor billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::BillingCycleConfiguration? - - attr_accessor conversion_rate: Float? - - attr_accessor currency: String? - - attr_accessor dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::DimensionalPriceConfiguration? - - attr_accessor external_price_id: String? - - attr_accessor fixed_price_quantity: Float? - - attr_accessor invoice_grouping_key: String? - - attr_accessor invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration? - - attr_accessor metadata: ::Hash[Symbol, String?]? - - def initialize: ( - bps_config: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::BpsConfig, - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::cadence, - item_id: String, - name: String, - ?billable_metric_id: String?, - ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::BillingCycleConfiguration?, - ?conversion_rate: Float?, - ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::DimensionalPriceConfiguration?, - ?external_price_id: String?, - ?fixed_price_quantity: Float?, - ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration?, - ?metadata: ::Hash[Symbol, String?]?, - ?model_type: :bps - ) -> void - - def to_hash: -> { - bps_config: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::BpsConfig, - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::cadence, - item_id: String, - model_type: :bps, - name: String, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - type bps_config = { bps: Float, per_unit_maximum: String? } - - class BpsConfig < Orb::Internal::Type::BaseModel - attr_accessor bps: Float - - attr_accessor per_unit_maximum: String? - - def initialize: ( - bps: Float, - ?per_unit_maximum: String? - ) -> void - - def to_hash: -> { bps: Float, per_unit_maximum: String? } - end - - type cadence = - :annual - | :semi_annual - | :monthly - | :quarterly - | :one_time - | :custom - - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL: :annual - SEMI_ANNUAL: :semi_annual - MONTHLY: :monthly - QUARTERLY: :quarterly - ONE_TIME: :one_time - CUSTOM: :custom - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::cadence] - end - - type billing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::BillingCycleConfiguration::duration_unit - } - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::BillingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::BillingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::BillingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::BillingCycleConfiguration::duration_unit] - end - end - - type dimensional_price_configuration = - { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String] - - attr_accessor dimensional_price_group_id: String? - - attr_accessor external_dimensional_price_group_id: String? - - def initialize: ( - dimension_values: ::Array[String], - ?dimensional_price_group_id: String?, - ?external_dimensional_price_group_id: String? - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - end - - type invoicing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration::duration_unit - } - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bps::InvoicingCycleConfiguration::duration_unit] - end - end - end - - type bulk_bps = - { - bulk_bps_config: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::BulkBpsConfig, - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::cadence, - item_id: String, - model_type: :bulk_bps, - name: String, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - class BulkBps < Orb::Internal::Type::BaseModel - attr_accessor bulk_bps_config: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::BulkBpsConfig - - attr_accessor cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::cadence - - attr_accessor item_id: String - - attr_accessor model_type: :bulk_bps - - attr_accessor name: String - - attr_accessor billable_metric_id: String? - - attr_accessor billed_in_advance: bool? - - attr_accessor billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration? - - attr_accessor conversion_rate: Float? - - attr_accessor currency: String? - - attr_accessor dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::DimensionalPriceConfiguration? - - attr_accessor external_price_id: String? - - attr_accessor fixed_price_quantity: Float? - - attr_accessor invoice_grouping_key: String? - - attr_accessor invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration? - - attr_accessor metadata: ::Hash[Symbol, String?]? - - def initialize: ( - bulk_bps_config: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::BulkBpsConfig, - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::cadence, - item_id: String, - name: String, - ?billable_metric_id: String?, - ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration?, - ?conversion_rate: Float?, - ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::DimensionalPriceConfiguration?, - ?external_price_id: String?, - ?fixed_price_quantity: Float?, - ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration?, - ?metadata: ::Hash[Symbol, String?]?, - ?model_type: :bulk_bps - ) -> void - - def to_hash: -> { - bulk_bps_config: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::BulkBpsConfig, - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::cadence, - item_id: String, - model_type: :bulk_bps, - name: String, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - type bulk_bps_config = - { - tiers: ::Array[Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::BulkBpsConfig::Tier] - } - - class BulkBpsConfig < Orb::Internal::Type::BaseModel - attr_accessor tiers: ::Array[Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::BulkBpsConfig::Tier] - - def initialize: ( - tiers: ::Array[Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::BulkBpsConfig::Tier] - ) -> void - - def to_hash: -> { - tiers: ::Array[Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::BulkBpsConfig::Tier] - } - - type tier = - { - bps: Float, - maximum_amount: String?, - per_unit_maximum: String? - } - - class Tier < Orb::Internal::Type::BaseModel - attr_accessor bps: Float - - attr_accessor maximum_amount: String? - - attr_accessor per_unit_maximum: String? - - def initialize: ( - bps: Float, - ?maximum_amount: String?, - ?per_unit_maximum: String? - ) -> void - - def to_hash: -> { - bps: Float, - maximum_amount: String?, - per_unit_maximum: String? - } - end - end - - type cadence = - :annual - | :semi_annual - | :monthly - | :quarterly - | :one_time - | :custom - - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL: :annual - SEMI_ANNUAL: :semi_annual - MONTHLY: :monthly - QUARTERLY: :quarterly - ONE_TIME: :one_time - CUSTOM: :custom - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::cadence] - end - - type billing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration::duration_unit - } - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::BillingCycleConfiguration::duration_unit] - end - end - - type dimensional_price_configuration = - { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String] - - attr_accessor dimensional_price_group_id: String? - - attr_accessor external_dimensional_price_group_id: String? - - def initialize: ( - dimension_values: ::Array[String], - ?dimensional_price_group_id: String?, - ?external_dimensional_price_group_id: String? - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - end - - type invoicing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration::duration_unit - } - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkBps::InvoicingCycleConfiguration::duration_unit] - end - end - end - - type bulk = - { - bulk_config: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::BulkConfig, - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::cadence, - item_id: String, - model_type: :bulk, - name: String, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - class Bulk < Orb::Internal::Type::BaseModel - attr_accessor bulk_config: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::BulkConfig - - attr_accessor cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::cadence - - attr_accessor item_id: String - - attr_accessor model_type: :bulk - - attr_accessor name: String - - attr_accessor billable_metric_id: String? - - attr_accessor billed_in_advance: bool? - - attr_accessor billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration? - - attr_accessor conversion_rate: Float? - - attr_accessor currency: String? - - attr_accessor dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::DimensionalPriceConfiguration? - - attr_accessor external_price_id: String? - - attr_accessor fixed_price_quantity: Float? - - attr_accessor invoice_grouping_key: String? - - attr_accessor invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration? - - attr_accessor metadata: ::Hash[Symbol, String?]? - - def initialize: ( - bulk_config: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::BulkConfig, - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::cadence, - item_id: String, - name: String, - ?billable_metric_id: String?, - ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration?, - ?conversion_rate: Float?, - ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::DimensionalPriceConfiguration?, - ?external_price_id: String?, - ?fixed_price_quantity: Float?, - ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration?, - ?metadata: ::Hash[Symbol, String?]?, - ?model_type: :bulk - ) -> void - - def to_hash: -> { - bulk_config: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::BulkConfig, - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::cadence, - item_id: String, - model_type: :bulk, - name: String, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - type bulk_config = - { - tiers: ::Array[Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::BulkConfig::Tier] - } - - class BulkConfig < Orb::Internal::Type::BaseModel - attr_accessor tiers: ::Array[Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::BulkConfig::Tier] - - def initialize: ( - tiers: ::Array[Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::BulkConfig::Tier] - ) -> void - - def to_hash: -> { - tiers: ::Array[Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::BulkConfig::Tier] - } - - type tier = { unit_amount: String, maximum_units: Float? } - - class Tier < Orb::Internal::Type::BaseModel - attr_accessor unit_amount: String - - attr_accessor maximum_units: Float? - - def initialize: ( - unit_amount: String, - ?maximum_units: Float? - ) -> void - - def to_hash: -> { - unit_amount: String, - maximum_units: Float? - } - end - end - - type cadence = - :annual - | :semi_annual - | :monthly - | :quarterly - | :one_time - | :custom - - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL: :annual - SEMI_ANNUAL: :semi_annual - MONTHLY: :monthly - QUARTERLY: :quarterly - ONE_TIME: :one_time - CUSTOM: :custom - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::cadence] - end - - type billing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration::duration_unit - } - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::BillingCycleConfiguration::duration_unit] - end - end - - type dimensional_price_configuration = - { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String] - - attr_accessor dimensional_price_group_id: String? - - attr_accessor external_dimensional_price_group_id: String? - - def initialize: ( - dimension_values: ::Array[String], - ?dimensional_price_group_id: String?, - ?external_dimensional_price_group_id: String? - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - end - - type invoicing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration::duration_unit - } - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::Bulk::InvoicingCycleConfiguration::duration_unit] - end - end - end - - type threshold_total_amount = - { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::cadence, - item_id: String, - model_type: :threshold_total_amount, - name: String, - threshold_total_amount_config: ::Hash[Symbol, top], - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - class ThresholdTotalAmount < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::cadence - - attr_accessor item_id: String - - attr_accessor model_type: :threshold_total_amount - - attr_accessor name: String - - attr_accessor threshold_total_amount_config: ::Hash[Symbol, top] - - attr_accessor billable_metric_id: String? - - attr_accessor billed_in_advance: bool? - - attr_accessor billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration? - - attr_accessor conversion_rate: Float? - - attr_accessor currency: String? - - attr_accessor dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration? - - attr_accessor external_price_id: String? - - attr_accessor fixed_price_quantity: Float? - - attr_accessor invoice_grouping_key: String? - - attr_accessor invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration? - - attr_accessor metadata: ::Hash[Symbol, String?]? - - def initialize: ( - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::cadence, - item_id: String, - name: String, - threshold_total_amount_config: ::Hash[Symbol, top], - ?billable_metric_id: String?, - ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration?, - ?conversion_rate: Float?, - ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration?, - ?external_price_id: String?, - ?fixed_price_quantity: Float?, - ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration?, - ?metadata: ::Hash[Symbol, String?]?, - ?model_type: :threshold_total_amount - ) -> void - - def to_hash: -> { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::cadence, - item_id: String, - model_type: :threshold_total_amount, - name: String, - threshold_total_amount_config: ::Hash[Symbol, top], - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - type cadence = - :annual - | :semi_annual - | :monthly - | :quarterly - | :one_time - | :custom - - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL: :annual - SEMI_ANNUAL: :semi_annual - MONTHLY: :monthly - QUARTERLY: :quarterly - ONE_TIME: :one_time - CUSTOM: :custom - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::cadence] - end - - type billing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::duration_unit - } - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::BillingCycleConfiguration::duration_unit] - end - end - - type dimensional_price_configuration = - { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String] - - attr_accessor dimensional_price_group_id: String? - - attr_accessor external_dimensional_price_group_id: String? - - def initialize: ( - dimension_values: ::Array[String], - ?dimensional_price_group_id: String?, - ?external_dimensional_price_group_id: String? - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - end - - type invoicing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::duration_unit - } - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::duration_unit] - end - end - end - - type tiered_package = - { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::cadence, - item_id: String, - model_type: :tiered_package, - name: String, - tiered_package_config: ::Hash[Symbol, top], - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - class TieredPackage < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::cadence - - attr_accessor item_id: String - - attr_accessor model_type: :tiered_package - - attr_accessor name: String - - attr_accessor tiered_package_config: ::Hash[Symbol, top] - - attr_accessor billable_metric_id: String? - - attr_accessor billed_in_advance: bool? - - attr_accessor billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration? - - attr_accessor conversion_rate: Float? - - attr_accessor currency: String? - - attr_accessor dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::DimensionalPriceConfiguration? - - attr_accessor external_price_id: String? - - attr_accessor fixed_price_quantity: Float? - - attr_accessor invoice_grouping_key: String? - - attr_accessor invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration? - - attr_accessor metadata: ::Hash[Symbol, String?]? - - def initialize: ( - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::cadence, - item_id: String, - name: String, - tiered_package_config: ::Hash[Symbol, top], - ?billable_metric_id: String?, - ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration?, - ?conversion_rate: Float?, - ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::DimensionalPriceConfiguration?, - ?external_price_id: String?, - ?fixed_price_quantity: Float?, - ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration?, - ?metadata: ::Hash[Symbol, String?]?, - ?model_type: :tiered_package - ) -> void - - def to_hash: -> { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::cadence, - item_id: String, - model_type: :tiered_package, - name: String, - tiered_package_config: ::Hash[Symbol, top], - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - type cadence = - :annual - | :semi_annual - | :monthly - | :quarterly - | :one_time - | :custom - - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL: :annual - SEMI_ANNUAL: :semi_annual - MONTHLY: :monthly - QUARTERLY: :quarterly - ONE_TIME: :one_time - CUSTOM: :custom - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::cadence] - end - - type billing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration::duration_unit - } - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::BillingCycleConfiguration::duration_unit] - end - end - - type dimensional_price_configuration = - { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String] - - attr_accessor dimensional_price_group_id: String? - - attr_accessor external_dimensional_price_group_id: String? - - def initialize: ( - dimension_values: ::Array[String], - ?dimensional_price_group_id: String?, - ?external_dimensional_price_group_id: String? - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - end - - type invoicing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration::duration_unit - } - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackage::InvoicingCycleConfiguration::duration_unit] - end - end - end - - type tiered_with_minimum = - { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::cadence, - item_id: String, - model_type: :tiered_with_minimum, - name: String, - tiered_with_minimum_config: ::Hash[Symbol, top], - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - class TieredWithMinimum < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::cadence - - attr_accessor item_id: String - - attr_accessor model_type: :tiered_with_minimum - - attr_accessor name: String - - attr_accessor tiered_with_minimum_config: ::Hash[Symbol, top] - - attr_accessor billable_metric_id: String? - - attr_accessor billed_in_advance: bool? - - attr_accessor billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration? - - attr_accessor conversion_rate: Float? - - attr_accessor currency: String? - - attr_accessor dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::DimensionalPriceConfiguration? - - attr_accessor external_price_id: String? - - attr_accessor fixed_price_quantity: Float? - - attr_accessor invoice_grouping_key: String? - - attr_accessor invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration? - - attr_accessor metadata: ::Hash[Symbol, String?]? - - def initialize: ( - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::cadence, - item_id: String, - name: String, - tiered_with_minimum_config: ::Hash[Symbol, top], - ?billable_metric_id: String?, - ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration?, - ?conversion_rate: Float?, - ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::DimensionalPriceConfiguration?, - ?external_price_id: String?, - ?fixed_price_quantity: Float?, - ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration?, - ?metadata: ::Hash[Symbol, String?]?, - ?model_type: :tiered_with_minimum - ) -> void - - def to_hash: -> { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::cadence, - item_id: String, - model_type: :tiered_with_minimum, - name: String, - tiered_with_minimum_config: ::Hash[Symbol, top], - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - type cadence = - :annual - | :semi_annual - | :monthly - | :quarterly - | :one_time - | :custom - - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL: :annual - SEMI_ANNUAL: :semi_annual - MONTHLY: :monthly - QUARTERLY: :quarterly - ONE_TIME: :one_time - CUSTOM: :custom - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::cadence] - end - - type billing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration::duration_unit - } - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::BillingCycleConfiguration::duration_unit] - end - end - - type dimensional_price_configuration = - { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String] - - attr_accessor dimensional_price_group_id: String? - - attr_accessor external_dimensional_price_group_id: String? - - def initialize: ( - dimension_values: ::Array[String], - ?dimensional_price_group_id: String?, - ?external_dimensional_price_group_id: String? - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - end - - type invoicing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::duration_unit - } - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithMinimum::InvoicingCycleConfiguration::duration_unit] - end - end - end - - type unit_with_percent = - { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::cadence, - item_id: String, - model_type: :unit_with_percent, - name: String, - unit_with_percent_config: ::Hash[Symbol, top], - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - class UnitWithPercent < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::cadence - - attr_accessor item_id: String - - attr_accessor model_type: :unit_with_percent - - attr_accessor name: String - - attr_accessor unit_with_percent_config: ::Hash[Symbol, top] - - attr_accessor billable_metric_id: String? - - attr_accessor billed_in_advance: bool? - - attr_accessor billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration? - - attr_accessor conversion_rate: Float? - - attr_accessor currency: String? - - attr_accessor dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::DimensionalPriceConfiguration? - - attr_accessor external_price_id: String? - - attr_accessor fixed_price_quantity: Float? - - attr_accessor invoice_grouping_key: String? - - attr_accessor invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration? - - attr_accessor metadata: ::Hash[Symbol, String?]? - - def initialize: ( - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::cadence, - item_id: String, - name: String, - unit_with_percent_config: ::Hash[Symbol, top], - ?billable_metric_id: String?, - ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration?, - ?conversion_rate: Float?, - ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::DimensionalPriceConfiguration?, - ?external_price_id: String?, - ?fixed_price_quantity: Float?, - ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration?, - ?metadata: ::Hash[Symbol, String?]?, - ?model_type: :unit_with_percent - ) -> void - - def to_hash: -> { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::cadence, - item_id: String, - model_type: :unit_with_percent, - name: String, - unit_with_percent_config: ::Hash[Symbol, top], - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - type cadence = - :annual - | :semi_annual - | :monthly - | :quarterly - | :one_time - | :custom - - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL: :annual - SEMI_ANNUAL: :semi_annual - MONTHLY: :monthly - QUARTERLY: :quarterly - ONE_TIME: :one_time - CUSTOM: :custom - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::cadence] - end - - type billing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration::duration_unit - } - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::BillingCycleConfiguration::duration_unit] - end - end - - type dimensional_price_configuration = - { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String] - - attr_accessor dimensional_price_group_id: String? - - attr_accessor external_dimensional_price_group_id: String? - - def initialize: ( - dimension_values: ::Array[String], - ?dimensional_price_group_id: String?, - ?external_dimensional_price_group_id: String? - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - end - - type invoicing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration::duration_unit - } - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithPercent::InvoicingCycleConfiguration::duration_unit] - end - end - end - - type package_with_allocation = - { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::cadence, - item_id: String, - model_type: :package_with_allocation, - name: String, - package_with_allocation_config: ::Hash[Symbol, top], - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - class PackageWithAllocation < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::cadence - - attr_accessor item_id: String - - attr_accessor model_type: :package_with_allocation - - attr_accessor name: String - - attr_accessor package_with_allocation_config: ::Hash[Symbol, top] - - attr_accessor billable_metric_id: String? - - attr_accessor billed_in_advance: bool? - - attr_accessor billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration? - - attr_accessor conversion_rate: Float? - - attr_accessor currency: String? - - attr_accessor dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::DimensionalPriceConfiguration? - - attr_accessor external_price_id: String? - - attr_accessor fixed_price_quantity: Float? - - attr_accessor invoice_grouping_key: String? - - attr_accessor invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration? - - attr_accessor metadata: ::Hash[Symbol, String?]? - - def initialize: ( - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::cadence, - item_id: String, - name: String, - package_with_allocation_config: ::Hash[Symbol, top], - ?billable_metric_id: String?, - ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration?, - ?conversion_rate: Float?, - ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::DimensionalPriceConfiguration?, - ?external_price_id: String?, - ?fixed_price_quantity: Float?, - ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration?, - ?metadata: ::Hash[Symbol, String?]?, - ?model_type: :package_with_allocation - ) -> void - - def to_hash: -> { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::cadence, - item_id: String, - model_type: :package_with_allocation, - name: String, - package_with_allocation_config: ::Hash[Symbol, top], - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - type cadence = - :annual - | :semi_annual - | :monthly - | :quarterly - | :one_time - | :custom - - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL: :annual - SEMI_ANNUAL: :semi_annual - MONTHLY: :monthly - QUARTERLY: :quarterly - ONE_TIME: :one_time - CUSTOM: :custom - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::cadence] - end - - type billing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration::duration_unit - } - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::BillingCycleConfiguration::duration_unit] - end - end - - type dimensional_price_configuration = - { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String] - - attr_accessor dimensional_price_group_id: String? - - attr_accessor external_dimensional_price_group_id: String? - - def initialize: ( - dimension_values: ::Array[String], - ?dimensional_price_group_id: String?, - ?external_dimensional_price_group_id: String? - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - end - - type invoicing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::duration_unit - } - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::PackageWithAllocation::InvoicingCycleConfiguration::duration_unit] - end - end - end - - type tiered_with_proration = - { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::cadence, - item_id: String, - model_type: :tiered_with_proration, - name: String, - tiered_with_proration_config: ::Hash[Symbol, top], - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - class TieredWithProration < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::cadence - - attr_accessor item_id: String - - attr_accessor model_type: :tiered_with_proration - - attr_accessor name: String - - attr_accessor tiered_with_proration_config: ::Hash[Symbol, top] - - attr_accessor billable_metric_id: String? - - attr_accessor billed_in_advance: bool? - - attr_accessor billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration? - - attr_accessor conversion_rate: Float? - - attr_accessor currency: String? - - attr_accessor dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::DimensionalPriceConfiguration? - - attr_accessor external_price_id: String? - - attr_accessor fixed_price_quantity: Float? - - attr_accessor invoice_grouping_key: String? - - attr_accessor invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration? - - attr_accessor metadata: ::Hash[Symbol, String?]? - - def initialize: ( - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::cadence, - item_id: String, - name: String, - tiered_with_proration_config: ::Hash[Symbol, top], - ?billable_metric_id: String?, - ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration?, - ?conversion_rate: Float?, - ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::DimensionalPriceConfiguration?, - ?external_price_id: String?, - ?fixed_price_quantity: Float?, - ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration?, - ?metadata: ::Hash[Symbol, String?]?, - ?model_type: :tiered_with_proration - ) -> void - - def to_hash: -> { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::cadence, - item_id: String, - model_type: :tiered_with_proration, - name: String, - tiered_with_proration_config: ::Hash[Symbol, top], - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - type cadence = - :annual - | :semi_annual - | :monthly - | :quarterly - | :one_time - | :custom - - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL: :annual - SEMI_ANNUAL: :semi_annual - MONTHLY: :monthly - QUARTERLY: :quarterly - ONE_TIME: :one_time - CUSTOM: :custom - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::cadence] - end - - type billing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration::duration_unit - } - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::BillingCycleConfiguration::duration_unit] - end - end - - type dimensional_price_configuration = - { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String] - - attr_accessor dimensional_price_group_id: String? - - attr_accessor external_dimensional_price_group_id: String? - - def initialize: ( - dimension_values: ::Array[String], - ?dimensional_price_group_id: String?, - ?external_dimensional_price_group_id: String? - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - end - - type invoicing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration::duration_unit - } - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredWithProration::InvoicingCycleConfiguration::duration_unit] - end - end - end - - type unit_with_proration = - { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::cadence, - item_id: String, - model_type: :unit_with_proration, - name: String, - unit_with_proration_config: ::Hash[Symbol, top], - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - class UnitWithProration < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::cadence - - attr_accessor item_id: String - - attr_accessor model_type: :unit_with_proration - - attr_accessor name: String - - attr_accessor unit_with_proration_config: ::Hash[Symbol, top] - - attr_accessor billable_metric_id: String? - - attr_accessor billed_in_advance: bool? - - attr_accessor billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration? - - attr_accessor conversion_rate: Float? - - attr_accessor currency: String? - - attr_accessor dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::DimensionalPriceConfiguration? - - attr_accessor external_price_id: String? - - attr_accessor fixed_price_quantity: Float? - - attr_accessor invoice_grouping_key: String? - - attr_accessor invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration? - - attr_accessor metadata: ::Hash[Symbol, String?]? - - def initialize: ( - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::cadence, - item_id: String, - name: String, - unit_with_proration_config: ::Hash[Symbol, top], - ?billable_metric_id: String?, - ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration?, - ?conversion_rate: Float?, - ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::DimensionalPriceConfiguration?, - ?external_price_id: String?, - ?fixed_price_quantity: Float?, - ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration?, - ?metadata: ::Hash[Symbol, String?]?, - ?model_type: :unit_with_proration - ) -> void - - def to_hash: -> { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::cadence, - item_id: String, - model_type: :unit_with_proration, - name: String, - unit_with_proration_config: ::Hash[Symbol, top], - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - type cadence = - :annual - | :semi_annual - | :monthly - | :quarterly - | :one_time - | :custom - - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL: :annual - SEMI_ANNUAL: :semi_annual - MONTHLY: :monthly - QUARTERLY: :quarterly - ONE_TIME: :one_time - CUSTOM: :custom - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::cadence] - end - - type billing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration::duration_unit - } - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::BillingCycleConfiguration::duration_unit] - end - end - - type dimensional_price_configuration = - { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String] - - attr_accessor dimensional_price_group_id: String? - - attr_accessor external_dimensional_price_group_id: String? - - def initialize: ( - dimension_values: ::Array[String], - ?dimensional_price_group_id: String?, - ?external_dimensional_price_group_id: String? - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - end - - type invoicing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration::duration_unit - } - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::UnitWithProration::InvoicingCycleConfiguration::duration_unit] - end - end - end - - type grouped_allocation = - { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::cadence, - grouped_allocation_config: ::Hash[Symbol, top], - item_id: String, - model_type: :grouped_allocation, - name: String, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - class GroupedAllocation < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::cadence - - attr_accessor grouped_allocation_config: ::Hash[Symbol, top] - - attr_accessor item_id: String - - attr_accessor model_type: :grouped_allocation - - attr_accessor name: String - - attr_accessor billable_metric_id: String? - - attr_accessor billed_in_advance: bool? - - attr_accessor billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration? - - attr_accessor conversion_rate: Float? - - attr_accessor currency: String? - - attr_accessor dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::DimensionalPriceConfiguration? - - attr_accessor external_price_id: String? - - attr_accessor fixed_price_quantity: Float? - - attr_accessor invoice_grouping_key: String? - - attr_accessor invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration? - - attr_accessor metadata: ::Hash[Symbol, String?]? - - def initialize: ( - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::cadence, - grouped_allocation_config: ::Hash[Symbol, top], - item_id: String, - name: String, - ?billable_metric_id: String?, - ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration?, - ?conversion_rate: Float?, - ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::DimensionalPriceConfiguration?, - ?external_price_id: String?, - ?fixed_price_quantity: Float?, - ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration?, - ?metadata: ::Hash[Symbol, String?]?, - ?model_type: :grouped_allocation - ) -> void - - def to_hash: -> { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::cadence, - grouped_allocation_config: ::Hash[Symbol, top], - item_id: String, - model_type: :grouped_allocation, - name: String, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - type cadence = - :annual - | :semi_annual - | :monthly - | :quarterly - | :one_time - | :custom - - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL: :annual - SEMI_ANNUAL: :semi_annual - MONTHLY: :monthly - QUARTERLY: :quarterly - ONE_TIME: :one_time - CUSTOM: :custom - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::cadence] - end - - type billing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration::duration_unit - } - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::BillingCycleConfiguration::duration_unit] - end - end - - type dimensional_price_configuration = - { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String] - - attr_accessor dimensional_price_group_id: String? - - attr_accessor external_dimensional_price_group_id: String? - - def initialize: ( - dimension_values: ::Array[String], - ?dimensional_price_group_id: String?, - ?external_dimensional_price_group_id: String? - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - end - - type invoicing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration::duration_unit - } - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedAllocation::InvoicingCycleConfiguration::duration_unit] - end - end - end - - type grouped_with_prorated_minimum = - { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::cadence, - grouped_with_prorated_minimum_config: ::Hash[Symbol, top], - item_id: String, - model_type: :grouped_with_prorated_minimum, - name: String, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - class GroupedWithProratedMinimum < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::cadence - - attr_accessor grouped_with_prorated_minimum_config: ::Hash[Symbol, top] - - attr_accessor item_id: String - - attr_accessor model_type: :grouped_with_prorated_minimum - - attr_accessor name: String - - attr_accessor billable_metric_id: String? - - attr_accessor billed_in_advance: bool? - - attr_accessor billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration? - - attr_accessor conversion_rate: Float? - - attr_accessor currency: String? - - attr_accessor dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration? - - attr_accessor external_price_id: String? - - attr_accessor fixed_price_quantity: Float? - - attr_accessor invoice_grouping_key: String? - - attr_accessor invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration? - - attr_accessor metadata: ::Hash[Symbol, String?]? - - def initialize: ( - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::cadence, - grouped_with_prorated_minimum_config: ::Hash[Symbol, top], - item_id: String, - name: String, - ?billable_metric_id: String?, - ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration?, - ?conversion_rate: Float?, - ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration?, - ?external_price_id: String?, - ?fixed_price_quantity: Float?, - ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration?, - ?metadata: ::Hash[Symbol, String?]?, - ?model_type: :grouped_with_prorated_minimum - ) -> void - - def to_hash: -> { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::cadence, - grouped_with_prorated_minimum_config: ::Hash[Symbol, top], - item_id: String, - model_type: :grouped_with_prorated_minimum, - name: String, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - type cadence = - :annual - | :semi_annual - | :monthly - | :quarterly - | :one_time - | :custom - - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL: :annual - SEMI_ANNUAL: :semi_annual - MONTHLY: :monthly - QUARTERLY: :quarterly - ONE_TIME: :one_time - CUSTOM: :custom - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::cadence] - end - - type billing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::duration_unit - } - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::duration_unit] - end - end - - type dimensional_price_configuration = - { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String] - - attr_accessor dimensional_price_group_id: String? - - attr_accessor external_dimensional_price_group_id: String? - - def initialize: ( - dimension_values: ::Array[String], - ?dimensional_price_group_id: String?, - ?external_dimensional_price_group_id: String? - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - end - - type invoicing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::duration_unit - } - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::duration_unit] - end - end - end - - type grouped_with_metered_minimum = - { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::cadence, - grouped_with_metered_minimum_config: ::Hash[Symbol, top], - item_id: String, - model_type: :grouped_with_metered_minimum, - name: String, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - class GroupedWithMeteredMinimum < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::cadence - - attr_accessor grouped_with_metered_minimum_config: ::Hash[Symbol, top] - - attr_accessor item_id: String - - attr_accessor model_type: :grouped_with_metered_minimum - - attr_accessor name: String - - attr_accessor billable_metric_id: String? - - attr_accessor billed_in_advance: bool? - - attr_accessor billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration? - - attr_accessor conversion_rate: Float? - - attr_accessor currency: String? - - attr_accessor dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration? - - attr_accessor external_price_id: String? - - attr_accessor fixed_price_quantity: Float? - - attr_accessor invoice_grouping_key: String? - - attr_accessor invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration? - - attr_accessor metadata: ::Hash[Symbol, String?]? - - def initialize: ( - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::cadence, - grouped_with_metered_minimum_config: ::Hash[Symbol, top], - item_id: String, - name: String, - ?billable_metric_id: String?, - ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration?, - ?conversion_rate: Float?, - ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration?, - ?external_price_id: String?, - ?fixed_price_quantity: Float?, - ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration?, - ?metadata: ::Hash[Symbol, String?]?, - ?model_type: :grouped_with_metered_minimum - ) -> void - - def to_hash: -> { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::cadence, - grouped_with_metered_minimum_config: ::Hash[Symbol, top], - item_id: String, - model_type: :grouped_with_metered_minimum, - name: String, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - type cadence = - :annual - | :semi_annual - | :monthly - | :quarterly - | :one_time - | :custom - - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL: :annual - SEMI_ANNUAL: :semi_annual - MONTHLY: :monthly - QUARTERLY: :quarterly - ONE_TIME: :one_time - CUSTOM: :custom - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::cadence] - end - - type billing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::duration_unit - } - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::duration_unit] - end - end - - type dimensional_price_configuration = - { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String] - - attr_accessor dimensional_price_group_id: String? - - attr_accessor external_dimensional_price_group_id: String? - - def initialize: ( - dimension_values: ::Array[String], - ?dimensional_price_group_id: String?, - ?external_dimensional_price_group_id: String? - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - end - - type invoicing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::duration_unit - } - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::duration_unit] - end - end - end - - type matrix_with_display_name = - { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::cadence, - item_id: String, - matrix_with_display_name_config: ::Hash[Symbol, top], - model_type: :matrix_with_display_name, - name: String, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - class MatrixWithDisplayName < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::cadence - - attr_accessor item_id: String - - attr_accessor matrix_with_display_name_config: ::Hash[Symbol, top] - - attr_accessor model_type: :matrix_with_display_name - - attr_accessor name: String - - attr_accessor billable_metric_id: String? - - attr_accessor billed_in_advance: bool? - - attr_accessor billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration? - - attr_accessor conversion_rate: Float? - - attr_accessor currency: String? - - attr_accessor dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration? - - attr_accessor external_price_id: String? - - attr_accessor fixed_price_quantity: Float? - - attr_accessor invoice_grouping_key: String? - - attr_accessor invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration? - - attr_accessor metadata: ::Hash[Symbol, String?]? - - def initialize: ( - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::cadence, - item_id: String, - matrix_with_display_name_config: ::Hash[Symbol, top], - name: String, - ?billable_metric_id: String?, - ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration?, - ?conversion_rate: Float?, - ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration?, - ?external_price_id: String?, - ?fixed_price_quantity: Float?, - ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration?, - ?metadata: ::Hash[Symbol, String?]?, - ?model_type: :matrix_with_display_name - ) -> void - - def to_hash: -> { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::cadence, - item_id: String, - matrix_with_display_name_config: ::Hash[Symbol, top], - model_type: :matrix_with_display_name, - name: String, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - type cadence = - :annual - | :semi_annual - | :monthly - | :quarterly - | :one_time - | :custom - - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL: :annual - SEMI_ANNUAL: :semi_annual - MONTHLY: :monthly - QUARTERLY: :quarterly - ONE_TIME: :one_time - CUSTOM: :custom - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::cadence] - end - - type billing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::duration_unit - } - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::BillingCycleConfiguration::duration_unit] - end - end - - type dimensional_price_configuration = - { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String] - - attr_accessor dimensional_price_group_id: String? - - attr_accessor external_dimensional_price_group_id: String? - - def initialize: ( - dimension_values: ::Array[String], - ?dimensional_price_group_id: String?, - ?external_dimensional_price_group_id: String? - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - end - - type invoicing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::duration_unit - } - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::duration_unit] - end - end - end - - type bulk_with_proration = - { - bulk_with_proration_config: ::Hash[Symbol, top], - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::cadence, - item_id: String, - model_type: :bulk_with_proration, - name: String, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - class BulkWithProration < Orb::Internal::Type::BaseModel - attr_accessor bulk_with_proration_config: ::Hash[Symbol, top] - - attr_accessor cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::cadence - - attr_accessor item_id: String - - attr_accessor model_type: :bulk_with_proration - - attr_accessor name: String - - attr_accessor billable_metric_id: String? - - attr_accessor billed_in_advance: bool? - - attr_accessor billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration? - - attr_accessor conversion_rate: Float? - - attr_accessor currency: String? - - attr_accessor dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::DimensionalPriceConfiguration? - - attr_accessor external_price_id: String? - - attr_accessor fixed_price_quantity: Float? - - attr_accessor invoice_grouping_key: String? - - attr_accessor invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration? - - attr_accessor metadata: ::Hash[Symbol, String?]? - - def initialize: ( - bulk_with_proration_config: ::Hash[Symbol, top], - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::cadence, - item_id: String, - name: String, - ?billable_metric_id: String?, - ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration?, - ?conversion_rate: Float?, - ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::DimensionalPriceConfiguration?, - ?external_price_id: String?, - ?fixed_price_quantity: Float?, - ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration?, - ?metadata: ::Hash[Symbol, String?]?, - ?model_type: :bulk_with_proration - ) -> void - - def to_hash: -> { - bulk_with_proration_config: ::Hash[Symbol, top], - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::cadence, - item_id: String, - model_type: :bulk_with_proration, - name: String, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - type cadence = - :annual - | :semi_annual - | :monthly - | :quarterly - | :one_time - | :custom - - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL: :annual - SEMI_ANNUAL: :semi_annual - MONTHLY: :monthly - QUARTERLY: :quarterly - ONE_TIME: :one_time - CUSTOM: :custom - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::cadence] - end - - type billing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration::duration_unit - } - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::BillingCycleConfiguration::duration_unit] - end - end - - type dimensional_price_configuration = - { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String] - - attr_accessor dimensional_price_group_id: String? - - attr_accessor external_dimensional_price_group_id: String? - - def initialize: ( - dimension_values: ::Array[String], - ?dimensional_price_group_id: String?, - ?external_dimensional_price_group_id: String? - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - end - - type invoicing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration::duration_unit - } - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::BulkWithProration::InvoicingCycleConfiguration::duration_unit] - end - end - end - - type grouped_tiered_package = - { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::cadence, - grouped_tiered_package_config: ::Hash[Symbol, top], - item_id: String, - model_type: :grouped_tiered_package, - name: String, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - class GroupedTieredPackage < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::cadence - - attr_accessor grouped_tiered_package_config: ::Hash[Symbol, top] - - attr_accessor item_id: String - - attr_accessor model_type: :grouped_tiered_package - - attr_accessor name: String - - attr_accessor billable_metric_id: String? - - attr_accessor billed_in_advance: bool? - - attr_accessor billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration? - - attr_accessor conversion_rate: Float? - - attr_accessor currency: String? - - attr_accessor dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration? - - attr_accessor external_price_id: String? - - attr_accessor fixed_price_quantity: Float? - - attr_accessor invoice_grouping_key: String? - - attr_accessor invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration? - - attr_accessor metadata: ::Hash[Symbol, String?]? - - def initialize: ( - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::cadence, - grouped_tiered_package_config: ::Hash[Symbol, top], - item_id: String, - name: String, - ?billable_metric_id: String?, - ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration?, - ?conversion_rate: Float?, - ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration?, - ?external_price_id: String?, - ?fixed_price_quantity: Float?, - ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration?, - ?metadata: ::Hash[Symbol, String?]?, - ?model_type: :grouped_tiered_package - ) -> void - - def to_hash: -> { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::cadence, - grouped_tiered_package_config: ::Hash[Symbol, top], - item_id: String, - model_type: :grouped_tiered_package, - name: String, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - type cadence = - :annual - | :semi_annual - | :monthly - | :quarterly - | :one_time - | :custom - - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL: :annual - SEMI_ANNUAL: :semi_annual - MONTHLY: :monthly - QUARTERLY: :quarterly - ONE_TIME: :one_time - CUSTOM: :custom - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::cadence] - end - - type billing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration::duration_unit - } - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::BillingCycleConfiguration::duration_unit] - end - end - - type dimensional_price_configuration = - { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String] - - attr_accessor dimensional_price_group_id: String? - - attr_accessor external_dimensional_price_group_id: String? - - def initialize: ( - dimension_values: ::Array[String], - ?dimensional_price_group_id: String?, - ?external_dimensional_price_group_id: String? - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - end - - type invoicing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::duration_unit - } - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTieredPackage::InvoicingCycleConfiguration::duration_unit] - end - end - end - - type max_group_tiered_package = - { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::cadence, - item_id: String, - max_group_tiered_package_config: ::Hash[Symbol, top], - model_type: :max_group_tiered_package, - name: String, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - class MaxGroupTieredPackage < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::cadence - - attr_accessor item_id: String - - attr_accessor max_group_tiered_package_config: ::Hash[Symbol, top] - - attr_accessor model_type: :max_group_tiered_package - - attr_accessor name: String - - attr_accessor billable_metric_id: String? - - attr_accessor billed_in_advance: bool? - - attr_accessor billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration? - - attr_accessor conversion_rate: Float? - - attr_accessor currency: String? - - attr_accessor dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration? - - attr_accessor external_price_id: String? - - attr_accessor fixed_price_quantity: Float? - - attr_accessor invoice_grouping_key: String? - - attr_accessor invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration? - - attr_accessor metadata: ::Hash[Symbol, String?]? - - def initialize: ( - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::cadence, - item_id: String, - max_group_tiered_package_config: ::Hash[Symbol, top], - name: String, - ?billable_metric_id: String?, - ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration?, - ?conversion_rate: Float?, - ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration?, - ?external_price_id: String?, - ?fixed_price_quantity: Float?, - ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration?, - ?metadata: ::Hash[Symbol, String?]?, - ?model_type: :max_group_tiered_package - ) -> void - - def to_hash: -> { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::cadence, - item_id: String, - max_group_tiered_package_config: ::Hash[Symbol, top], - model_type: :max_group_tiered_package, - name: String, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - type cadence = - :annual - | :semi_annual - | :monthly - | :quarterly - | :one_time - | :custom - - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL: :annual - SEMI_ANNUAL: :semi_annual - MONTHLY: :monthly - QUARTERLY: :quarterly - ONE_TIME: :one_time - CUSTOM: :custom - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::cadence] - end - - type billing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::duration_unit - } - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::BillingCycleConfiguration::duration_unit] - end - end - - type dimensional_price_configuration = - { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String] - - attr_accessor dimensional_price_group_id: String? - - attr_accessor external_dimensional_price_group_id: String? - - def initialize: ( - dimension_values: ::Array[String], - ?dimensional_price_group_id: String?, - ?external_dimensional_price_group_id: String? - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - end - - type invoicing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::duration_unit - } - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::duration_unit] - end - end - end - - type scalable_matrix_with_unit_pricing = - { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::cadence, - item_id: String, - model_type: :scalable_matrix_with_unit_pricing, - name: String, - scalable_matrix_with_unit_pricing_config: ::Hash[Symbol, top], - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - class ScalableMatrixWithUnitPricing < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::cadence - - attr_accessor item_id: String - - attr_accessor model_type: :scalable_matrix_with_unit_pricing - - attr_accessor name: String - - attr_accessor scalable_matrix_with_unit_pricing_config: ::Hash[Symbol, top] - - attr_accessor billable_metric_id: String? - - attr_accessor billed_in_advance: bool? - - attr_accessor billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration? - - attr_accessor conversion_rate: Float? - - attr_accessor currency: String? - - attr_accessor dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration? - - attr_accessor external_price_id: String? - - attr_accessor fixed_price_quantity: Float? - - attr_accessor invoice_grouping_key: String? - - attr_accessor invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration? - - attr_accessor metadata: ::Hash[Symbol, String?]? - - def initialize: ( - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::cadence, - item_id: String, - name: String, - scalable_matrix_with_unit_pricing_config: ::Hash[Symbol, top], - ?billable_metric_id: String?, - ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration?, - ?conversion_rate: Float?, - ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration?, - ?external_price_id: String?, - ?fixed_price_quantity: Float?, - ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration?, - ?metadata: ::Hash[Symbol, String?]?, - ?model_type: :scalable_matrix_with_unit_pricing - ) -> void - - def to_hash: -> { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::cadence, - item_id: String, - model_type: :scalable_matrix_with_unit_pricing, - name: String, - scalable_matrix_with_unit_pricing_config: ::Hash[Symbol, top], - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - type cadence = - :annual - | :semi_annual - | :monthly - | :quarterly - | :one_time - | :custom - - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL: :annual - SEMI_ANNUAL: :semi_annual - MONTHLY: :monthly - QUARTERLY: :quarterly - ONE_TIME: :one_time - CUSTOM: :custom - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::cadence] - end - - type billing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::duration_unit - } - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::duration_unit] - end - end - - type dimensional_price_configuration = - { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String] - - attr_accessor dimensional_price_group_id: String? - - attr_accessor external_dimensional_price_group_id: String? - - def initialize: ( - dimension_values: ::Array[String], - ?dimensional_price_group_id: String?, - ?external_dimensional_price_group_id: String? - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - end - - type invoicing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::duration_unit - } - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::duration_unit] - end - end - end - - type scalable_matrix_with_tiered_pricing = - { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::cadence, - item_id: String, - model_type: :scalable_matrix_with_tiered_pricing, - name: String, - scalable_matrix_with_tiered_pricing_config: ::Hash[Symbol, top], - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - class ScalableMatrixWithTieredPricing < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::cadence - - attr_accessor item_id: String - - attr_accessor model_type: :scalable_matrix_with_tiered_pricing - - attr_accessor name: String - - attr_accessor scalable_matrix_with_tiered_pricing_config: ::Hash[Symbol, top] - - attr_accessor billable_metric_id: String? - - attr_accessor billed_in_advance: bool? - - attr_accessor billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration? - - attr_accessor conversion_rate: Float? - - attr_accessor currency: String? - - attr_accessor dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration? - - attr_accessor external_price_id: String? - - attr_accessor fixed_price_quantity: Float? - - attr_accessor invoice_grouping_key: String? - - attr_accessor invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration? - - attr_accessor metadata: ::Hash[Symbol, String?]? - - def initialize: ( - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::cadence, - item_id: String, - name: String, - scalable_matrix_with_tiered_pricing_config: ::Hash[Symbol, top], - ?billable_metric_id: String?, - ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration?, - ?conversion_rate: Float?, - ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration?, - ?external_price_id: String?, - ?fixed_price_quantity: Float?, - ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration?, - ?metadata: ::Hash[Symbol, String?]?, - ?model_type: :scalable_matrix_with_tiered_pricing - ) -> void - - def to_hash: -> { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::cadence, - item_id: String, - model_type: :scalable_matrix_with_tiered_pricing, - name: String, - scalable_matrix_with_tiered_pricing_config: ::Hash[Symbol, top], - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - type cadence = - :annual - | :semi_annual - | :monthly - | :quarterly - | :one_time - | :custom - - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL: :annual - SEMI_ANNUAL: :semi_annual - MONTHLY: :monthly - QUARTERLY: :quarterly - ONE_TIME: :one_time - CUSTOM: :custom - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::cadence] - end - - type billing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::duration_unit - } - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::duration_unit] - end - end - - type dimensional_price_configuration = - { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String] - - attr_accessor dimensional_price_group_id: String? - - attr_accessor external_dimensional_price_group_id: String? - - def initialize: ( - dimension_values: ::Array[String], - ?dimensional_price_group_id: String?, - ?external_dimensional_price_group_id: String? - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - end - - type invoicing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::duration_unit - } - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::duration_unit] - end - end - end - - type cumulative_grouped_bulk = - { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - class CumulativeGroupedBulk < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration? - - attr_accessor conversion_rate: Float? - - attr_accessor currency: String? - - attr_accessor dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration? - - attr_accessor external_price_id: String? - - attr_accessor fixed_price_quantity: Float? - - attr_accessor invoice_grouping_key: String? - - attr_accessor invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration? - - attr_accessor metadata: ::Hash[Symbol, String?]? - - def initialize: ( - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration?, - ?conversion_rate: Float?, - ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration?, - ?external_price_id: String?, - ?fixed_price_quantity: Float?, - ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration?, - ?metadata: ::Hash[Symbol, String?]?, - ?model_type: :cumulative_grouped_bulk - ) -> void - - def to_hash: -> { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::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::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - type cadence = - :annual - | :semi_annual - | :monthly - | :quarterly - | :one_time - | :custom - - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL: :annual - SEMI_ANNUAL: :semi_annual - MONTHLY: :monthly - QUARTERLY: :quarterly - ONE_TIME: :one_time - CUSTOM: :custom - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::cadence] - end - - type billing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::duration_unit - } - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::BillingCycleConfiguration::duration_unit] - end - end - - type dimensional_price_configuration = - { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String] - - attr_accessor dimensional_price_group_id: String? - - attr_accessor external_dimensional_price_group_id: String? - - def initialize: ( - dimension_values: ::Array[String], - ?dimensional_price_group_id: String?, - ?external_dimensional_price_group_id: String? - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - end - - type invoicing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::duration_unit - } - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::duration_unit] - end - end - end - - type tiered_package_with_minimum = - { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::cadence, - item_id: String, - model_type: :tiered_package_with_minimum, - name: String, - tiered_package_with_minimum_config: ::Hash[Symbol, top], - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - class TieredPackageWithMinimum < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::cadence - - attr_accessor item_id: String - - attr_accessor model_type: :tiered_package_with_minimum - - attr_accessor name: String - - attr_accessor tiered_package_with_minimum_config: ::Hash[Symbol, top] - - attr_accessor billable_metric_id: String? - - attr_accessor billed_in_advance: bool? - - attr_accessor billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration? - - attr_accessor conversion_rate: Float? - - attr_accessor currency: String? - - attr_accessor dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration? - - attr_accessor external_price_id: String? - - attr_accessor fixed_price_quantity: Float? - - attr_accessor invoice_grouping_key: String? - - attr_accessor invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration? - - attr_accessor metadata: ::Hash[Symbol, String?]? - - def initialize: ( - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::cadence, - item_id: String, - name: String, - tiered_package_with_minimum_config: ::Hash[Symbol, top], - ?billable_metric_id: String?, - ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration?, - ?conversion_rate: Float?, - ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration?, - ?external_price_id: String?, - ?fixed_price_quantity: Float?, - ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration?, - ?metadata: ::Hash[Symbol, String?]?, - ?model_type: :tiered_package_with_minimum - ) -> void - - def to_hash: -> { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::cadence, - item_id: String, - model_type: :tiered_package_with_minimum, - name: String, - tiered_package_with_minimum_config: ::Hash[Symbol, top], - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - type cadence = - :annual - | :semi_annual - | :monthly - | :quarterly - | :one_time - | :custom - - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL: :annual - SEMI_ANNUAL: :semi_annual - MONTHLY: :monthly - QUARTERLY: :quarterly - ONE_TIME: :one_time - CUSTOM: :custom - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::cadence] - end - - type billing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::duration_unit - } - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::BillingCycleConfiguration::duration_unit] - end - end - - type dimensional_price_configuration = - { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String] - - attr_accessor dimensional_price_group_id: String? - - attr_accessor external_dimensional_price_group_id: String? - - def initialize: ( - dimension_values: ::Array[String], - ?dimensional_price_group_id: String?, - ?external_dimensional_price_group_id: String? - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - end - - type invoicing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::duration_unit - } - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::duration_unit] - end - end - end - - type matrix_with_allocation = - { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::cadence, - item_id: String, - matrix_with_allocation_config: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig, - model_type: :matrix_with_allocation, - name: String, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - class MatrixWithAllocation < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::cadence - - attr_accessor item_id: String - - attr_accessor matrix_with_allocation_config: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig - - attr_accessor model_type: :matrix_with_allocation - - attr_accessor name: String - - attr_accessor billable_metric_id: String? - - attr_accessor billed_in_advance: bool? - - attr_accessor billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration? - - attr_accessor conversion_rate: Float? - - attr_accessor currency: String? - - attr_accessor dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration? - - attr_accessor external_price_id: String? - - attr_accessor fixed_price_quantity: Float? - - attr_accessor invoice_grouping_key: String? - - attr_accessor invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration? - - attr_accessor metadata: ::Hash[Symbol, String?]? - - def initialize: ( - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::cadence, - item_id: String, - matrix_with_allocation_config: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig, - name: String, - ?billable_metric_id: String?, - ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration?, - ?conversion_rate: Float?, - ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration?, - ?external_price_id: String?, - ?fixed_price_quantity: Float?, - ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration?, - ?metadata: ::Hash[Symbol, String?]?, - ?model_type: :matrix_with_allocation - ) -> void - - def to_hash: -> { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::cadence, - item_id: String, - matrix_with_allocation_config: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig, - model_type: :matrix_with_allocation, - name: String, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - type cadence = - :annual - | :semi_annual - | :monthly - | :quarterly - | :one_time - | :custom - - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL: :annual - SEMI_ANNUAL: :semi_annual - MONTHLY: :monthly - QUARTERLY: :quarterly - ONE_TIME: :one_time - CUSTOM: :custom - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::cadence] - end - - type matrix_with_allocation_config = - { - allocation: Float, - default_unit_amount: String, - dimensions: ::Array[String?], - matrix_values: ::Array[Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue] - } - - class MatrixWithAllocationConfig < Orb::Internal::Type::BaseModel - attr_accessor allocation: Float - - attr_accessor default_unit_amount: String - - attr_accessor dimensions: ::Array[String?] - - attr_accessor matrix_values: ::Array[Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue] - - def initialize: ( - allocation: Float, - default_unit_amount: String, - dimensions: ::Array[String?], - matrix_values: ::Array[Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue] - ) -> void - - def to_hash: -> { - allocation: Float, - default_unit_amount: String, - dimensions: ::Array[String?], - matrix_values: ::Array[Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue] - } - - type matrix_value = - { dimension_values: ::Array[String?], unit_amount: String } - - class MatrixValue < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String?] - - attr_accessor unit_amount: String - - def initialize: ( - dimension_values: ::Array[String?], - unit_amount: String - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String?], - unit_amount: String - } - end - end - - type billing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration::duration_unit - } - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::BillingCycleConfiguration::duration_unit] - end - end - - type dimensional_price_configuration = - { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String] - - attr_accessor dimensional_price_group_id: String? - - attr_accessor external_dimensional_price_group_id: String? - - def initialize: ( - dimension_values: ::Array[String], - ?dimensional_price_group_id: String?, - ?external_dimensional_price_group_id: String? - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - end - - type invoicing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::duration_unit - } - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::MatrixWithAllocation::InvoicingCycleConfiguration::duration_unit] - end - end - end - - type grouped_tiered = - { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::cadence, - grouped_tiered_config: ::Hash[Symbol, top], - item_id: String, - model_type: :grouped_tiered, - name: String, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - class GroupedTiered < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::cadence - - attr_accessor grouped_tiered_config: ::Hash[Symbol, top] - - attr_accessor item_id: String - - attr_accessor model_type: :grouped_tiered - - attr_accessor name: String - - attr_accessor billable_metric_id: String? - - attr_accessor billed_in_advance: bool? - - attr_accessor billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration? - - attr_accessor conversion_rate: Float? - - attr_accessor currency: String? - - attr_accessor dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::DimensionalPriceConfiguration? - - attr_accessor external_price_id: String? - - attr_accessor fixed_price_quantity: Float? - - attr_accessor invoice_grouping_key: String? - - attr_accessor invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration? - - attr_accessor metadata: ::Hash[Symbol, String?]? - - def initialize: ( - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::cadence, - grouped_tiered_config: ::Hash[Symbol, top], - item_id: String, - name: String, - ?billable_metric_id: String?, - ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration?, - ?conversion_rate: Float?, - ?currency: String?, - ?dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::DimensionalPriceConfiguration?, - ?external_price_id: String?, - ?fixed_price_quantity: Float?, - ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration?, - ?metadata: ::Hash[Symbol, String?]?, - ?model_type: :grouped_tiered - ) -> void - - def to_hash: -> { - cadence: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::cadence, - grouped_tiered_config: ::Hash[Symbol, top], - item_id: String, - model_type: :grouped_tiered, - name: String, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration?, - conversion_rate: Float?, - currency: String?, - dimensional_price_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - type cadence = - :annual - | :semi_annual - | :monthly - | :quarterly - | :one_time - | :custom - - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL: :annual - SEMI_ANNUAL: :semi_annual - MONTHLY: :monthly - QUARTERLY: :quarterly - ONE_TIME: :one_time - CUSTOM: :custom - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::cadence] - end - - type billing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration::duration_unit - } - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::BillingCycleConfiguration::duration_unit] - end - end - - type dimensional_price_configuration = - { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String] - - attr_accessor dimensional_price_group_id: String? - - attr_accessor external_dimensional_price_group_id: String? - - def initialize: ( - dimension_values: ::Array[String], - ?dimensional_price_group_id: String?, - ?external_dimensional_price_group_id: String? - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - end - - type invoicing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration::duration_unit - } - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::Price::GroupedTiered::InvoicingCycleConfiguration::duration_unit] - end - end - end - - def self?.variants: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice::price] - end - end - end - end - end - end -end diff --git a/sig/orb/models/plans/external_plan_id/version_create_response.rbs b/sig/orb/models/plans/external_plan_id/version_create_response.rbs deleted file mode 100644 index 1378cd11..00000000 --- a/sig/orb/models/plans/external_plan_id/version_create_response.rbs +++ /dev/null @@ -1,664 +0,0 @@ -module Orb - module Models - module Plans - module ExternalPlanID - type version_create_response = - { - adjustments: ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::adjustment], - created_at: Time, - plan_phases: ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::PlanPhase]?, - prices: ::Array[Orb::Models::price], - version: Integer - } - - class VersionCreateResponse < Orb::Internal::Type::BaseModel - attr_accessor adjustments: ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::adjustment] - - attr_accessor created_at: Time - - attr_accessor plan_phases: ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::PlanPhase]? - - attr_accessor prices: ::Array[Orb::Models::price] - - attr_accessor version: Integer - - def initialize: ( - adjustments: ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::adjustment], - created_at: Time, - plan_phases: ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::PlanPhase]?, - prices: ::Array[Orb::Models::price], - version: Integer - ) -> void - - def to_hash: -> { - adjustments: ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::adjustment], - created_at: Time, - plan_phases: ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::PlanPhase]?, - prices: ::Array[Orb::Models::price], - version: Integer - } - - type adjustment = - Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::UsageDiscount - | Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::AmountDiscount - | Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::PercentageDiscount - | Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Minimum - | Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Maximum - - module Adjustment - extend Orb::Internal::Type::Union - - type usage_discount = - { - id: String, - adjustment_type: :usage_discount, - applies_to_price_ids: ::Array[String], - filters: ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::UsageDiscount::Filter], - is_invoice_level: bool, - plan_phase_order: Integer?, - reason: String?, - usage_discount: Float - } - - class UsageDiscount < Orb::Internal::Type::BaseModel - attr_accessor id: String - - attr_accessor adjustment_type: :usage_discount - - attr_accessor applies_to_price_ids: ::Array[String] - - attr_accessor filters: ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::UsageDiscount::Filter] - - attr_accessor is_invoice_level: bool - - attr_accessor plan_phase_order: Integer? - - attr_accessor reason: String? - - attr_accessor usage_discount: Float - - def initialize: ( - id: String, - applies_to_price_ids: ::Array[String], - filters: ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::UsageDiscount::Filter], - is_invoice_level: bool, - plan_phase_order: Integer?, - reason: String?, - usage_discount: Float, - ?adjustment_type: :usage_discount - ) -> void - - def to_hash: -> { - id: String, - adjustment_type: :usage_discount, - applies_to_price_ids: ::Array[String], - filters: ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::UsageDiscount::Filter], - is_invoice_level: bool, - plan_phase_order: Integer?, - reason: String?, - usage_discount: Float - } - - type filter = - { - field: Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::UsageDiscount::Filter::field, - operator: Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::UsageDiscount::Filter::operator, - values: ::Array[String] - } - - class Filter < Orb::Internal::Type::BaseModel - attr_accessor field: Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::UsageDiscount::Filter::field - - attr_accessor operator: Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::UsageDiscount::Filter::operator - - attr_accessor values: ::Array[String] - - def initialize: ( - field: Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::UsageDiscount::Filter::field, - operator: Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::UsageDiscount::Filter::operator, - values: ::Array[String] - ) -> void - - def to_hash: -> { - field: Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::UsageDiscount::Filter::field, - operator: Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::UsageDiscount::Filter::operator, - values: ::Array[String] - } - - type field = - :price_id - | :item_id - | :price_type - | :currency - | :pricing_unit_id - - module Field - extend Orb::Internal::Type::Enum - - PRICE_ID: :price_id - ITEM_ID: :item_id - PRICE_TYPE: :price_type - CURRENCY: :currency - PRICING_UNIT_ID: :pricing_unit_id - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::UsageDiscount::Filter::field] - end - - type operator = :includes | :excludes - - module Operator - extend Orb::Internal::Type::Enum - - INCLUDES: :includes - EXCLUDES: :excludes - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::UsageDiscount::Filter::operator] - end - end - end - - type amount_discount = - { - id: String, - adjustment_type: :amount_discount, - amount_discount: String, - applies_to_price_ids: ::Array[String], - filters: ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::AmountDiscount::Filter], - is_invoice_level: bool, - plan_phase_order: Integer?, - reason: String? - } - - class AmountDiscount < Orb::Internal::Type::BaseModel - attr_accessor id: String - - attr_accessor adjustment_type: :amount_discount - - attr_accessor amount_discount: String - - attr_accessor applies_to_price_ids: ::Array[String] - - attr_accessor filters: ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::AmountDiscount::Filter] - - attr_accessor is_invoice_level: bool - - attr_accessor plan_phase_order: Integer? - - attr_accessor reason: String? - - def initialize: ( - id: String, - amount_discount: String, - applies_to_price_ids: ::Array[String], - filters: ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::AmountDiscount::Filter], - is_invoice_level: bool, - plan_phase_order: Integer?, - reason: String?, - ?adjustment_type: :amount_discount - ) -> void - - def to_hash: -> { - id: String, - adjustment_type: :amount_discount, - amount_discount: String, - applies_to_price_ids: ::Array[String], - filters: ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::AmountDiscount::Filter], - is_invoice_level: bool, - plan_phase_order: Integer?, - reason: String? - } - - type filter = - { - field: Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::AmountDiscount::Filter::field, - operator: Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::AmountDiscount::Filter::operator, - values: ::Array[String] - } - - class Filter < Orb::Internal::Type::BaseModel - attr_accessor field: Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::AmountDiscount::Filter::field - - attr_accessor operator: Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::AmountDiscount::Filter::operator - - attr_accessor values: ::Array[String] - - def initialize: ( - field: Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::AmountDiscount::Filter::field, - operator: Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::AmountDiscount::Filter::operator, - values: ::Array[String] - ) -> void - - def to_hash: -> { - field: Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::AmountDiscount::Filter::field, - operator: Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::AmountDiscount::Filter::operator, - values: ::Array[String] - } - - type field = - :price_id - | :item_id - | :price_type - | :currency - | :pricing_unit_id - - module Field - extend Orb::Internal::Type::Enum - - PRICE_ID: :price_id - ITEM_ID: :item_id - PRICE_TYPE: :price_type - CURRENCY: :currency - PRICING_UNIT_ID: :pricing_unit_id - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::AmountDiscount::Filter::field] - end - - type operator = :includes | :excludes - - module Operator - extend Orb::Internal::Type::Enum - - INCLUDES: :includes - EXCLUDES: :excludes - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::AmountDiscount::Filter::operator] - end - end - end - - type percentage_discount = - { - id: String, - adjustment_type: :percentage_discount, - applies_to_price_ids: ::Array[String], - filters: ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::PercentageDiscount::Filter], - is_invoice_level: bool, - percentage_discount: Float, - plan_phase_order: Integer?, - reason: String? - } - - class PercentageDiscount < Orb::Internal::Type::BaseModel - attr_accessor id: String - - attr_accessor adjustment_type: :percentage_discount - - attr_accessor applies_to_price_ids: ::Array[String] - - attr_accessor filters: ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::PercentageDiscount::Filter] - - attr_accessor is_invoice_level: bool - - attr_accessor percentage_discount: Float - - attr_accessor plan_phase_order: Integer? - - attr_accessor reason: String? - - def initialize: ( - id: String, - applies_to_price_ids: ::Array[String], - filters: ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::PercentageDiscount::Filter], - is_invoice_level: bool, - percentage_discount: Float, - plan_phase_order: Integer?, - reason: String?, - ?adjustment_type: :percentage_discount - ) -> void - - def to_hash: -> { - id: String, - adjustment_type: :percentage_discount, - applies_to_price_ids: ::Array[String], - filters: ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::PercentageDiscount::Filter], - is_invoice_level: bool, - percentage_discount: Float, - plan_phase_order: Integer?, - reason: String? - } - - type filter = - { - field: Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::PercentageDiscount::Filter::field, - operator: Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::PercentageDiscount::Filter::operator, - values: ::Array[String] - } - - class Filter < Orb::Internal::Type::BaseModel - attr_accessor field: Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::PercentageDiscount::Filter::field - - attr_accessor operator: Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::PercentageDiscount::Filter::operator - - attr_accessor values: ::Array[String] - - def initialize: ( - field: Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::PercentageDiscount::Filter::field, - operator: Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::PercentageDiscount::Filter::operator, - values: ::Array[String] - ) -> void - - def to_hash: -> { - field: Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::PercentageDiscount::Filter::field, - operator: Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::PercentageDiscount::Filter::operator, - values: ::Array[String] - } - - type field = - :price_id - | :item_id - | :price_type - | :currency - | :pricing_unit_id - - module Field - extend Orb::Internal::Type::Enum - - PRICE_ID: :price_id - ITEM_ID: :item_id - PRICE_TYPE: :price_type - CURRENCY: :currency - PRICING_UNIT_ID: :pricing_unit_id - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::PercentageDiscount::Filter::field] - end - - type operator = :includes | :excludes - - module Operator - extend Orb::Internal::Type::Enum - - INCLUDES: :includes - EXCLUDES: :excludes - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::PercentageDiscount::Filter::operator] - end - end - end - - type minimum = - { - id: String, - adjustment_type: :minimum, - applies_to_price_ids: ::Array[String], - filters: ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Minimum::Filter], - is_invoice_level: bool, - item_id: String, - minimum_amount: String, - plan_phase_order: Integer?, - reason: String? - } - - class Minimum < Orb::Internal::Type::BaseModel - attr_accessor id: String - - attr_accessor adjustment_type: :minimum - - attr_accessor applies_to_price_ids: ::Array[String] - - attr_accessor filters: ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Minimum::Filter] - - attr_accessor is_invoice_level: bool - - attr_accessor item_id: String - - attr_accessor minimum_amount: String - - attr_accessor plan_phase_order: Integer? - - attr_accessor reason: String? - - def initialize: ( - id: String, - applies_to_price_ids: ::Array[String], - filters: ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Minimum::Filter], - is_invoice_level: bool, - item_id: String, - minimum_amount: String, - plan_phase_order: Integer?, - reason: String?, - ?adjustment_type: :minimum - ) -> void - - def to_hash: -> { - id: String, - adjustment_type: :minimum, - applies_to_price_ids: ::Array[String], - filters: ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Minimum::Filter], - is_invoice_level: bool, - item_id: String, - minimum_amount: String, - plan_phase_order: Integer?, - reason: String? - } - - type filter = - { - field: Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Minimum::Filter::field, - operator: Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Minimum::Filter::operator, - values: ::Array[String] - } - - class Filter < Orb::Internal::Type::BaseModel - attr_accessor field: Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Minimum::Filter::field - - attr_accessor operator: Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Minimum::Filter::operator - - attr_accessor values: ::Array[String] - - def initialize: ( - field: Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Minimum::Filter::field, - operator: Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Minimum::Filter::operator, - values: ::Array[String] - ) -> void - - def to_hash: -> { - field: Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Minimum::Filter::field, - operator: Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Minimum::Filter::operator, - values: ::Array[String] - } - - type field = - :price_id - | :item_id - | :price_type - | :currency - | :pricing_unit_id - - module Field - extend Orb::Internal::Type::Enum - - PRICE_ID: :price_id - ITEM_ID: :item_id - PRICE_TYPE: :price_type - CURRENCY: :currency - PRICING_UNIT_ID: :pricing_unit_id - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Minimum::Filter::field] - end - - type operator = :includes | :excludes - - module Operator - extend Orb::Internal::Type::Enum - - INCLUDES: :includes - EXCLUDES: :excludes - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Minimum::Filter::operator] - end - end - end - - type maximum = - { - id: String, - adjustment_type: :maximum, - applies_to_price_ids: ::Array[String], - filters: ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Maximum::Filter], - is_invoice_level: bool, - maximum_amount: String, - plan_phase_order: Integer?, - reason: String? - } - - class Maximum < Orb::Internal::Type::BaseModel - attr_accessor id: String - - attr_accessor adjustment_type: :maximum - - attr_accessor applies_to_price_ids: ::Array[String] - - attr_accessor filters: ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Maximum::Filter] - - attr_accessor is_invoice_level: bool - - attr_accessor maximum_amount: String - - attr_accessor plan_phase_order: Integer? - - attr_accessor reason: String? - - def initialize: ( - id: String, - applies_to_price_ids: ::Array[String], - filters: ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Maximum::Filter], - is_invoice_level: bool, - maximum_amount: String, - plan_phase_order: Integer?, - reason: String?, - ?adjustment_type: :maximum - ) -> void - - def to_hash: -> { - id: String, - adjustment_type: :maximum, - applies_to_price_ids: ::Array[String], - filters: ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Maximum::Filter], - is_invoice_level: bool, - maximum_amount: String, - plan_phase_order: Integer?, - reason: String? - } - - type filter = - { - field: Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Maximum::Filter::field, - operator: Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Maximum::Filter::operator, - values: ::Array[String] - } - - class Filter < Orb::Internal::Type::BaseModel - attr_accessor field: Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Maximum::Filter::field - - attr_accessor operator: Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Maximum::Filter::operator - - attr_accessor values: ::Array[String] - - def initialize: ( - field: Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Maximum::Filter::field, - operator: Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Maximum::Filter::operator, - values: ::Array[String] - ) -> void - - def to_hash: -> { - field: Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Maximum::Filter::field, - operator: Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Maximum::Filter::operator, - values: ::Array[String] - } - - type field = - :price_id - | :item_id - | :price_type - | :currency - | :pricing_unit_id - - module Field - extend Orb::Internal::Type::Enum - - PRICE_ID: :price_id - ITEM_ID: :item_id - PRICE_TYPE: :price_type - CURRENCY: :currency - PRICING_UNIT_ID: :pricing_unit_id - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Maximum::Filter::field] - end - - type operator = :includes | :excludes - - module Operator - extend Orb::Internal::Type::Enum - - INCLUDES: :includes - EXCLUDES: :excludes - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment::Maximum::Filter::operator] - end - end - end - - def self?.variants: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::adjustment] - end - - type plan_phase = - { - id: String, - description: String?, - duration: Integer?, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::PlanPhase::duration_unit?, - name: String, - order: Integer - } - - class PlanPhase < Orb::Internal::Type::BaseModel - attr_accessor id: String - - attr_accessor description: String? - - attr_accessor duration: Integer? - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::PlanPhase::duration_unit? - - attr_accessor name: String - - attr_accessor order: Integer - - def initialize: ( - id: String, - description: String?, - duration: Integer?, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::PlanPhase::duration_unit?, - name: String, - order: Integer - ) -> void - - def to_hash: -> { - id: String, - description: String?, - duration: Integer?, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::PlanPhase::duration_unit?, - name: String, - order: Integer - } - - type duration_unit = - :daily | :monthly | :quarterly | :semi_annual | :annual - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAILY: :daily - MONTHLY: :monthly - QUARTERLY: :quarterly - SEMI_ANNUAL: :semi_annual - ANNUAL: :annual - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::PlanPhase::duration_unit] - end - end - end - end - end - end -end diff --git a/sig/orb/models/plans/external_plan_id/version_retrieve_params.rbs b/sig/orb/models/plans/external_plan_id/version_retrieve_params.rbs deleted file mode 100644 index 37b28540..00000000 --- a/sig/orb/models/plans/external_plan_id/version_retrieve_params.rbs +++ /dev/null @@ -1,27 +0,0 @@ -module Orb - module Models - module Plans - module ExternalPlanID - type version_retrieve_params = - { external_plan_id: String } & Orb::Internal::Type::request_parameters - - class VersionRetrieveParams < Orb::Internal::Type::BaseModel - extend Orb::Internal::Type::RequestParameters::Converter - include Orb::Internal::Type::RequestParameters - - attr_accessor external_plan_id: String - - def initialize: ( - external_plan_id: String, - ?request_options: Orb::request_opts - ) -> void - - def to_hash: -> { - external_plan_id: String, - request_options: Orb::RequestOptions - } - end - end - end - end -end diff --git a/sig/orb/models/plans/external_plan_id/version_retrieve_response.rbs b/sig/orb/models/plans/external_plan_id/version_retrieve_response.rbs deleted file mode 100644 index c15813ff..00000000 --- a/sig/orb/models/plans/external_plan_id/version_retrieve_response.rbs +++ /dev/null @@ -1,664 +0,0 @@ -module Orb - module Models - module Plans - module ExternalPlanID - type version_retrieve_response = - { - adjustments: ::Array[Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::adjustment], - created_at: Time, - plan_phases: ::Array[Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::PlanPhase]?, - prices: ::Array[Orb::Models::price], - version: Integer - } - - class VersionRetrieveResponse < Orb::Internal::Type::BaseModel - attr_accessor adjustments: ::Array[Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::adjustment] - - attr_accessor created_at: Time - - attr_accessor plan_phases: ::Array[Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::PlanPhase]? - - attr_accessor prices: ::Array[Orb::Models::price] - - attr_accessor version: Integer - - def initialize: ( - adjustments: ::Array[Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::adjustment], - created_at: Time, - plan_phases: ::Array[Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::PlanPhase]?, - prices: ::Array[Orb::Models::price], - version: Integer - ) -> void - - def to_hash: -> { - adjustments: ::Array[Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::adjustment], - created_at: Time, - plan_phases: ::Array[Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::PlanPhase]?, - prices: ::Array[Orb::Models::price], - version: Integer - } - - type adjustment = - Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::UsageDiscount - | Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::AmountDiscount - | Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::PercentageDiscount - | Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Minimum - | Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Maximum - - module Adjustment - extend Orb::Internal::Type::Union - - type usage_discount = - { - id: String, - adjustment_type: :usage_discount, - applies_to_price_ids: ::Array[String], - filters: ::Array[Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter], - is_invoice_level: bool, - plan_phase_order: Integer?, - reason: String?, - usage_discount: Float - } - - class UsageDiscount < Orb::Internal::Type::BaseModel - attr_accessor id: String - - attr_accessor adjustment_type: :usage_discount - - attr_accessor applies_to_price_ids: ::Array[String] - - attr_accessor filters: ::Array[Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter] - - attr_accessor is_invoice_level: bool - - attr_accessor plan_phase_order: Integer? - - attr_accessor reason: String? - - attr_accessor usage_discount: Float - - def initialize: ( - id: String, - applies_to_price_ids: ::Array[String], - filters: ::Array[Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter], - is_invoice_level: bool, - plan_phase_order: Integer?, - reason: String?, - usage_discount: Float, - ?adjustment_type: :usage_discount - ) -> void - - def to_hash: -> { - id: String, - adjustment_type: :usage_discount, - applies_to_price_ids: ::Array[String], - filters: ::Array[Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter], - is_invoice_level: bool, - plan_phase_order: Integer?, - reason: String?, - usage_discount: Float - } - - type filter = - { - field: Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter::field, - operator: Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter::operator, - values: ::Array[String] - } - - class Filter < Orb::Internal::Type::BaseModel - attr_accessor field: Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter::field - - attr_accessor operator: Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter::operator - - attr_accessor values: ::Array[String] - - def initialize: ( - field: Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter::field, - operator: Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter::operator, - values: ::Array[String] - ) -> void - - def to_hash: -> { - field: Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter::field, - operator: Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter::operator, - values: ::Array[String] - } - - type field = - :price_id - | :item_id - | :price_type - | :currency - | :pricing_unit_id - - module Field - extend Orb::Internal::Type::Enum - - PRICE_ID: :price_id - ITEM_ID: :item_id - PRICE_TYPE: :price_type - CURRENCY: :currency - PRICING_UNIT_ID: :pricing_unit_id - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter::field] - end - - type operator = :includes | :excludes - - module Operator - extend Orb::Internal::Type::Enum - - INCLUDES: :includes - EXCLUDES: :excludes - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter::operator] - end - end - end - - type amount_discount = - { - id: String, - adjustment_type: :amount_discount, - amount_discount: String, - applies_to_price_ids: ::Array[String], - filters: ::Array[Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter], - is_invoice_level: bool, - plan_phase_order: Integer?, - reason: String? - } - - class AmountDiscount < Orb::Internal::Type::BaseModel - attr_accessor id: String - - attr_accessor adjustment_type: :amount_discount - - attr_accessor amount_discount: String - - attr_accessor applies_to_price_ids: ::Array[String] - - attr_accessor filters: ::Array[Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter] - - attr_accessor is_invoice_level: bool - - attr_accessor plan_phase_order: Integer? - - attr_accessor reason: String? - - def initialize: ( - id: String, - amount_discount: String, - applies_to_price_ids: ::Array[String], - filters: ::Array[Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter], - is_invoice_level: bool, - plan_phase_order: Integer?, - reason: String?, - ?adjustment_type: :amount_discount - ) -> void - - def to_hash: -> { - id: String, - adjustment_type: :amount_discount, - amount_discount: String, - applies_to_price_ids: ::Array[String], - filters: ::Array[Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter], - is_invoice_level: bool, - plan_phase_order: Integer?, - reason: String? - } - - type filter = - { - field: Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter::field, - operator: Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter::operator, - values: ::Array[String] - } - - class Filter < Orb::Internal::Type::BaseModel - attr_accessor field: Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter::field - - attr_accessor operator: Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter::operator - - attr_accessor values: ::Array[String] - - def initialize: ( - field: Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter::field, - operator: Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter::operator, - values: ::Array[String] - ) -> void - - def to_hash: -> { - field: Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter::field, - operator: Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter::operator, - values: ::Array[String] - } - - type field = - :price_id - | :item_id - | :price_type - | :currency - | :pricing_unit_id - - module Field - extend Orb::Internal::Type::Enum - - PRICE_ID: :price_id - ITEM_ID: :item_id - PRICE_TYPE: :price_type - CURRENCY: :currency - PRICING_UNIT_ID: :pricing_unit_id - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter::field] - end - - type operator = :includes | :excludes - - module Operator - extend Orb::Internal::Type::Enum - - INCLUDES: :includes - EXCLUDES: :excludes - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter::operator] - end - end - end - - type percentage_discount = - { - id: String, - adjustment_type: :percentage_discount, - applies_to_price_ids: ::Array[String], - filters: ::Array[Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter], - is_invoice_level: bool, - percentage_discount: Float, - plan_phase_order: Integer?, - reason: String? - } - - class PercentageDiscount < Orb::Internal::Type::BaseModel - attr_accessor id: String - - attr_accessor adjustment_type: :percentage_discount - - attr_accessor applies_to_price_ids: ::Array[String] - - attr_accessor filters: ::Array[Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter] - - attr_accessor is_invoice_level: bool - - attr_accessor percentage_discount: Float - - attr_accessor plan_phase_order: Integer? - - attr_accessor reason: String? - - def initialize: ( - id: String, - applies_to_price_ids: ::Array[String], - filters: ::Array[Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter], - is_invoice_level: bool, - percentage_discount: Float, - plan_phase_order: Integer?, - reason: String?, - ?adjustment_type: :percentage_discount - ) -> void - - def to_hash: -> { - id: String, - adjustment_type: :percentage_discount, - applies_to_price_ids: ::Array[String], - filters: ::Array[Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter], - is_invoice_level: bool, - percentage_discount: Float, - plan_phase_order: Integer?, - reason: String? - } - - type filter = - { - field: Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter::field, - operator: Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter::operator, - values: ::Array[String] - } - - class Filter < Orb::Internal::Type::BaseModel - attr_accessor field: Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter::field - - attr_accessor operator: Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter::operator - - attr_accessor values: ::Array[String] - - def initialize: ( - field: Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter::field, - operator: Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter::operator, - values: ::Array[String] - ) -> void - - def to_hash: -> { - field: Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter::field, - operator: Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter::operator, - values: ::Array[String] - } - - type field = - :price_id - | :item_id - | :price_type - | :currency - | :pricing_unit_id - - module Field - extend Orb::Internal::Type::Enum - - PRICE_ID: :price_id - ITEM_ID: :item_id - PRICE_TYPE: :price_type - CURRENCY: :currency - PRICING_UNIT_ID: :pricing_unit_id - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter::field] - end - - type operator = :includes | :excludes - - module Operator - extend Orb::Internal::Type::Enum - - INCLUDES: :includes - EXCLUDES: :excludes - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter::operator] - end - end - end - - type minimum = - { - id: String, - adjustment_type: :minimum, - applies_to_price_ids: ::Array[String], - filters: ::Array[Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Minimum::Filter], - is_invoice_level: bool, - item_id: String, - minimum_amount: String, - plan_phase_order: Integer?, - reason: String? - } - - class Minimum < Orb::Internal::Type::BaseModel - attr_accessor id: String - - attr_accessor adjustment_type: :minimum - - attr_accessor applies_to_price_ids: ::Array[String] - - attr_accessor filters: ::Array[Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Minimum::Filter] - - attr_accessor is_invoice_level: bool - - attr_accessor item_id: String - - attr_accessor minimum_amount: String - - attr_accessor plan_phase_order: Integer? - - attr_accessor reason: String? - - def initialize: ( - id: String, - applies_to_price_ids: ::Array[String], - filters: ::Array[Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Minimum::Filter], - is_invoice_level: bool, - item_id: String, - minimum_amount: String, - plan_phase_order: Integer?, - reason: String?, - ?adjustment_type: :minimum - ) -> void - - def to_hash: -> { - id: String, - adjustment_type: :minimum, - applies_to_price_ids: ::Array[String], - filters: ::Array[Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Minimum::Filter], - is_invoice_level: bool, - item_id: String, - minimum_amount: String, - plan_phase_order: Integer?, - reason: String? - } - - type filter = - { - field: Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Minimum::Filter::field, - operator: Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Minimum::Filter::operator, - values: ::Array[String] - } - - class Filter < Orb::Internal::Type::BaseModel - attr_accessor field: Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Minimum::Filter::field - - attr_accessor operator: Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Minimum::Filter::operator - - attr_accessor values: ::Array[String] - - def initialize: ( - field: Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Minimum::Filter::field, - operator: Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Minimum::Filter::operator, - values: ::Array[String] - ) -> void - - def to_hash: -> { - field: Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Minimum::Filter::field, - operator: Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Minimum::Filter::operator, - values: ::Array[String] - } - - type field = - :price_id - | :item_id - | :price_type - | :currency - | :pricing_unit_id - - module Field - extend Orb::Internal::Type::Enum - - PRICE_ID: :price_id - ITEM_ID: :item_id - PRICE_TYPE: :price_type - CURRENCY: :currency - PRICING_UNIT_ID: :pricing_unit_id - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Minimum::Filter::field] - end - - type operator = :includes | :excludes - - module Operator - extend Orb::Internal::Type::Enum - - INCLUDES: :includes - EXCLUDES: :excludes - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Minimum::Filter::operator] - end - end - end - - type maximum = - { - id: String, - adjustment_type: :maximum, - applies_to_price_ids: ::Array[String], - filters: ::Array[Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Maximum::Filter], - is_invoice_level: bool, - maximum_amount: String, - plan_phase_order: Integer?, - reason: String? - } - - class Maximum < Orb::Internal::Type::BaseModel - attr_accessor id: String - - attr_accessor adjustment_type: :maximum - - attr_accessor applies_to_price_ids: ::Array[String] - - attr_accessor filters: ::Array[Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Maximum::Filter] - - attr_accessor is_invoice_level: bool - - attr_accessor maximum_amount: String - - attr_accessor plan_phase_order: Integer? - - attr_accessor reason: String? - - def initialize: ( - id: String, - applies_to_price_ids: ::Array[String], - filters: ::Array[Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Maximum::Filter], - is_invoice_level: bool, - maximum_amount: String, - plan_phase_order: Integer?, - reason: String?, - ?adjustment_type: :maximum - ) -> void - - def to_hash: -> { - id: String, - adjustment_type: :maximum, - applies_to_price_ids: ::Array[String], - filters: ::Array[Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Maximum::Filter], - is_invoice_level: bool, - maximum_amount: String, - plan_phase_order: Integer?, - reason: String? - } - - type filter = - { - field: Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Maximum::Filter::field, - operator: Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Maximum::Filter::operator, - values: ::Array[String] - } - - class Filter < Orb::Internal::Type::BaseModel - attr_accessor field: Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Maximum::Filter::field - - attr_accessor operator: Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Maximum::Filter::operator - - attr_accessor values: ::Array[String] - - def initialize: ( - field: Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Maximum::Filter::field, - operator: Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Maximum::Filter::operator, - values: ::Array[String] - ) -> void - - def to_hash: -> { - field: Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Maximum::Filter::field, - operator: Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Maximum::Filter::operator, - values: ::Array[String] - } - - type field = - :price_id - | :item_id - | :price_type - | :currency - | :pricing_unit_id - - module Field - extend Orb::Internal::Type::Enum - - PRICE_ID: :price_id - ITEM_ID: :item_id - PRICE_TYPE: :price_type - CURRENCY: :currency - PRICING_UNIT_ID: :pricing_unit_id - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Maximum::Filter::field] - end - - type operator = :includes | :excludes - - module Operator - extend Orb::Internal::Type::Enum - - INCLUDES: :includes - EXCLUDES: :excludes - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment::Maximum::Filter::operator] - end - end - end - - def self?.variants: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::adjustment] - end - - type plan_phase = - { - id: String, - description: String?, - duration: Integer?, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::PlanPhase::duration_unit?, - name: String, - order: Integer - } - - class PlanPhase < Orb::Internal::Type::BaseModel - attr_accessor id: String - - attr_accessor description: String? - - attr_accessor duration: Integer? - - attr_accessor duration_unit: Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::PlanPhase::duration_unit? - - attr_accessor name: String - - attr_accessor order: Integer - - def initialize: ( - id: String, - description: String?, - duration: Integer?, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::PlanPhase::duration_unit?, - name: String, - order: Integer - ) -> void - - def to_hash: -> { - id: String, - description: String?, - duration: Integer?, - duration_unit: Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::PlanPhase::duration_unit?, - name: String, - order: Integer - } - - type duration_unit = - :daily | :monthly | :quarterly | :semi_annual | :annual - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAILY: :daily - MONTHLY: :monthly - QUARTERLY: :quarterly - SEMI_ANNUAL: :semi_annual - ANNUAL: :annual - - def self?.values: -> ::Array[Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::PlanPhase::duration_unit] - end - end - end - end - end - end -end diff --git a/sig/orb/models/plans/version_create_response.rbs b/sig/orb/models/plans/version_create_response.rbs deleted file mode 100644 index 1d58f6fd..00000000 --- a/sig/orb/models/plans/version_create_response.rbs +++ /dev/null @@ -1,662 +0,0 @@ -module Orb - module Models - module Plans - type version_create_response = - { - adjustments: ::Array[Orb::Models::Plans::VersionCreateResponse::adjustment], - created_at: Time, - plan_phases: ::Array[Orb::Models::Plans::VersionCreateResponse::PlanPhase]?, - prices: ::Array[Orb::Models::price], - version: Integer - } - - class VersionCreateResponse < Orb::Internal::Type::BaseModel - attr_accessor adjustments: ::Array[Orb::Models::Plans::VersionCreateResponse::adjustment] - - attr_accessor created_at: Time - - attr_accessor plan_phases: ::Array[Orb::Models::Plans::VersionCreateResponse::PlanPhase]? - - attr_accessor prices: ::Array[Orb::Models::price] - - attr_accessor version: Integer - - def initialize: ( - adjustments: ::Array[Orb::Models::Plans::VersionCreateResponse::adjustment], - created_at: Time, - plan_phases: ::Array[Orb::Models::Plans::VersionCreateResponse::PlanPhase]?, - prices: ::Array[Orb::Models::price], - version: Integer - ) -> void - - def to_hash: -> { - adjustments: ::Array[Orb::Models::Plans::VersionCreateResponse::adjustment], - created_at: Time, - plan_phases: ::Array[Orb::Models::Plans::VersionCreateResponse::PlanPhase]?, - prices: ::Array[Orb::Models::price], - version: Integer - } - - type adjustment = - Orb::Models::Plans::VersionCreateResponse::Adjustment::UsageDiscount - | Orb::Models::Plans::VersionCreateResponse::Adjustment::AmountDiscount - | Orb::Models::Plans::VersionCreateResponse::Adjustment::PercentageDiscount - | Orb::Models::Plans::VersionCreateResponse::Adjustment::Minimum - | Orb::Models::Plans::VersionCreateResponse::Adjustment::Maximum - - module Adjustment - extend Orb::Internal::Type::Union - - type usage_discount = - { - id: String, - adjustment_type: :usage_discount, - applies_to_price_ids: ::Array[String], - filters: ::Array[Orb::Models::Plans::VersionCreateResponse::Adjustment::UsageDiscount::Filter], - is_invoice_level: bool, - plan_phase_order: Integer?, - reason: String?, - usage_discount: Float - } - - class UsageDiscount < Orb::Internal::Type::BaseModel - attr_accessor id: String - - attr_accessor adjustment_type: :usage_discount - - attr_accessor applies_to_price_ids: ::Array[String] - - attr_accessor filters: ::Array[Orb::Models::Plans::VersionCreateResponse::Adjustment::UsageDiscount::Filter] - - attr_accessor is_invoice_level: bool - - attr_accessor plan_phase_order: Integer? - - attr_accessor reason: String? - - attr_accessor usage_discount: Float - - def initialize: ( - id: String, - applies_to_price_ids: ::Array[String], - filters: ::Array[Orb::Models::Plans::VersionCreateResponse::Adjustment::UsageDiscount::Filter], - is_invoice_level: bool, - plan_phase_order: Integer?, - reason: String?, - usage_discount: Float, - ?adjustment_type: :usage_discount - ) -> void - - def to_hash: -> { - id: String, - adjustment_type: :usage_discount, - applies_to_price_ids: ::Array[String], - filters: ::Array[Orb::Models::Plans::VersionCreateResponse::Adjustment::UsageDiscount::Filter], - is_invoice_level: bool, - plan_phase_order: Integer?, - reason: String?, - usage_discount: Float - } - - type filter = - { - field: Orb::Models::Plans::VersionCreateResponse::Adjustment::UsageDiscount::Filter::field, - operator: Orb::Models::Plans::VersionCreateResponse::Adjustment::UsageDiscount::Filter::operator, - values: ::Array[String] - } - - class Filter < Orb::Internal::Type::BaseModel - attr_accessor field: Orb::Models::Plans::VersionCreateResponse::Adjustment::UsageDiscount::Filter::field - - attr_accessor operator: Orb::Models::Plans::VersionCreateResponse::Adjustment::UsageDiscount::Filter::operator - - attr_accessor values: ::Array[String] - - def initialize: ( - field: Orb::Models::Plans::VersionCreateResponse::Adjustment::UsageDiscount::Filter::field, - operator: Orb::Models::Plans::VersionCreateResponse::Adjustment::UsageDiscount::Filter::operator, - values: ::Array[String] - ) -> void - - def to_hash: -> { - field: Orb::Models::Plans::VersionCreateResponse::Adjustment::UsageDiscount::Filter::field, - operator: Orb::Models::Plans::VersionCreateResponse::Adjustment::UsageDiscount::Filter::operator, - values: ::Array[String] - } - - type field = - :price_id - | :item_id - | :price_type - | :currency - | :pricing_unit_id - - module Field - extend Orb::Internal::Type::Enum - - PRICE_ID: :price_id - ITEM_ID: :item_id - PRICE_TYPE: :price_type - CURRENCY: :currency - PRICING_UNIT_ID: :pricing_unit_id - - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateResponse::Adjustment::UsageDiscount::Filter::field] - end - - type operator = :includes | :excludes - - module Operator - extend Orb::Internal::Type::Enum - - INCLUDES: :includes - EXCLUDES: :excludes - - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateResponse::Adjustment::UsageDiscount::Filter::operator] - end - end - end - - type amount_discount = - { - id: String, - adjustment_type: :amount_discount, - amount_discount: String, - applies_to_price_ids: ::Array[String], - filters: ::Array[Orb::Models::Plans::VersionCreateResponse::Adjustment::AmountDiscount::Filter], - is_invoice_level: bool, - plan_phase_order: Integer?, - reason: String? - } - - class AmountDiscount < Orb::Internal::Type::BaseModel - attr_accessor id: String - - attr_accessor adjustment_type: :amount_discount - - attr_accessor amount_discount: String - - attr_accessor applies_to_price_ids: ::Array[String] - - attr_accessor filters: ::Array[Orb::Models::Plans::VersionCreateResponse::Adjustment::AmountDiscount::Filter] - - attr_accessor is_invoice_level: bool - - attr_accessor plan_phase_order: Integer? - - attr_accessor reason: String? - - def initialize: ( - id: String, - amount_discount: String, - applies_to_price_ids: ::Array[String], - filters: ::Array[Orb::Models::Plans::VersionCreateResponse::Adjustment::AmountDiscount::Filter], - is_invoice_level: bool, - plan_phase_order: Integer?, - reason: String?, - ?adjustment_type: :amount_discount - ) -> void - - def to_hash: -> { - id: String, - adjustment_type: :amount_discount, - amount_discount: String, - applies_to_price_ids: ::Array[String], - filters: ::Array[Orb::Models::Plans::VersionCreateResponse::Adjustment::AmountDiscount::Filter], - is_invoice_level: bool, - plan_phase_order: Integer?, - reason: String? - } - - type filter = - { - field: Orb::Models::Plans::VersionCreateResponse::Adjustment::AmountDiscount::Filter::field, - operator: Orb::Models::Plans::VersionCreateResponse::Adjustment::AmountDiscount::Filter::operator, - values: ::Array[String] - } - - class Filter < Orb::Internal::Type::BaseModel - attr_accessor field: Orb::Models::Plans::VersionCreateResponse::Adjustment::AmountDiscount::Filter::field - - attr_accessor operator: Orb::Models::Plans::VersionCreateResponse::Adjustment::AmountDiscount::Filter::operator - - attr_accessor values: ::Array[String] - - def initialize: ( - field: Orb::Models::Plans::VersionCreateResponse::Adjustment::AmountDiscount::Filter::field, - operator: Orb::Models::Plans::VersionCreateResponse::Adjustment::AmountDiscount::Filter::operator, - values: ::Array[String] - ) -> void - - def to_hash: -> { - field: Orb::Models::Plans::VersionCreateResponse::Adjustment::AmountDiscount::Filter::field, - operator: Orb::Models::Plans::VersionCreateResponse::Adjustment::AmountDiscount::Filter::operator, - values: ::Array[String] - } - - type field = - :price_id - | :item_id - | :price_type - | :currency - | :pricing_unit_id - - module Field - extend Orb::Internal::Type::Enum - - PRICE_ID: :price_id - ITEM_ID: :item_id - PRICE_TYPE: :price_type - CURRENCY: :currency - PRICING_UNIT_ID: :pricing_unit_id - - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateResponse::Adjustment::AmountDiscount::Filter::field] - end - - type operator = :includes | :excludes - - module Operator - extend Orb::Internal::Type::Enum - - INCLUDES: :includes - EXCLUDES: :excludes - - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateResponse::Adjustment::AmountDiscount::Filter::operator] - end - end - end - - type percentage_discount = - { - id: String, - adjustment_type: :percentage_discount, - applies_to_price_ids: ::Array[String], - filters: ::Array[Orb::Models::Plans::VersionCreateResponse::Adjustment::PercentageDiscount::Filter], - is_invoice_level: bool, - percentage_discount: Float, - plan_phase_order: Integer?, - reason: String? - } - - class PercentageDiscount < Orb::Internal::Type::BaseModel - attr_accessor id: String - - attr_accessor adjustment_type: :percentage_discount - - attr_accessor applies_to_price_ids: ::Array[String] - - attr_accessor filters: ::Array[Orb::Models::Plans::VersionCreateResponse::Adjustment::PercentageDiscount::Filter] - - attr_accessor is_invoice_level: bool - - attr_accessor percentage_discount: Float - - attr_accessor plan_phase_order: Integer? - - attr_accessor reason: String? - - def initialize: ( - id: String, - applies_to_price_ids: ::Array[String], - filters: ::Array[Orb::Models::Plans::VersionCreateResponse::Adjustment::PercentageDiscount::Filter], - is_invoice_level: bool, - percentage_discount: Float, - plan_phase_order: Integer?, - reason: String?, - ?adjustment_type: :percentage_discount - ) -> void - - def to_hash: -> { - id: String, - adjustment_type: :percentage_discount, - applies_to_price_ids: ::Array[String], - filters: ::Array[Orb::Models::Plans::VersionCreateResponse::Adjustment::PercentageDiscount::Filter], - is_invoice_level: bool, - percentage_discount: Float, - plan_phase_order: Integer?, - reason: String? - } - - type filter = - { - field: Orb::Models::Plans::VersionCreateResponse::Adjustment::PercentageDiscount::Filter::field, - operator: Orb::Models::Plans::VersionCreateResponse::Adjustment::PercentageDiscount::Filter::operator, - values: ::Array[String] - } - - class Filter < Orb::Internal::Type::BaseModel - attr_accessor field: Orb::Models::Plans::VersionCreateResponse::Adjustment::PercentageDiscount::Filter::field - - attr_accessor operator: Orb::Models::Plans::VersionCreateResponse::Adjustment::PercentageDiscount::Filter::operator - - attr_accessor values: ::Array[String] - - def initialize: ( - field: Orb::Models::Plans::VersionCreateResponse::Adjustment::PercentageDiscount::Filter::field, - operator: Orb::Models::Plans::VersionCreateResponse::Adjustment::PercentageDiscount::Filter::operator, - values: ::Array[String] - ) -> void - - def to_hash: -> { - field: Orb::Models::Plans::VersionCreateResponse::Adjustment::PercentageDiscount::Filter::field, - operator: Orb::Models::Plans::VersionCreateResponse::Adjustment::PercentageDiscount::Filter::operator, - values: ::Array[String] - } - - type field = - :price_id - | :item_id - | :price_type - | :currency - | :pricing_unit_id - - module Field - extend Orb::Internal::Type::Enum - - PRICE_ID: :price_id - ITEM_ID: :item_id - PRICE_TYPE: :price_type - CURRENCY: :currency - PRICING_UNIT_ID: :pricing_unit_id - - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateResponse::Adjustment::PercentageDiscount::Filter::field] - end - - type operator = :includes | :excludes - - module Operator - extend Orb::Internal::Type::Enum - - INCLUDES: :includes - EXCLUDES: :excludes - - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateResponse::Adjustment::PercentageDiscount::Filter::operator] - end - end - end - - type minimum = - { - id: String, - adjustment_type: :minimum, - applies_to_price_ids: ::Array[String], - filters: ::Array[Orb::Models::Plans::VersionCreateResponse::Adjustment::Minimum::Filter], - is_invoice_level: bool, - item_id: String, - minimum_amount: String, - plan_phase_order: Integer?, - reason: String? - } - - class Minimum < Orb::Internal::Type::BaseModel - attr_accessor id: String - - attr_accessor adjustment_type: :minimum - - attr_accessor applies_to_price_ids: ::Array[String] - - attr_accessor filters: ::Array[Orb::Models::Plans::VersionCreateResponse::Adjustment::Minimum::Filter] - - attr_accessor is_invoice_level: bool - - attr_accessor item_id: String - - attr_accessor minimum_amount: String - - attr_accessor plan_phase_order: Integer? - - attr_accessor reason: String? - - def initialize: ( - id: String, - applies_to_price_ids: ::Array[String], - filters: ::Array[Orb::Models::Plans::VersionCreateResponse::Adjustment::Minimum::Filter], - is_invoice_level: bool, - item_id: String, - minimum_amount: String, - plan_phase_order: Integer?, - reason: String?, - ?adjustment_type: :minimum - ) -> void - - def to_hash: -> { - id: String, - adjustment_type: :minimum, - applies_to_price_ids: ::Array[String], - filters: ::Array[Orb::Models::Plans::VersionCreateResponse::Adjustment::Minimum::Filter], - is_invoice_level: bool, - item_id: String, - minimum_amount: String, - plan_phase_order: Integer?, - reason: String? - } - - type filter = - { - field: Orb::Models::Plans::VersionCreateResponse::Adjustment::Minimum::Filter::field, - operator: Orb::Models::Plans::VersionCreateResponse::Adjustment::Minimum::Filter::operator, - values: ::Array[String] - } - - class Filter < Orb::Internal::Type::BaseModel - attr_accessor field: Orb::Models::Plans::VersionCreateResponse::Adjustment::Minimum::Filter::field - - attr_accessor operator: Orb::Models::Plans::VersionCreateResponse::Adjustment::Minimum::Filter::operator - - attr_accessor values: ::Array[String] - - def initialize: ( - field: Orb::Models::Plans::VersionCreateResponse::Adjustment::Minimum::Filter::field, - operator: Orb::Models::Plans::VersionCreateResponse::Adjustment::Minimum::Filter::operator, - values: ::Array[String] - ) -> void - - def to_hash: -> { - field: Orb::Models::Plans::VersionCreateResponse::Adjustment::Minimum::Filter::field, - operator: Orb::Models::Plans::VersionCreateResponse::Adjustment::Minimum::Filter::operator, - values: ::Array[String] - } - - type field = - :price_id - | :item_id - | :price_type - | :currency - | :pricing_unit_id - - module Field - extend Orb::Internal::Type::Enum - - PRICE_ID: :price_id - ITEM_ID: :item_id - PRICE_TYPE: :price_type - CURRENCY: :currency - PRICING_UNIT_ID: :pricing_unit_id - - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateResponse::Adjustment::Minimum::Filter::field] - end - - type operator = :includes | :excludes - - module Operator - extend Orb::Internal::Type::Enum - - INCLUDES: :includes - EXCLUDES: :excludes - - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateResponse::Adjustment::Minimum::Filter::operator] - end - end - end - - type maximum = - { - id: String, - adjustment_type: :maximum, - applies_to_price_ids: ::Array[String], - filters: ::Array[Orb::Models::Plans::VersionCreateResponse::Adjustment::Maximum::Filter], - is_invoice_level: bool, - maximum_amount: String, - plan_phase_order: Integer?, - reason: String? - } - - class Maximum < Orb::Internal::Type::BaseModel - attr_accessor id: String - - attr_accessor adjustment_type: :maximum - - attr_accessor applies_to_price_ids: ::Array[String] - - attr_accessor filters: ::Array[Orb::Models::Plans::VersionCreateResponse::Adjustment::Maximum::Filter] - - attr_accessor is_invoice_level: bool - - attr_accessor maximum_amount: String - - attr_accessor plan_phase_order: Integer? - - attr_accessor reason: String? - - def initialize: ( - id: String, - applies_to_price_ids: ::Array[String], - filters: ::Array[Orb::Models::Plans::VersionCreateResponse::Adjustment::Maximum::Filter], - is_invoice_level: bool, - maximum_amount: String, - plan_phase_order: Integer?, - reason: String?, - ?adjustment_type: :maximum - ) -> void - - def to_hash: -> { - id: String, - adjustment_type: :maximum, - applies_to_price_ids: ::Array[String], - filters: ::Array[Orb::Models::Plans::VersionCreateResponse::Adjustment::Maximum::Filter], - is_invoice_level: bool, - maximum_amount: String, - plan_phase_order: Integer?, - reason: String? - } - - type filter = - { - field: Orb::Models::Plans::VersionCreateResponse::Adjustment::Maximum::Filter::field, - operator: Orb::Models::Plans::VersionCreateResponse::Adjustment::Maximum::Filter::operator, - values: ::Array[String] - } - - class Filter < Orb::Internal::Type::BaseModel - attr_accessor field: Orb::Models::Plans::VersionCreateResponse::Adjustment::Maximum::Filter::field - - attr_accessor operator: Orb::Models::Plans::VersionCreateResponse::Adjustment::Maximum::Filter::operator - - attr_accessor values: ::Array[String] - - def initialize: ( - field: Orb::Models::Plans::VersionCreateResponse::Adjustment::Maximum::Filter::field, - operator: Orb::Models::Plans::VersionCreateResponse::Adjustment::Maximum::Filter::operator, - values: ::Array[String] - ) -> void - - def to_hash: -> { - field: Orb::Models::Plans::VersionCreateResponse::Adjustment::Maximum::Filter::field, - operator: Orb::Models::Plans::VersionCreateResponse::Adjustment::Maximum::Filter::operator, - values: ::Array[String] - } - - type field = - :price_id - | :item_id - | :price_type - | :currency - | :pricing_unit_id - - module Field - extend Orb::Internal::Type::Enum - - PRICE_ID: :price_id - ITEM_ID: :item_id - PRICE_TYPE: :price_type - CURRENCY: :currency - PRICING_UNIT_ID: :pricing_unit_id - - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateResponse::Adjustment::Maximum::Filter::field] - end - - type operator = :includes | :excludes - - module Operator - extend Orb::Internal::Type::Enum - - INCLUDES: :includes - EXCLUDES: :excludes - - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateResponse::Adjustment::Maximum::Filter::operator] - end - end - end - - def self?.variants: -> ::Array[Orb::Models::Plans::VersionCreateResponse::adjustment] - end - - type plan_phase = - { - id: String, - description: String?, - duration: Integer?, - duration_unit: Orb::Models::Plans::VersionCreateResponse::PlanPhase::duration_unit?, - name: String, - order: Integer - } - - class PlanPhase < Orb::Internal::Type::BaseModel - attr_accessor id: String - - attr_accessor description: String? - - attr_accessor duration: Integer? - - attr_accessor duration_unit: Orb::Models::Plans::VersionCreateResponse::PlanPhase::duration_unit? - - attr_accessor name: String - - attr_accessor order: Integer - - def initialize: ( - id: String, - description: String?, - duration: Integer?, - duration_unit: Orb::Models::Plans::VersionCreateResponse::PlanPhase::duration_unit?, - name: String, - order: Integer - ) -> void - - def to_hash: -> { - id: String, - description: String?, - duration: Integer?, - duration_unit: Orb::Models::Plans::VersionCreateResponse::PlanPhase::duration_unit?, - name: String, - order: Integer - } - - type duration_unit = - :daily | :monthly | :quarterly | :semi_annual | :annual - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAILY: :daily - MONTHLY: :monthly - QUARTERLY: :quarterly - SEMI_ANNUAL: :semi_annual - ANNUAL: :annual - - def self?.values: -> ::Array[Orb::Models::Plans::VersionCreateResponse::PlanPhase::duration_unit] - end - end - end - end - end -end diff --git a/sig/orb/models/plans/version_retrieve_response.rbs b/sig/orb/models/plans/version_retrieve_response.rbs deleted file mode 100644 index 0ea79eae..00000000 --- a/sig/orb/models/plans/version_retrieve_response.rbs +++ /dev/null @@ -1,662 +0,0 @@ -module Orb - module Models - module Plans - type version_retrieve_response = - { - adjustments: ::Array[Orb::Models::Plans::VersionRetrieveResponse::adjustment], - created_at: Time, - plan_phases: ::Array[Orb::Models::Plans::VersionRetrieveResponse::PlanPhase]?, - prices: ::Array[Orb::Models::price], - version: Integer - } - - class VersionRetrieveResponse < Orb::Internal::Type::BaseModel - attr_accessor adjustments: ::Array[Orb::Models::Plans::VersionRetrieveResponse::adjustment] - - attr_accessor created_at: Time - - attr_accessor plan_phases: ::Array[Orb::Models::Plans::VersionRetrieveResponse::PlanPhase]? - - attr_accessor prices: ::Array[Orb::Models::price] - - attr_accessor version: Integer - - def initialize: ( - adjustments: ::Array[Orb::Models::Plans::VersionRetrieveResponse::adjustment], - created_at: Time, - plan_phases: ::Array[Orb::Models::Plans::VersionRetrieveResponse::PlanPhase]?, - prices: ::Array[Orb::Models::price], - version: Integer - ) -> void - - def to_hash: -> { - adjustments: ::Array[Orb::Models::Plans::VersionRetrieveResponse::adjustment], - created_at: Time, - plan_phases: ::Array[Orb::Models::Plans::VersionRetrieveResponse::PlanPhase]?, - prices: ::Array[Orb::Models::price], - version: Integer - } - - type adjustment = - Orb::Models::Plans::VersionRetrieveResponse::Adjustment::UsageDiscount - | Orb::Models::Plans::VersionRetrieveResponse::Adjustment::AmountDiscount - | Orb::Models::Plans::VersionRetrieveResponse::Adjustment::PercentageDiscount - | Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Minimum - | Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Maximum - - module Adjustment - extend Orb::Internal::Type::Union - - type usage_discount = - { - id: String, - adjustment_type: :usage_discount, - applies_to_price_ids: ::Array[String], - filters: ::Array[Orb::Models::Plans::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter], - is_invoice_level: bool, - plan_phase_order: Integer?, - reason: String?, - usage_discount: Float - } - - class UsageDiscount < Orb::Internal::Type::BaseModel - attr_accessor id: String - - attr_accessor adjustment_type: :usage_discount - - attr_accessor applies_to_price_ids: ::Array[String] - - attr_accessor filters: ::Array[Orb::Models::Plans::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter] - - attr_accessor is_invoice_level: bool - - attr_accessor plan_phase_order: Integer? - - attr_accessor reason: String? - - attr_accessor usage_discount: Float - - def initialize: ( - id: String, - applies_to_price_ids: ::Array[String], - filters: ::Array[Orb::Models::Plans::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter], - is_invoice_level: bool, - plan_phase_order: Integer?, - reason: String?, - usage_discount: Float, - ?adjustment_type: :usage_discount - ) -> void - - def to_hash: -> { - id: String, - adjustment_type: :usage_discount, - applies_to_price_ids: ::Array[String], - filters: ::Array[Orb::Models::Plans::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter], - is_invoice_level: bool, - plan_phase_order: Integer?, - reason: String?, - usage_discount: Float - } - - type filter = - { - field: Orb::Models::Plans::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter::field, - operator: Orb::Models::Plans::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter::operator, - values: ::Array[String] - } - - class Filter < Orb::Internal::Type::BaseModel - attr_accessor field: Orb::Models::Plans::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter::field - - attr_accessor operator: Orb::Models::Plans::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter::operator - - attr_accessor values: ::Array[String] - - def initialize: ( - field: Orb::Models::Plans::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter::field, - operator: Orb::Models::Plans::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter::operator, - values: ::Array[String] - ) -> void - - def to_hash: -> { - field: Orb::Models::Plans::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter::field, - operator: Orb::Models::Plans::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter::operator, - values: ::Array[String] - } - - type field = - :price_id - | :item_id - | :price_type - | :currency - | :pricing_unit_id - - module Field - extend Orb::Internal::Type::Enum - - PRICE_ID: :price_id - ITEM_ID: :item_id - PRICE_TYPE: :price_type - CURRENCY: :currency - PRICING_UNIT_ID: :pricing_unit_id - - def self?.values: -> ::Array[Orb::Models::Plans::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter::field] - end - - type operator = :includes | :excludes - - module Operator - extend Orb::Internal::Type::Enum - - INCLUDES: :includes - EXCLUDES: :excludes - - def self?.values: -> ::Array[Orb::Models::Plans::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter::operator] - end - end - end - - type amount_discount = - { - id: String, - adjustment_type: :amount_discount, - amount_discount: String, - applies_to_price_ids: ::Array[String], - filters: ::Array[Orb::Models::Plans::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter], - is_invoice_level: bool, - plan_phase_order: Integer?, - reason: String? - } - - class AmountDiscount < Orb::Internal::Type::BaseModel - attr_accessor id: String - - attr_accessor adjustment_type: :amount_discount - - attr_accessor amount_discount: String - - attr_accessor applies_to_price_ids: ::Array[String] - - attr_accessor filters: ::Array[Orb::Models::Plans::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter] - - attr_accessor is_invoice_level: bool - - attr_accessor plan_phase_order: Integer? - - attr_accessor reason: String? - - def initialize: ( - id: String, - amount_discount: String, - applies_to_price_ids: ::Array[String], - filters: ::Array[Orb::Models::Plans::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter], - is_invoice_level: bool, - plan_phase_order: Integer?, - reason: String?, - ?adjustment_type: :amount_discount - ) -> void - - def to_hash: -> { - id: String, - adjustment_type: :amount_discount, - amount_discount: String, - applies_to_price_ids: ::Array[String], - filters: ::Array[Orb::Models::Plans::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter], - is_invoice_level: bool, - plan_phase_order: Integer?, - reason: String? - } - - type filter = - { - field: Orb::Models::Plans::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter::field, - operator: Orb::Models::Plans::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter::operator, - values: ::Array[String] - } - - class Filter < Orb::Internal::Type::BaseModel - attr_accessor field: Orb::Models::Plans::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter::field - - attr_accessor operator: Orb::Models::Plans::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter::operator - - attr_accessor values: ::Array[String] - - def initialize: ( - field: Orb::Models::Plans::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter::field, - operator: Orb::Models::Plans::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter::operator, - values: ::Array[String] - ) -> void - - def to_hash: -> { - field: Orb::Models::Plans::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter::field, - operator: Orb::Models::Plans::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter::operator, - values: ::Array[String] - } - - type field = - :price_id - | :item_id - | :price_type - | :currency - | :pricing_unit_id - - module Field - extend Orb::Internal::Type::Enum - - PRICE_ID: :price_id - ITEM_ID: :item_id - PRICE_TYPE: :price_type - CURRENCY: :currency - PRICING_UNIT_ID: :pricing_unit_id - - def self?.values: -> ::Array[Orb::Models::Plans::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter::field] - end - - type operator = :includes | :excludes - - module Operator - extend Orb::Internal::Type::Enum - - INCLUDES: :includes - EXCLUDES: :excludes - - def self?.values: -> ::Array[Orb::Models::Plans::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter::operator] - end - end - end - - type percentage_discount = - { - id: String, - adjustment_type: :percentage_discount, - applies_to_price_ids: ::Array[String], - filters: ::Array[Orb::Models::Plans::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter], - is_invoice_level: bool, - percentage_discount: Float, - plan_phase_order: Integer?, - reason: String? - } - - class PercentageDiscount < Orb::Internal::Type::BaseModel - attr_accessor id: String - - attr_accessor adjustment_type: :percentage_discount - - attr_accessor applies_to_price_ids: ::Array[String] - - attr_accessor filters: ::Array[Orb::Models::Plans::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter] - - attr_accessor is_invoice_level: bool - - attr_accessor percentage_discount: Float - - attr_accessor plan_phase_order: Integer? - - attr_accessor reason: String? - - def initialize: ( - id: String, - applies_to_price_ids: ::Array[String], - filters: ::Array[Orb::Models::Plans::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter], - is_invoice_level: bool, - percentage_discount: Float, - plan_phase_order: Integer?, - reason: String?, - ?adjustment_type: :percentage_discount - ) -> void - - def to_hash: -> { - id: String, - adjustment_type: :percentage_discount, - applies_to_price_ids: ::Array[String], - filters: ::Array[Orb::Models::Plans::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter], - is_invoice_level: bool, - percentage_discount: Float, - plan_phase_order: Integer?, - reason: String? - } - - type filter = - { - field: Orb::Models::Plans::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter::field, - operator: Orb::Models::Plans::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter::operator, - values: ::Array[String] - } - - class Filter < Orb::Internal::Type::BaseModel - attr_accessor field: Orb::Models::Plans::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter::field - - attr_accessor operator: Orb::Models::Plans::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter::operator - - attr_accessor values: ::Array[String] - - def initialize: ( - field: Orb::Models::Plans::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter::field, - operator: Orb::Models::Plans::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter::operator, - values: ::Array[String] - ) -> void - - def to_hash: -> { - field: Orb::Models::Plans::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter::field, - operator: Orb::Models::Plans::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter::operator, - values: ::Array[String] - } - - type field = - :price_id - | :item_id - | :price_type - | :currency - | :pricing_unit_id - - module Field - extend Orb::Internal::Type::Enum - - PRICE_ID: :price_id - ITEM_ID: :item_id - PRICE_TYPE: :price_type - CURRENCY: :currency - PRICING_UNIT_ID: :pricing_unit_id - - def self?.values: -> ::Array[Orb::Models::Plans::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter::field] - end - - type operator = :includes | :excludes - - module Operator - extend Orb::Internal::Type::Enum - - INCLUDES: :includes - EXCLUDES: :excludes - - def self?.values: -> ::Array[Orb::Models::Plans::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter::operator] - end - end - end - - type minimum = - { - id: String, - adjustment_type: :minimum, - applies_to_price_ids: ::Array[String], - filters: ::Array[Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Minimum::Filter], - is_invoice_level: bool, - item_id: String, - minimum_amount: String, - plan_phase_order: Integer?, - reason: String? - } - - class Minimum < Orb::Internal::Type::BaseModel - attr_accessor id: String - - attr_accessor adjustment_type: :minimum - - attr_accessor applies_to_price_ids: ::Array[String] - - attr_accessor filters: ::Array[Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Minimum::Filter] - - attr_accessor is_invoice_level: bool - - attr_accessor item_id: String - - attr_accessor minimum_amount: String - - attr_accessor plan_phase_order: Integer? - - attr_accessor reason: String? - - def initialize: ( - id: String, - applies_to_price_ids: ::Array[String], - filters: ::Array[Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Minimum::Filter], - is_invoice_level: bool, - item_id: String, - minimum_amount: String, - plan_phase_order: Integer?, - reason: String?, - ?adjustment_type: :minimum - ) -> void - - def to_hash: -> { - id: String, - adjustment_type: :minimum, - applies_to_price_ids: ::Array[String], - filters: ::Array[Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Minimum::Filter], - is_invoice_level: bool, - item_id: String, - minimum_amount: String, - plan_phase_order: Integer?, - reason: String? - } - - type filter = - { - field: Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Minimum::Filter::field, - operator: Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Minimum::Filter::operator, - values: ::Array[String] - } - - class Filter < Orb::Internal::Type::BaseModel - attr_accessor field: Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Minimum::Filter::field - - attr_accessor operator: Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Minimum::Filter::operator - - attr_accessor values: ::Array[String] - - def initialize: ( - field: Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Minimum::Filter::field, - operator: Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Minimum::Filter::operator, - values: ::Array[String] - ) -> void - - def to_hash: -> { - field: Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Minimum::Filter::field, - operator: Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Minimum::Filter::operator, - values: ::Array[String] - } - - type field = - :price_id - | :item_id - | :price_type - | :currency - | :pricing_unit_id - - module Field - extend Orb::Internal::Type::Enum - - PRICE_ID: :price_id - ITEM_ID: :item_id - PRICE_TYPE: :price_type - CURRENCY: :currency - PRICING_UNIT_ID: :pricing_unit_id - - def self?.values: -> ::Array[Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Minimum::Filter::field] - end - - type operator = :includes | :excludes - - module Operator - extend Orb::Internal::Type::Enum - - INCLUDES: :includes - EXCLUDES: :excludes - - def self?.values: -> ::Array[Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Minimum::Filter::operator] - end - end - end - - type maximum = - { - id: String, - adjustment_type: :maximum, - applies_to_price_ids: ::Array[String], - filters: ::Array[Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Maximum::Filter], - is_invoice_level: bool, - maximum_amount: String, - plan_phase_order: Integer?, - reason: String? - } - - class Maximum < Orb::Internal::Type::BaseModel - attr_accessor id: String - - attr_accessor adjustment_type: :maximum - - attr_accessor applies_to_price_ids: ::Array[String] - - attr_accessor filters: ::Array[Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Maximum::Filter] - - attr_accessor is_invoice_level: bool - - attr_accessor maximum_amount: String - - attr_accessor plan_phase_order: Integer? - - attr_accessor reason: String? - - def initialize: ( - id: String, - applies_to_price_ids: ::Array[String], - filters: ::Array[Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Maximum::Filter], - is_invoice_level: bool, - maximum_amount: String, - plan_phase_order: Integer?, - reason: String?, - ?adjustment_type: :maximum - ) -> void - - def to_hash: -> { - id: String, - adjustment_type: :maximum, - applies_to_price_ids: ::Array[String], - filters: ::Array[Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Maximum::Filter], - is_invoice_level: bool, - maximum_amount: String, - plan_phase_order: Integer?, - reason: String? - } - - type filter = - { - field: Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Maximum::Filter::field, - operator: Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Maximum::Filter::operator, - values: ::Array[String] - } - - class Filter < Orb::Internal::Type::BaseModel - attr_accessor field: Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Maximum::Filter::field - - attr_accessor operator: Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Maximum::Filter::operator - - attr_accessor values: ::Array[String] - - def initialize: ( - field: Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Maximum::Filter::field, - operator: Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Maximum::Filter::operator, - values: ::Array[String] - ) -> void - - def to_hash: -> { - field: Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Maximum::Filter::field, - operator: Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Maximum::Filter::operator, - values: ::Array[String] - } - - type field = - :price_id - | :item_id - | :price_type - | :currency - | :pricing_unit_id - - module Field - extend Orb::Internal::Type::Enum - - PRICE_ID: :price_id - ITEM_ID: :item_id - PRICE_TYPE: :price_type - CURRENCY: :currency - PRICING_UNIT_ID: :pricing_unit_id - - def self?.values: -> ::Array[Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Maximum::Filter::field] - end - - type operator = :includes | :excludes - - module Operator - extend Orb::Internal::Type::Enum - - INCLUDES: :includes - EXCLUDES: :excludes - - def self?.values: -> ::Array[Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Maximum::Filter::operator] - end - end - end - - def self?.variants: -> ::Array[Orb::Models::Plans::VersionRetrieveResponse::adjustment] - end - - type plan_phase = - { - id: String, - description: String?, - duration: Integer?, - duration_unit: Orb::Models::Plans::VersionRetrieveResponse::PlanPhase::duration_unit?, - name: String, - order: Integer - } - - class PlanPhase < Orb::Internal::Type::BaseModel - attr_accessor id: String - - attr_accessor description: String? - - attr_accessor duration: Integer? - - attr_accessor duration_unit: Orb::Models::Plans::VersionRetrieveResponse::PlanPhase::duration_unit? - - attr_accessor name: String - - attr_accessor order: Integer - - def initialize: ( - id: String, - description: String?, - duration: Integer?, - duration_unit: Orb::Models::Plans::VersionRetrieveResponse::PlanPhase::duration_unit?, - name: String, - order: Integer - ) -> void - - def to_hash: -> { - id: String, - description: String?, - duration: Integer?, - duration_unit: Orb::Models::Plans::VersionRetrieveResponse::PlanPhase::duration_unit?, - name: String, - order: Integer - } - - type duration_unit = - :daily | :monthly | :quarterly | :semi_annual | :annual - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAILY: :daily - MONTHLY: :monthly - QUARTERLY: :quarterly - SEMI_ANNUAL: :semi_annual - ANNUAL: :annual - - def self?.values: -> ::Array[Orb::Models::Plans::VersionRetrieveResponse::PlanPhase::duration_unit] - end - end - end - end - end -end diff --git a/sig/orb/models/price_evaluate_multiple_params.rbs b/sig/orb/models/price_evaluate_multiple_params.rbs new file mode 100644 index 00000000..ff49ff9d --- /dev/null +++ b/sig/orb/models/price_evaluate_multiple_params.rbs @@ -0,0 +1,6230 @@ +module Orb + module Models + type price_evaluate_multiple_params = + { + timeframe_end: Time, + timeframe_start: Time, + customer_id: String?, + events: ::Array[Orb::PriceEvaluateMultipleParams::Event]?, + external_customer_id: String?, + price_evaluations: ::Array[Orb::PriceEvaluateMultipleParams::PriceEvaluation] + } + & Orb::Internal::Type::request_parameters + + class PriceEvaluateMultipleParams < Orb::Internal::Type::BaseModel + extend Orb::Internal::Type::RequestParameters::Converter + include Orb::Internal::Type::RequestParameters + + attr_accessor timeframe_end: Time + + attr_accessor timeframe_start: Time + + attr_accessor customer_id: String? + + attr_accessor events: ::Array[Orb::PriceEvaluateMultipleParams::Event]? + + attr_accessor external_customer_id: String? + + attr_reader price_evaluations: ::Array[Orb::PriceEvaluateMultipleParams::PriceEvaluation]? + + def price_evaluations=: ( + ::Array[Orb::PriceEvaluateMultipleParams::PriceEvaluation] + ) -> ::Array[Orb::PriceEvaluateMultipleParams::PriceEvaluation] + + def initialize: ( + timeframe_end: Time, + timeframe_start: Time, + ?customer_id: String?, + ?events: ::Array[Orb::PriceEvaluateMultipleParams::Event]?, + ?external_customer_id: String?, + ?price_evaluations: ::Array[Orb::PriceEvaluateMultipleParams::PriceEvaluation], + ?request_options: Orb::request_opts + ) -> void + + def to_hash: -> { + timeframe_end: Time, + timeframe_start: Time, + customer_id: String?, + events: ::Array[Orb::PriceEvaluateMultipleParams::Event]?, + external_customer_id: String?, + price_evaluations: ::Array[Orb::PriceEvaluateMultipleParams::PriceEvaluation], + request_options: Orb::RequestOptions + } + + type event = + { + event_name: String, + properties: top, + timestamp: Time, + customer_id: String?, + external_customer_id: String? + } + + class Event < Orb::Internal::Type::BaseModel + attr_accessor event_name: String + + attr_accessor properties: top + + attr_accessor timestamp: Time + + attr_accessor customer_id: String? + + attr_accessor external_customer_id: String? + + def initialize: ( + event_name: String, + properties: top, + timestamp: Time, + ?customer_id: String?, + ?external_customer_id: String? + ) -> void + + def to_hash: -> { + event_name: String, + properties: top, + timestamp: Time, + customer_id: String?, + external_customer_id: String? + } + end + + type price_evaluation = + { + filter: String?, + grouping_keys: ::Array[String], + price: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::price?, + price_id: String? + } + + class PriceEvaluation < Orb::Internal::Type::BaseModel + attr_accessor filter: String? + + attr_reader grouping_keys: ::Array[String]? + + def grouping_keys=: (::Array[String]) -> ::Array[String] + + attr_accessor price: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::price? + + attr_accessor price_id: String? + + def initialize: ( + ?filter: String?, + ?grouping_keys: ::Array[String], + ?price: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::price?, + ?price_id: String? + ) -> void + + def to_hash: -> { + filter: String?, + grouping_keys: ::Array[String], + price: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::price?, + price_id: String? + } + + type price = + Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit + | Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package + | Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix + | Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation + | Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered + | Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps + | Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps + | Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps + | Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk + | Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount + | Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage + | Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered + | Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage + | Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum + | Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation + | Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum + | Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent + | Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration + | Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration + | Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation + | Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum + | Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum + | Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName + | Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration + | Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage + | Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing + | Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing + | Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk + + module Price + extend Orb::Internal::Type::Union + + type unit = + { + cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::cadence, + currency: String, + item_id: String, + model_type: :unit, + name: String, + unit_config: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::UnitConfig, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::BillingCycleConfiguration?, + conversion_rate: Float?, + dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + class Unit < Orb::Internal::Type::BaseModel + attr_accessor cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::cadence + + attr_accessor currency: String + + attr_accessor item_id: String + + attr_accessor model_type: :unit + + attr_accessor name: String + + attr_accessor unit_config: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::UnitConfig + + attr_accessor billable_metric_id: String? + + attr_accessor billed_in_advance: bool? + + attr_accessor billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::BillingCycleConfiguration? + + attr_accessor conversion_rate: Float? + + attr_accessor dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::DimensionalPriceConfiguration? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoice_grouping_key: String? + + attr_accessor invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::InvoicingCycleConfiguration? + + attr_accessor metadata: ::Hash[Symbol, String?]? + + def initialize: ( + cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::cadence, + currency: String, + item_id: String, + name: String, + unit_config: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::UnitConfig, + ?billable_metric_id: String?, + ?billed_in_advance: bool?, + ?billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::BillingCycleConfiguration?, + ?conversion_rate: Float?, + ?dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::DimensionalPriceConfiguration?, + ?external_price_id: String?, + ?fixed_price_quantity: Float?, + ?invoice_grouping_key: String?, + ?invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::InvoicingCycleConfiguration?, + ?metadata: ::Hash[Symbol, String?]?, + ?model_type: :unit + ) -> void + + def to_hash: -> { + cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::cadence, + currency: String, + item_id: String, + model_type: :unit, + name: String, + unit_config: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::UnitConfig, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::BillingCycleConfiguration?, + conversion_rate: Float?, + dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + type cadence = + :annual + | :semi_annual + | :monthly + | :quarterly + | :one_time + | :custom + + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL: :annual + SEMI_ANNUAL: :semi_annual + MONTHLY: :monthly + QUARTERLY: :quarterly + ONE_TIME: :one_time + CUSTOM: :custom + + def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::cadence] + end + + type unit_config = { unit_amount: String } + + class UnitConfig < Orb::Internal::Type::BaseModel + attr_accessor unit_amount: String + + def initialize: (unit_amount: String) -> void + + def to_hash: -> { unit_amount: String } + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::BillingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::BillingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::BillingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::BillingCycleConfiguration::duration_unit] + end + end + + type dimensional_price_configuration = + { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String] + + attr_accessor dimensional_price_group_id: String? + + attr_accessor external_dimensional_price_group_id: String? + + def initialize: ( + dimension_values: ::Array[String], + ?dimensional_price_group_id: String?, + ?external_dimensional_price_group_id: String? + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::InvoicingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::InvoicingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::InvoicingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Unit::InvoicingCycleConfiguration::duration_unit] + end + end + end + + type package = + { + cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::cadence, + currency: String, + item_id: String, + model_type: :package, + name: String, + package_config: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::PackageConfig, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::BillingCycleConfiguration?, + conversion_rate: Float?, + dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + class Package < Orb::Internal::Type::BaseModel + attr_accessor cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::cadence + + attr_accessor currency: String + + attr_accessor item_id: String + + attr_accessor model_type: :package + + attr_accessor name: String + + attr_accessor package_config: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::PackageConfig + + attr_accessor billable_metric_id: String? + + attr_accessor billed_in_advance: bool? + + attr_accessor billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::BillingCycleConfiguration? + + attr_accessor conversion_rate: Float? + + attr_accessor dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::DimensionalPriceConfiguration? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoice_grouping_key: String? + + attr_accessor invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::InvoicingCycleConfiguration? + + attr_accessor metadata: ::Hash[Symbol, String?]? + + def initialize: ( + cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::cadence, + currency: String, + item_id: String, + name: String, + package_config: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::PackageConfig, + ?billable_metric_id: String?, + ?billed_in_advance: bool?, + ?billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::BillingCycleConfiguration?, + ?conversion_rate: Float?, + ?dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::DimensionalPriceConfiguration?, + ?external_price_id: String?, + ?fixed_price_quantity: Float?, + ?invoice_grouping_key: String?, + ?invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::InvoicingCycleConfiguration?, + ?metadata: ::Hash[Symbol, String?]?, + ?model_type: :package + ) -> void + + def to_hash: -> { + cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::cadence, + currency: String, + item_id: String, + model_type: :package, + name: String, + package_config: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::PackageConfig, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::BillingCycleConfiguration?, + conversion_rate: Float?, + dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + type cadence = + :annual + | :semi_annual + | :monthly + | :quarterly + | :one_time + | :custom + + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL: :annual + SEMI_ANNUAL: :semi_annual + MONTHLY: :monthly + QUARTERLY: :quarterly + ONE_TIME: :one_time + CUSTOM: :custom + + def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::cadence] + end + + type package_config = + { package_amount: String, package_size: Integer } + + class PackageConfig < Orb::Internal::Type::BaseModel + attr_accessor package_amount: String + + attr_accessor package_size: Integer + + def initialize: ( + package_amount: String, + package_size: Integer + ) -> void + + def to_hash: -> { package_amount: String, package_size: Integer } + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::BillingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::BillingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::BillingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::BillingCycleConfiguration::duration_unit] + end + end + + type dimensional_price_configuration = + { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String] + + attr_accessor dimensional_price_group_id: String? + + attr_accessor external_dimensional_price_group_id: String? + + def initialize: ( + dimension_values: ::Array[String], + ?dimensional_price_group_id: String?, + ?external_dimensional_price_group_id: String? + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::InvoicingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::InvoicingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::InvoicingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Package::InvoicingCycleConfiguration::duration_unit] + end + end + end + + type matrix = + { + cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::cadence, + currency: String, + item_id: String, + matrix_config: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::MatrixConfig, + model_type: :matrix, + name: String, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::BillingCycleConfiguration?, + conversion_rate: Float?, + dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + class Matrix < Orb::Internal::Type::BaseModel + attr_accessor cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::cadence + + attr_accessor currency: String + + attr_accessor item_id: String + + attr_accessor matrix_config: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::MatrixConfig + + attr_accessor model_type: :matrix + + attr_accessor name: String + + attr_accessor billable_metric_id: String? + + attr_accessor billed_in_advance: bool? + + attr_accessor billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::BillingCycleConfiguration? + + attr_accessor conversion_rate: Float? + + attr_accessor dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::DimensionalPriceConfiguration? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoice_grouping_key: String? + + attr_accessor invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::InvoicingCycleConfiguration? + + attr_accessor metadata: ::Hash[Symbol, String?]? + + def initialize: ( + cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::cadence, + currency: String, + item_id: String, + matrix_config: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::MatrixConfig, + name: String, + ?billable_metric_id: String?, + ?billed_in_advance: bool?, + ?billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::BillingCycleConfiguration?, + ?conversion_rate: Float?, + ?dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::DimensionalPriceConfiguration?, + ?external_price_id: String?, + ?fixed_price_quantity: Float?, + ?invoice_grouping_key: String?, + ?invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::InvoicingCycleConfiguration?, + ?metadata: ::Hash[Symbol, String?]?, + ?model_type: :matrix + ) -> void + + def to_hash: -> { + cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::cadence, + currency: String, + item_id: String, + matrix_config: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::MatrixConfig, + model_type: :matrix, + name: String, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::BillingCycleConfiguration?, + conversion_rate: Float?, + dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + type cadence = + :annual + | :semi_annual + | :monthly + | :quarterly + | :one_time + | :custom + + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL: :annual + SEMI_ANNUAL: :semi_annual + MONTHLY: :monthly + QUARTERLY: :quarterly + ONE_TIME: :one_time + CUSTOM: :custom + + def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::cadence] + end + + type matrix_config = + { + default_unit_amount: String, + dimensions: ::Array[String?], + matrix_values: ::Array[Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::MatrixConfig::MatrixValue] + } + + class MatrixConfig < Orb::Internal::Type::BaseModel + attr_accessor default_unit_amount: String + + attr_accessor dimensions: ::Array[String?] + + attr_accessor matrix_values: ::Array[Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::MatrixConfig::MatrixValue] + + def initialize: ( + default_unit_amount: String, + dimensions: ::Array[String?], + matrix_values: ::Array[Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::MatrixConfig::MatrixValue] + ) -> void + + def to_hash: -> { + default_unit_amount: String, + dimensions: ::Array[String?], + matrix_values: ::Array[Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::MatrixConfig::MatrixValue] + } + + type matrix_value = + { dimension_values: ::Array[String?], unit_amount: String } + + class MatrixValue < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String?] + + attr_accessor unit_amount: String + + def initialize: ( + dimension_values: ::Array[String?], + unit_amount: String + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String?], + unit_amount: String + } + end + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::BillingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::BillingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::BillingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::BillingCycleConfiguration::duration_unit] + end + end + + type dimensional_price_configuration = + { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String] + + attr_accessor dimensional_price_group_id: String? + + attr_accessor external_dimensional_price_group_id: String? + + def initialize: ( + dimension_values: ::Array[String], + ?dimensional_price_group_id: String?, + ?external_dimensional_price_group_id: String? + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::InvoicingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::InvoicingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::InvoicingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Matrix::InvoicingCycleConfiguration::duration_unit] + end + end + end + + type matrix_with_allocation = + { + cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::cadence, + currency: String, + item_id: String, + matrix_with_allocation_config: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::MatrixWithAllocationConfig, + model_type: :matrix_with_allocation, + name: String, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::BillingCycleConfiguration?, + conversion_rate: Float?, + dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + class MatrixWithAllocation < Orb::Internal::Type::BaseModel + attr_accessor cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::cadence + + attr_accessor currency: String + + attr_accessor item_id: String + + attr_accessor matrix_with_allocation_config: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::MatrixWithAllocationConfig + + attr_accessor model_type: :matrix_with_allocation + + attr_accessor name: String + + attr_accessor billable_metric_id: String? + + attr_accessor billed_in_advance: bool? + + attr_accessor billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::BillingCycleConfiguration? + + attr_accessor conversion_rate: Float? + + attr_accessor dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::DimensionalPriceConfiguration? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoice_grouping_key: String? + + attr_accessor invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::InvoicingCycleConfiguration? + + attr_accessor metadata: ::Hash[Symbol, String?]? + + def initialize: ( + cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::cadence, + currency: String, + item_id: String, + matrix_with_allocation_config: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::MatrixWithAllocationConfig, + name: String, + ?billable_metric_id: String?, + ?billed_in_advance: bool?, + ?billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::BillingCycleConfiguration?, + ?conversion_rate: Float?, + ?dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::DimensionalPriceConfiguration?, + ?external_price_id: String?, + ?fixed_price_quantity: Float?, + ?invoice_grouping_key: String?, + ?invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::InvoicingCycleConfiguration?, + ?metadata: ::Hash[Symbol, String?]?, + ?model_type: :matrix_with_allocation + ) -> void + + def to_hash: -> { + cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::cadence, + currency: String, + item_id: String, + matrix_with_allocation_config: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::MatrixWithAllocationConfig, + model_type: :matrix_with_allocation, + name: String, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::BillingCycleConfiguration?, + conversion_rate: Float?, + dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + type cadence = + :annual + | :semi_annual + | :monthly + | :quarterly + | :one_time + | :custom + + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL: :annual + SEMI_ANNUAL: :semi_annual + MONTHLY: :monthly + QUARTERLY: :quarterly + ONE_TIME: :one_time + CUSTOM: :custom + + def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::cadence] + end + + type matrix_with_allocation_config = + { + allocation: Float, + default_unit_amount: String, + dimensions: ::Array[String?], + matrix_values: ::Array[Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue] + } + + class MatrixWithAllocationConfig < Orb::Internal::Type::BaseModel + attr_accessor allocation: Float + + attr_accessor default_unit_amount: String + + attr_accessor dimensions: ::Array[String?] + + attr_accessor matrix_values: ::Array[Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue] + + def initialize: ( + allocation: Float, + default_unit_amount: String, + dimensions: ::Array[String?], + matrix_values: ::Array[Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue] + ) -> void + + def to_hash: -> { + allocation: Float, + default_unit_amount: String, + dimensions: ::Array[String?], + matrix_values: ::Array[Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue] + } + + type matrix_value = + { dimension_values: ::Array[String?], unit_amount: String } + + class MatrixValue < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String?] + + attr_accessor unit_amount: String + + def initialize: ( + dimension_values: ::Array[String?], + unit_amount: String + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String?], + unit_amount: String + } + end + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::BillingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::BillingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::BillingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::BillingCycleConfiguration::duration_unit] + end + end + + type dimensional_price_configuration = + { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String] + + attr_accessor dimensional_price_group_id: String? + + attr_accessor external_dimensional_price_group_id: String? + + def initialize: ( + dimension_values: ::Array[String], + ?dimensional_price_group_id: String?, + ?external_dimensional_price_group_id: String? + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::InvoicingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::InvoicingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::InvoicingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithAllocation::InvoicingCycleConfiguration::duration_unit] + end + end + end + + type tiered = + { + cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::cadence, + currency: String, + item_id: String, + model_type: :tiered, + name: String, + tiered_config: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::TieredConfig, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::BillingCycleConfiguration?, + conversion_rate: Float?, + dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + class Tiered < Orb::Internal::Type::BaseModel + attr_accessor cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::cadence + + attr_accessor currency: String + + attr_accessor item_id: String + + attr_accessor model_type: :tiered + + attr_accessor name: String + + attr_accessor tiered_config: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::TieredConfig + + attr_accessor billable_metric_id: String? + + attr_accessor billed_in_advance: bool? + + attr_accessor billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::BillingCycleConfiguration? + + attr_accessor conversion_rate: Float? + + attr_accessor dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::DimensionalPriceConfiguration? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoice_grouping_key: String? + + attr_accessor invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::InvoicingCycleConfiguration? + + attr_accessor metadata: ::Hash[Symbol, String?]? + + def initialize: ( + cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::cadence, + currency: String, + item_id: String, + name: String, + tiered_config: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::TieredConfig, + ?billable_metric_id: String?, + ?billed_in_advance: bool?, + ?billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::BillingCycleConfiguration?, + ?conversion_rate: Float?, + ?dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::DimensionalPriceConfiguration?, + ?external_price_id: String?, + ?fixed_price_quantity: Float?, + ?invoice_grouping_key: String?, + ?invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::InvoicingCycleConfiguration?, + ?metadata: ::Hash[Symbol, String?]?, + ?model_type: :tiered + ) -> void + + def to_hash: -> { + cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::cadence, + currency: String, + item_id: String, + model_type: :tiered, + name: String, + tiered_config: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::TieredConfig, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::BillingCycleConfiguration?, + conversion_rate: Float?, + dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + type cadence = + :annual + | :semi_annual + | :monthly + | :quarterly + | :one_time + | :custom + + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL: :annual + SEMI_ANNUAL: :semi_annual + MONTHLY: :monthly + QUARTERLY: :quarterly + ONE_TIME: :one_time + CUSTOM: :custom + + def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::cadence] + end + + type tiered_config = + { + tiers: ::Array[Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::TieredConfig::Tier] + } + + class TieredConfig < Orb::Internal::Type::BaseModel + attr_accessor tiers: ::Array[Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::TieredConfig::Tier] + + def initialize: ( + tiers: ::Array[Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::TieredConfig::Tier] + ) -> void + + def to_hash: -> { + tiers: ::Array[Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::TieredConfig::Tier] + } + + type tier = + { first_unit: Float, unit_amount: String, last_unit: Float? } + + class Tier < Orb::Internal::Type::BaseModel + attr_accessor first_unit: Float + + attr_accessor unit_amount: String + + attr_accessor last_unit: Float? + + def initialize: ( + first_unit: Float, + unit_amount: String, + ?last_unit: Float? + ) -> void + + def to_hash: -> { + first_unit: Float, + unit_amount: String, + last_unit: Float? + } + end + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::BillingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::BillingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::BillingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::BillingCycleConfiguration::duration_unit] + end + end + + type dimensional_price_configuration = + { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String] + + attr_accessor dimensional_price_group_id: String? + + attr_accessor external_dimensional_price_group_id: String? + + def initialize: ( + dimension_values: ::Array[String], + ?dimensional_price_group_id: String?, + ?external_dimensional_price_group_id: String? + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::InvoicingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::InvoicingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::InvoicingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Tiered::InvoicingCycleConfiguration::duration_unit] + end + end + end + + type tiered_bps = + { + cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::cadence, + currency: String, + item_id: String, + model_type: :tiered_bps, + name: String, + tiered_bps_config: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::TieredBpsConfig, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::BillingCycleConfiguration?, + conversion_rate: Float?, + dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + class TieredBps < Orb::Internal::Type::BaseModel + attr_accessor cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::cadence + + attr_accessor currency: String + + attr_accessor item_id: String + + attr_accessor model_type: :tiered_bps + + attr_accessor name: String + + attr_accessor tiered_bps_config: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::TieredBpsConfig + + attr_accessor billable_metric_id: String? + + attr_accessor billed_in_advance: bool? + + attr_accessor billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::BillingCycleConfiguration? + + attr_accessor conversion_rate: Float? + + attr_accessor dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::DimensionalPriceConfiguration? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoice_grouping_key: String? + + attr_accessor invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::InvoicingCycleConfiguration? + + attr_accessor metadata: ::Hash[Symbol, String?]? + + def initialize: ( + cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::cadence, + currency: String, + item_id: String, + name: String, + tiered_bps_config: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::TieredBpsConfig, + ?billable_metric_id: String?, + ?billed_in_advance: bool?, + ?billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::BillingCycleConfiguration?, + ?conversion_rate: Float?, + ?dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::DimensionalPriceConfiguration?, + ?external_price_id: String?, + ?fixed_price_quantity: Float?, + ?invoice_grouping_key: String?, + ?invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::InvoicingCycleConfiguration?, + ?metadata: ::Hash[Symbol, String?]?, + ?model_type: :tiered_bps + ) -> void + + def to_hash: -> { + cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::cadence, + currency: String, + item_id: String, + model_type: :tiered_bps, + name: String, + tiered_bps_config: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::TieredBpsConfig, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::BillingCycleConfiguration?, + conversion_rate: Float?, + dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + type cadence = + :annual + | :semi_annual + | :monthly + | :quarterly + | :one_time + | :custom + + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL: :annual + SEMI_ANNUAL: :semi_annual + MONTHLY: :monthly + QUARTERLY: :quarterly + ONE_TIME: :one_time + CUSTOM: :custom + + def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::cadence] + end + + type tiered_bps_config = + { + tiers: ::Array[Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::TieredBpsConfig::Tier] + } + + class TieredBpsConfig < Orb::Internal::Type::BaseModel + attr_accessor tiers: ::Array[Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::TieredBpsConfig::Tier] + + def initialize: ( + tiers: ::Array[Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::TieredBpsConfig::Tier] + ) -> void + + def to_hash: -> { + tiers: ::Array[Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::TieredBpsConfig::Tier] + } + + type tier = + { + bps: Float, + minimum_amount: String, + maximum_amount: String?, + per_unit_maximum: String? + } + + class Tier < Orb::Internal::Type::BaseModel + attr_accessor bps: Float + + attr_accessor minimum_amount: String + + attr_accessor maximum_amount: String? + + attr_accessor per_unit_maximum: String? + + def initialize: ( + bps: Float, + minimum_amount: String, + ?maximum_amount: String?, + ?per_unit_maximum: String? + ) -> void + + def to_hash: -> { + bps: Float, + minimum_amount: String, + maximum_amount: String?, + per_unit_maximum: String? + } + end + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::BillingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::BillingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::BillingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::BillingCycleConfiguration::duration_unit] + end + end + + type dimensional_price_configuration = + { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String] + + attr_accessor dimensional_price_group_id: String? + + attr_accessor external_dimensional_price_group_id: String? + + def initialize: ( + dimension_values: ::Array[String], + ?dimensional_price_group_id: String?, + ?external_dimensional_price_group_id: String? + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::InvoicingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::InvoicingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::InvoicingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredBps::InvoicingCycleConfiguration::duration_unit] + end + end + end + + type bps = + { + bps_config: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::BpsConfig, + cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::cadence, + currency: String, + item_id: String, + model_type: :bps, + name: String, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::BillingCycleConfiguration?, + conversion_rate: Float?, + dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + class Bps < Orb::Internal::Type::BaseModel + attr_accessor bps_config: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::BpsConfig + + attr_accessor cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::cadence + + attr_accessor currency: String + + attr_accessor item_id: String + + attr_accessor model_type: :bps + + attr_accessor name: String + + attr_accessor billable_metric_id: String? + + attr_accessor billed_in_advance: bool? + + attr_accessor billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::BillingCycleConfiguration? + + attr_accessor conversion_rate: Float? + + attr_accessor dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::DimensionalPriceConfiguration? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoice_grouping_key: String? + + attr_accessor invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::InvoicingCycleConfiguration? + + attr_accessor metadata: ::Hash[Symbol, String?]? + + def initialize: ( + bps_config: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::BpsConfig, + cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::cadence, + currency: String, + item_id: String, + name: String, + ?billable_metric_id: String?, + ?billed_in_advance: bool?, + ?billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::BillingCycleConfiguration?, + ?conversion_rate: Float?, + ?dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::DimensionalPriceConfiguration?, + ?external_price_id: String?, + ?fixed_price_quantity: Float?, + ?invoice_grouping_key: String?, + ?invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::InvoicingCycleConfiguration?, + ?metadata: ::Hash[Symbol, String?]?, + ?model_type: :bps + ) -> void + + def to_hash: -> { + bps_config: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::BpsConfig, + cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::cadence, + currency: String, + item_id: String, + model_type: :bps, + name: String, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::BillingCycleConfiguration?, + conversion_rate: Float?, + dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + type bps_config = { bps: Float, per_unit_maximum: String? } + + class BpsConfig < Orb::Internal::Type::BaseModel + attr_accessor bps: Float + + attr_accessor per_unit_maximum: String? + + def initialize: (bps: Float, ?per_unit_maximum: String?) -> void + + def to_hash: -> { bps: Float, per_unit_maximum: String? } + end + + type cadence = + :annual + | :semi_annual + | :monthly + | :quarterly + | :one_time + | :custom + + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL: :annual + SEMI_ANNUAL: :semi_annual + MONTHLY: :monthly + QUARTERLY: :quarterly + ONE_TIME: :one_time + CUSTOM: :custom + + def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::cadence] + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::BillingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::BillingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::BillingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::BillingCycleConfiguration::duration_unit] + end + end + + type dimensional_price_configuration = + { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String] + + attr_accessor dimensional_price_group_id: String? + + attr_accessor external_dimensional_price_group_id: String? + + def initialize: ( + dimension_values: ::Array[String], + ?dimensional_price_group_id: String?, + ?external_dimensional_price_group_id: String? + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::InvoicingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::InvoicingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::InvoicingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bps::InvoicingCycleConfiguration::duration_unit] + end + end + end + + type bulk_bps = + { + bulk_bps_config: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::BulkBpsConfig, + cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::cadence, + currency: String, + item_id: String, + model_type: :bulk_bps, + name: String, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::BillingCycleConfiguration?, + conversion_rate: Float?, + dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + class BulkBps < Orb::Internal::Type::BaseModel + attr_accessor bulk_bps_config: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::BulkBpsConfig + + attr_accessor cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::cadence + + attr_accessor currency: String + + attr_accessor item_id: String + + attr_accessor model_type: :bulk_bps + + attr_accessor name: String + + attr_accessor billable_metric_id: String? + + attr_accessor billed_in_advance: bool? + + attr_accessor billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::BillingCycleConfiguration? + + attr_accessor conversion_rate: Float? + + attr_accessor dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::DimensionalPriceConfiguration? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoice_grouping_key: String? + + attr_accessor invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::InvoicingCycleConfiguration? + + attr_accessor metadata: ::Hash[Symbol, String?]? + + def initialize: ( + bulk_bps_config: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::BulkBpsConfig, + cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::cadence, + currency: String, + item_id: String, + name: String, + ?billable_metric_id: String?, + ?billed_in_advance: bool?, + ?billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::BillingCycleConfiguration?, + ?conversion_rate: Float?, + ?dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::DimensionalPriceConfiguration?, + ?external_price_id: String?, + ?fixed_price_quantity: Float?, + ?invoice_grouping_key: String?, + ?invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::InvoicingCycleConfiguration?, + ?metadata: ::Hash[Symbol, String?]?, + ?model_type: :bulk_bps + ) -> void + + def to_hash: -> { + bulk_bps_config: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::BulkBpsConfig, + cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::cadence, + currency: String, + item_id: String, + model_type: :bulk_bps, + name: String, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::BillingCycleConfiguration?, + conversion_rate: Float?, + dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + type bulk_bps_config = + { + tiers: ::Array[Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::BulkBpsConfig::Tier] + } + + class BulkBpsConfig < Orb::Internal::Type::BaseModel + attr_accessor tiers: ::Array[Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::BulkBpsConfig::Tier] + + def initialize: ( + tiers: ::Array[Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::BulkBpsConfig::Tier] + ) -> void + + def to_hash: -> { + tiers: ::Array[Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::BulkBpsConfig::Tier] + } + + type tier = + { + bps: Float, + maximum_amount: String?, + per_unit_maximum: String? + } + + class Tier < Orb::Internal::Type::BaseModel + attr_accessor bps: Float + + attr_accessor maximum_amount: String? + + attr_accessor per_unit_maximum: String? + + def initialize: ( + bps: Float, + ?maximum_amount: String?, + ?per_unit_maximum: String? + ) -> void + + def to_hash: -> { + bps: Float, + maximum_amount: String?, + per_unit_maximum: String? + } + end + end + + type cadence = + :annual + | :semi_annual + | :monthly + | :quarterly + | :one_time + | :custom + + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL: :annual + SEMI_ANNUAL: :semi_annual + MONTHLY: :monthly + QUARTERLY: :quarterly + ONE_TIME: :one_time + CUSTOM: :custom + + def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::cadence] + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::BillingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::BillingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::BillingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::BillingCycleConfiguration::duration_unit] + end + end + + type dimensional_price_configuration = + { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String] + + attr_accessor dimensional_price_group_id: String? + + attr_accessor external_dimensional_price_group_id: String? + + def initialize: ( + dimension_values: ::Array[String], + ?dimensional_price_group_id: String?, + ?external_dimensional_price_group_id: String? + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::InvoicingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::InvoicingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::InvoicingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkBps::InvoicingCycleConfiguration::duration_unit] + end + end + end + + type bulk = + { + bulk_config: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::BulkConfig, + cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::cadence, + currency: String, + item_id: String, + model_type: :bulk, + name: String, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::BillingCycleConfiguration?, + conversion_rate: Float?, + dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + class Bulk < Orb::Internal::Type::BaseModel + attr_accessor bulk_config: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::BulkConfig + + attr_accessor cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::cadence + + attr_accessor currency: String + + attr_accessor item_id: String + + attr_accessor model_type: :bulk + + attr_accessor name: String + + attr_accessor billable_metric_id: String? + + attr_accessor billed_in_advance: bool? + + attr_accessor billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::BillingCycleConfiguration? + + attr_accessor conversion_rate: Float? + + attr_accessor dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::DimensionalPriceConfiguration? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoice_grouping_key: String? + + attr_accessor invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::InvoicingCycleConfiguration? + + attr_accessor metadata: ::Hash[Symbol, String?]? + + def initialize: ( + bulk_config: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::BulkConfig, + cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::cadence, + currency: String, + item_id: String, + name: String, + ?billable_metric_id: String?, + ?billed_in_advance: bool?, + ?billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::BillingCycleConfiguration?, + ?conversion_rate: Float?, + ?dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::DimensionalPriceConfiguration?, + ?external_price_id: String?, + ?fixed_price_quantity: Float?, + ?invoice_grouping_key: String?, + ?invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::InvoicingCycleConfiguration?, + ?metadata: ::Hash[Symbol, String?]?, + ?model_type: :bulk + ) -> void + + def to_hash: -> { + bulk_config: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::BulkConfig, + cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::cadence, + currency: String, + item_id: String, + model_type: :bulk, + name: String, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::BillingCycleConfiguration?, + conversion_rate: Float?, + dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + type bulk_config = + { + tiers: ::Array[Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::BulkConfig::Tier] + } + + class BulkConfig < Orb::Internal::Type::BaseModel + attr_accessor tiers: ::Array[Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::BulkConfig::Tier] + + def initialize: ( + tiers: ::Array[Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::BulkConfig::Tier] + ) -> void + + def to_hash: -> { + tiers: ::Array[Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::BulkConfig::Tier] + } + + type tier = { unit_amount: String, maximum_units: Float? } + + class Tier < Orb::Internal::Type::BaseModel + attr_accessor unit_amount: String + + attr_accessor maximum_units: Float? + + def initialize: ( + unit_amount: String, + ?maximum_units: Float? + ) -> void + + def to_hash: -> { unit_amount: String, maximum_units: Float? } + end + end + + type cadence = + :annual + | :semi_annual + | :monthly + | :quarterly + | :one_time + | :custom + + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL: :annual + SEMI_ANNUAL: :semi_annual + MONTHLY: :monthly + QUARTERLY: :quarterly + ONE_TIME: :one_time + CUSTOM: :custom + + def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::cadence] + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::BillingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::BillingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::BillingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::BillingCycleConfiguration::duration_unit] + end + end + + type dimensional_price_configuration = + { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String] + + attr_accessor dimensional_price_group_id: String? + + attr_accessor external_dimensional_price_group_id: String? + + def initialize: ( + dimension_values: ::Array[String], + ?dimensional_price_group_id: String?, + ?external_dimensional_price_group_id: String? + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::InvoicingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::InvoicingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::InvoicingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Bulk::InvoicingCycleConfiguration::duration_unit] + end + end + end + + type threshold_total_amount = + { + cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::cadence, + currency: String, + item_id: String, + model_type: :threshold_total_amount, + name: String, + threshold_total_amount_config: ::Hash[Symbol, top], + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::BillingCycleConfiguration?, + conversion_rate: Float?, + dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + class ThresholdTotalAmount < Orb::Internal::Type::BaseModel + attr_accessor cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::cadence + + attr_accessor currency: String + + attr_accessor item_id: String + + attr_accessor model_type: :threshold_total_amount + + attr_accessor name: String + + attr_accessor threshold_total_amount_config: ::Hash[Symbol, top] + + attr_accessor billable_metric_id: String? + + attr_accessor billed_in_advance: bool? + + attr_accessor billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::BillingCycleConfiguration? + + attr_accessor conversion_rate: Float? + + attr_accessor dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::DimensionalPriceConfiguration? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoice_grouping_key: String? + + attr_accessor invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::InvoicingCycleConfiguration? + + attr_accessor metadata: ::Hash[Symbol, String?]? + + def initialize: ( + cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::cadence, + currency: String, + item_id: String, + name: String, + threshold_total_amount_config: ::Hash[Symbol, top], + ?billable_metric_id: String?, + ?billed_in_advance: bool?, + ?billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::BillingCycleConfiguration?, + ?conversion_rate: Float?, + ?dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::DimensionalPriceConfiguration?, + ?external_price_id: String?, + ?fixed_price_quantity: Float?, + ?invoice_grouping_key: String?, + ?invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::InvoicingCycleConfiguration?, + ?metadata: ::Hash[Symbol, String?]?, + ?model_type: :threshold_total_amount + ) -> void + + def to_hash: -> { + cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::cadence, + currency: String, + item_id: String, + model_type: :threshold_total_amount, + name: String, + threshold_total_amount_config: ::Hash[Symbol, top], + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::BillingCycleConfiguration?, + conversion_rate: Float?, + dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + type cadence = + :annual + | :semi_annual + | :monthly + | :quarterly + | :one_time + | :custom + + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL: :annual + SEMI_ANNUAL: :semi_annual + MONTHLY: :monthly + QUARTERLY: :quarterly + ONE_TIME: :one_time + CUSTOM: :custom + + def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::cadence] + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::BillingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::BillingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::BillingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::BillingCycleConfiguration::duration_unit] + end + end + + type dimensional_price_configuration = + { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String] + + attr_accessor dimensional_price_group_id: String? + + attr_accessor external_dimensional_price_group_id: String? + + def initialize: ( + dimension_values: ::Array[String], + ?dimensional_price_group_id: String?, + ?external_dimensional_price_group_id: String? + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::duration_unit] + end + end + end + + type tiered_package = + { + cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::cadence, + currency: String, + item_id: String, + model_type: :tiered_package, + name: String, + tiered_package_config: ::Hash[Symbol, top], + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::BillingCycleConfiguration?, + conversion_rate: Float?, + dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + class TieredPackage < Orb::Internal::Type::BaseModel + attr_accessor cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::cadence + + attr_accessor currency: String + + attr_accessor item_id: String + + attr_accessor model_type: :tiered_package + + attr_accessor name: String + + attr_accessor tiered_package_config: ::Hash[Symbol, top] + + attr_accessor billable_metric_id: String? + + attr_accessor billed_in_advance: bool? + + attr_accessor billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::BillingCycleConfiguration? + + attr_accessor conversion_rate: Float? + + attr_accessor dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::DimensionalPriceConfiguration? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoice_grouping_key: String? + + attr_accessor invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::InvoicingCycleConfiguration? + + attr_accessor metadata: ::Hash[Symbol, String?]? + + def initialize: ( + cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::cadence, + currency: String, + item_id: String, + name: String, + tiered_package_config: ::Hash[Symbol, top], + ?billable_metric_id: String?, + ?billed_in_advance: bool?, + ?billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::BillingCycleConfiguration?, + ?conversion_rate: Float?, + ?dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::DimensionalPriceConfiguration?, + ?external_price_id: String?, + ?fixed_price_quantity: Float?, + ?invoice_grouping_key: String?, + ?invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::InvoicingCycleConfiguration?, + ?metadata: ::Hash[Symbol, String?]?, + ?model_type: :tiered_package + ) -> void + + def to_hash: -> { + cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::cadence, + currency: String, + item_id: String, + model_type: :tiered_package, + name: String, + tiered_package_config: ::Hash[Symbol, top], + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::BillingCycleConfiguration?, + conversion_rate: Float?, + dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + type cadence = + :annual + | :semi_annual + | :monthly + | :quarterly + | :one_time + | :custom + + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL: :annual + SEMI_ANNUAL: :semi_annual + MONTHLY: :monthly + QUARTERLY: :quarterly + ONE_TIME: :one_time + CUSTOM: :custom + + def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::cadence] + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::BillingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::BillingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::BillingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::BillingCycleConfiguration::duration_unit] + end + end + + type dimensional_price_configuration = + { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String] + + attr_accessor dimensional_price_group_id: String? + + attr_accessor external_dimensional_price_group_id: String? + + def initialize: ( + dimension_values: ::Array[String], + ?dimensional_price_group_id: String?, + ?external_dimensional_price_group_id: String? + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::InvoicingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::InvoicingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::InvoicingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackage::InvoicingCycleConfiguration::duration_unit] + end + end + end + + type grouped_tiered = + { + cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::cadence, + currency: String, + grouped_tiered_config: ::Hash[Symbol, top], + item_id: String, + model_type: :grouped_tiered, + name: String, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::BillingCycleConfiguration?, + conversion_rate: Float?, + dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + class GroupedTiered < Orb::Internal::Type::BaseModel + attr_accessor cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::cadence + + attr_accessor currency: String + + attr_accessor grouped_tiered_config: ::Hash[Symbol, top] + + attr_accessor item_id: String + + attr_accessor model_type: :grouped_tiered + + attr_accessor name: String + + attr_accessor billable_metric_id: String? + + attr_accessor billed_in_advance: bool? + + attr_accessor billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::BillingCycleConfiguration? + + attr_accessor conversion_rate: Float? + + attr_accessor dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::DimensionalPriceConfiguration? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoice_grouping_key: String? + + attr_accessor invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::InvoicingCycleConfiguration? + + attr_accessor metadata: ::Hash[Symbol, String?]? + + def initialize: ( + cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::cadence, + currency: String, + grouped_tiered_config: ::Hash[Symbol, top], + item_id: String, + name: String, + ?billable_metric_id: String?, + ?billed_in_advance: bool?, + ?billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::BillingCycleConfiguration?, + ?conversion_rate: Float?, + ?dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::DimensionalPriceConfiguration?, + ?external_price_id: String?, + ?fixed_price_quantity: Float?, + ?invoice_grouping_key: String?, + ?invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::InvoicingCycleConfiguration?, + ?metadata: ::Hash[Symbol, String?]?, + ?model_type: :grouped_tiered + ) -> void + + def to_hash: -> { + cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::cadence, + currency: String, + grouped_tiered_config: ::Hash[Symbol, top], + item_id: String, + model_type: :grouped_tiered, + name: String, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::BillingCycleConfiguration?, + conversion_rate: Float?, + dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + type cadence = + :annual + | :semi_annual + | :monthly + | :quarterly + | :one_time + | :custom + + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL: :annual + SEMI_ANNUAL: :semi_annual + MONTHLY: :monthly + QUARTERLY: :quarterly + ONE_TIME: :one_time + CUSTOM: :custom + + def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::cadence] + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::BillingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::BillingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::BillingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::BillingCycleConfiguration::duration_unit] + end + end + + type dimensional_price_configuration = + { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String] + + attr_accessor dimensional_price_group_id: String? + + attr_accessor external_dimensional_price_group_id: String? + + def initialize: ( + dimension_values: ::Array[String], + ?dimensional_price_group_id: String?, + ?external_dimensional_price_group_id: String? + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::InvoicingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::InvoicingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::InvoicingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTiered::InvoicingCycleConfiguration::duration_unit] + end + end + end + + type max_group_tiered_package = + { + cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::cadence, + currency: String, + item_id: String, + max_group_tiered_package_config: ::Hash[Symbol, top], + model_type: :max_group_tiered_package, + name: String, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::BillingCycleConfiguration?, + conversion_rate: Float?, + dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + class MaxGroupTieredPackage < Orb::Internal::Type::BaseModel + attr_accessor cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::cadence + + attr_accessor currency: String + + attr_accessor item_id: String + + attr_accessor max_group_tiered_package_config: ::Hash[Symbol, top] + + attr_accessor model_type: :max_group_tiered_package + + attr_accessor name: String + + attr_accessor billable_metric_id: String? + + attr_accessor billed_in_advance: bool? + + attr_accessor billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::BillingCycleConfiguration? + + attr_accessor conversion_rate: Float? + + attr_accessor dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoice_grouping_key: String? + + attr_accessor invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration? + + attr_accessor metadata: ::Hash[Symbol, String?]? + + def initialize: ( + cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::cadence, + currency: String, + item_id: String, + max_group_tiered_package_config: ::Hash[Symbol, top], + name: String, + ?billable_metric_id: String?, + ?billed_in_advance: bool?, + ?billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::BillingCycleConfiguration?, + ?conversion_rate: Float?, + ?dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration?, + ?external_price_id: String?, + ?fixed_price_quantity: Float?, + ?invoice_grouping_key: String?, + ?invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration?, + ?metadata: ::Hash[Symbol, String?]?, + ?model_type: :max_group_tiered_package + ) -> void + + def to_hash: -> { + cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::cadence, + currency: String, + item_id: String, + max_group_tiered_package_config: ::Hash[Symbol, top], + model_type: :max_group_tiered_package, + name: String, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::BillingCycleConfiguration?, + conversion_rate: Float?, + dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + type cadence = + :annual + | :semi_annual + | :monthly + | :quarterly + | :one_time + | :custom + + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL: :annual + SEMI_ANNUAL: :semi_annual + MONTHLY: :monthly + QUARTERLY: :quarterly + ONE_TIME: :one_time + CUSTOM: :custom + + def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::cadence] + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::BillingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::BillingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::BillingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::BillingCycleConfiguration::duration_unit] + end + end + + type dimensional_price_configuration = + { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String] + + attr_accessor dimensional_price_group_id: String? + + attr_accessor external_dimensional_price_group_id: String? + + def initialize: ( + dimension_values: ::Array[String], + ?dimensional_price_group_id: String?, + ?external_dimensional_price_group_id: String? + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::duration_unit] + end + end + end + + type tiered_with_minimum = + { + cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::cadence, + currency: String, + item_id: String, + model_type: :tiered_with_minimum, + name: String, + tiered_with_minimum_config: ::Hash[Symbol, top], + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::BillingCycleConfiguration?, + conversion_rate: Float?, + dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + class TieredWithMinimum < Orb::Internal::Type::BaseModel + attr_accessor cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::cadence + + attr_accessor currency: String + + attr_accessor item_id: String + + attr_accessor model_type: :tiered_with_minimum + + attr_accessor name: String + + attr_accessor tiered_with_minimum_config: ::Hash[Symbol, top] + + attr_accessor billable_metric_id: String? + + attr_accessor billed_in_advance: bool? + + attr_accessor billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::BillingCycleConfiguration? + + attr_accessor conversion_rate: Float? + + attr_accessor dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::DimensionalPriceConfiguration? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoice_grouping_key: String? + + attr_accessor invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::InvoicingCycleConfiguration? + + attr_accessor metadata: ::Hash[Symbol, String?]? + + def initialize: ( + cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::cadence, + currency: String, + item_id: String, + name: String, + tiered_with_minimum_config: ::Hash[Symbol, top], + ?billable_metric_id: String?, + ?billed_in_advance: bool?, + ?billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::BillingCycleConfiguration?, + ?conversion_rate: Float?, + ?dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::DimensionalPriceConfiguration?, + ?external_price_id: String?, + ?fixed_price_quantity: Float?, + ?invoice_grouping_key: String?, + ?invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::InvoicingCycleConfiguration?, + ?metadata: ::Hash[Symbol, String?]?, + ?model_type: :tiered_with_minimum + ) -> void + + def to_hash: -> { + cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::cadence, + currency: String, + item_id: String, + model_type: :tiered_with_minimum, + name: String, + tiered_with_minimum_config: ::Hash[Symbol, top], + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::BillingCycleConfiguration?, + conversion_rate: Float?, + dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + type cadence = + :annual + | :semi_annual + | :monthly + | :quarterly + | :one_time + | :custom + + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL: :annual + SEMI_ANNUAL: :semi_annual + MONTHLY: :monthly + QUARTERLY: :quarterly + ONE_TIME: :one_time + CUSTOM: :custom + + def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::cadence] + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::BillingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::BillingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::BillingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::BillingCycleConfiguration::duration_unit] + end + end + + type dimensional_price_configuration = + { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String] + + attr_accessor dimensional_price_group_id: String? + + attr_accessor external_dimensional_price_group_id: String? + + def initialize: ( + dimension_values: ::Array[String], + ?dimensional_price_group_id: String?, + ?external_dimensional_price_group_id: String? + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::InvoicingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::InvoicingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::InvoicingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithMinimum::InvoicingCycleConfiguration::duration_unit] + end + end + end + + type package_with_allocation = + { + cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::cadence, + currency: String, + item_id: String, + model_type: :package_with_allocation, + name: String, + package_with_allocation_config: ::Hash[Symbol, top], + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::BillingCycleConfiguration?, + conversion_rate: Float?, + dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + class PackageWithAllocation < Orb::Internal::Type::BaseModel + attr_accessor cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::cadence + + attr_accessor currency: String + + attr_accessor item_id: String + + attr_accessor model_type: :package_with_allocation + + attr_accessor name: String + + attr_accessor package_with_allocation_config: ::Hash[Symbol, top] + + attr_accessor billable_metric_id: String? + + attr_accessor billed_in_advance: bool? + + attr_accessor billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::BillingCycleConfiguration? + + attr_accessor conversion_rate: Float? + + attr_accessor dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::DimensionalPriceConfiguration? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoice_grouping_key: String? + + attr_accessor invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::InvoicingCycleConfiguration? + + attr_accessor metadata: ::Hash[Symbol, String?]? + + def initialize: ( + cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::cadence, + currency: String, + item_id: String, + name: String, + package_with_allocation_config: ::Hash[Symbol, top], + ?billable_metric_id: String?, + ?billed_in_advance: bool?, + ?billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::BillingCycleConfiguration?, + ?conversion_rate: Float?, + ?dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::DimensionalPriceConfiguration?, + ?external_price_id: String?, + ?fixed_price_quantity: Float?, + ?invoice_grouping_key: String?, + ?invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::InvoicingCycleConfiguration?, + ?metadata: ::Hash[Symbol, String?]?, + ?model_type: :package_with_allocation + ) -> void + + def to_hash: -> { + cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::cadence, + currency: String, + item_id: String, + model_type: :package_with_allocation, + name: String, + package_with_allocation_config: ::Hash[Symbol, top], + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::BillingCycleConfiguration?, + conversion_rate: Float?, + dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + type cadence = + :annual + | :semi_annual + | :monthly + | :quarterly + | :one_time + | :custom + + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL: :annual + SEMI_ANNUAL: :semi_annual + MONTHLY: :monthly + QUARTERLY: :quarterly + ONE_TIME: :one_time + CUSTOM: :custom + + def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::cadence] + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::BillingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::BillingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::BillingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::BillingCycleConfiguration::duration_unit] + end + end + + type dimensional_price_configuration = + { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String] + + attr_accessor dimensional_price_group_id: String? + + attr_accessor external_dimensional_price_group_id: String? + + def initialize: ( + dimension_values: ::Array[String], + ?dimensional_price_group_id: String?, + ?external_dimensional_price_group_id: String? + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::InvoicingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::InvoicingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::InvoicingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::PackageWithAllocation::InvoicingCycleConfiguration::duration_unit] + end + end + end + + type tiered_package_with_minimum = + { + cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::cadence, + currency: String, + item_id: String, + model_type: :tiered_package_with_minimum, + name: String, + tiered_package_with_minimum_config: ::Hash[Symbol, top], + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::BillingCycleConfiguration?, + conversion_rate: Float?, + dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + class TieredPackageWithMinimum < Orb::Internal::Type::BaseModel + attr_accessor cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::cadence + + attr_accessor currency: String + + attr_accessor item_id: String + + attr_accessor model_type: :tiered_package_with_minimum + + attr_accessor name: String + + attr_accessor tiered_package_with_minimum_config: ::Hash[Symbol, top] + + attr_accessor billable_metric_id: String? + + attr_accessor billed_in_advance: bool? + + attr_accessor billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::BillingCycleConfiguration? + + attr_accessor conversion_rate: Float? + + attr_accessor dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoice_grouping_key: String? + + attr_accessor invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration? + + attr_accessor metadata: ::Hash[Symbol, String?]? + + def initialize: ( + cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::cadence, + currency: String, + item_id: String, + name: String, + tiered_package_with_minimum_config: ::Hash[Symbol, top], + ?billable_metric_id: String?, + ?billed_in_advance: bool?, + ?billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::BillingCycleConfiguration?, + ?conversion_rate: Float?, + ?dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration?, + ?external_price_id: String?, + ?fixed_price_quantity: Float?, + ?invoice_grouping_key: String?, + ?invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration?, + ?metadata: ::Hash[Symbol, String?]?, + ?model_type: :tiered_package_with_minimum + ) -> void + + def to_hash: -> { + cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::cadence, + currency: String, + item_id: String, + model_type: :tiered_package_with_minimum, + name: String, + tiered_package_with_minimum_config: ::Hash[Symbol, top], + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::BillingCycleConfiguration?, + conversion_rate: Float?, + dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + type cadence = + :annual + | :semi_annual + | :monthly + | :quarterly + | :one_time + | :custom + + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL: :annual + SEMI_ANNUAL: :semi_annual + MONTHLY: :monthly + QUARTERLY: :quarterly + ONE_TIME: :one_time + CUSTOM: :custom + + def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::cadence] + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::BillingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::BillingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::BillingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::BillingCycleConfiguration::duration_unit] + end + end + + type dimensional_price_configuration = + { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String] + + attr_accessor dimensional_price_group_id: String? + + attr_accessor external_dimensional_price_group_id: String? + + def initialize: ( + dimension_values: ::Array[String], + ?dimensional_price_group_id: String?, + ?external_dimensional_price_group_id: String? + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::duration_unit] + end + end + end + + type unit_with_percent = + { + cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::cadence, + currency: String, + item_id: String, + model_type: :unit_with_percent, + name: String, + unit_with_percent_config: ::Hash[Symbol, top], + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::BillingCycleConfiguration?, + conversion_rate: Float?, + dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + class UnitWithPercent < Orb::Internal::Type::BaseModel + attr_accessor cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::cadence + + attr_accessor currency: String + + attr_accessor item_id: String + + attr_accessor model_type: :unit_with_percent + + attr_accessor name: String + + attr_accessor unit_with_percent_config: ::Hash[Symbol, top] + + attr_accessor billable_metric_id: String? + + attr_accessor billed_in_advance: bool? + + attr_accessor billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::BillingCycleConfiguration? + + attr_accessor conversion_rate: Float? + + attr_accessor dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::DimensionalPriceConfiguration? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoice_grouping_key: String? + + attr_accessor invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::InvoicingCycleConfiguration? + + attr_accessor metadata: ::Hash[Symbol, String?]? + + def initialize: ( + cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::cadence, + currency: String, + item_id: String, + name: String, + unit_with_percent_config: ::Hash[Symbol, top], + ?billable_metric_id: String?, + ?billed_in_advance: bool?, + ?billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::BillingCycleConfiguration?, + ?conversion_rate: Float?, + ?dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::DimensionalPriceConfiguration?, + ?external_price_id: String?, + ?fixed_price_quantity: Float?, + ?invoice_grouping_key: String?, + ?invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::InvoicingCycleConfiguration?, + ?metadata: ::Hash[Symbol, String?]?, + ?model_type: :unit_with_percent + ) -> void + + def to_hash: -> { + cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::cadence, + currency: String, + item_id: String, + model_type: :unit_with_percent, + name: String, + unit_with_percent_config: ::Hash[Symbol, top], + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::BillingCycleConfiguration?, + conversion_rate: Float?, + dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + type cadence = + :annual + | :semi_annual + | :monthly + | :quarterly + | :one_time + | :custom + + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL: :annual + SEMI_ANNUAL: :semi_annual + MONTHLY: :monthly + QUARTERLY: :quarterly + ONE_TIME: :one_time + CUSTOM: :custom + + def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::cadence] + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::BillingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::BillingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::BillingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::BillingCycleConfiguration::duration_unit] + end + end + + type dimensional_price_configuration = + { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String] + + attr_accessor dimensional_price_group_id: String? + + attr_accessor external_dimensional_price_group_id: String? + + def initialize: ( + dimension_values: ::Array[String], + ?dimensional_price_group_id: String?, + ?external_dimensional_price_group_id: String? + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::InvoicingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::InvoicingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::InvoicingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithPercent::InvoicingCycleConfiguration::duration_unit] + end + end + end + + type tiered_with_proration = + { + cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::cadence, + currency: String, + item_id: String, + model_type: :tiered_with_proration, + name: String, + tiered_with_proration_config: ::Hash[Symbol, top], + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::BillingCycleConfiguration?, + conversion_rate: Float?, + dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + class TieredWithProration < Orb::Internal::Type::BaseModel + attr_accessor cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::cadence + + attr_accessor currency: String + + attr_accessor item_id: String + + attr_accessor model_type: :tiered_with_proration + + attr_accessor name: String + + attr_accessor tiered_with_proration_config: ::Hash[Symbol, top] + + attr_accessor billable_metric_id: String? + + attr_accessor billed_in_advance: bool? + + attr_accessor billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::BillingCycleConfiguration? + + attr_accessor conversion_rate: Float? + + attr_accessor dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::DimensionalPriceConfiguration? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoice_grouping_key: String? + + attr_accessor invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::InvoicingCycleConfiguration? + + attr_accessor metadata: ::Hash[Symbol, String?]? + + def initialize: ( + cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::cadence, + currency: String, + item_id: String, + name: String, + tiered_with_proration_config: ::Hash[Symbol, top], + ?billable_metric_id: String?, + ?billed_in_advance: bool?, + ?billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::BillingCycleConfiguration?, + ?conversion_rate: Float?, + ?dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::DimensionalPriceConfiguration?, + ?external_price_id: String?, + ?fixed_price_quantity: Float?, + ?invoice_grouping_key: String?, + ?invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::InvoicingCycleConfiguration?, + ?metadata: ::Hash[Symbol, String?]?, + ?model_type: :tiered_with_proration + ) -> void + + def to_hash: -> { + cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::cadence, + currency: String, + item_id: String, + model_type: :tiered_with_proration, + name: String, + tiered_with_proration_config: ::Hash[Symbol, top], + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::BillingCycleConfiguration?, + conversion_rate: Float?, + dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + type cadence = + :annual + | :semi_annual + | :monthly + | :quarterly + | :one_time + | :custom + + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL: :annual + SEMI_ANNUAL: :semi_annual + MONTHLY: :monthly + QUARTERLY: :quarterly + ONE_TIME: :one_time + CUSTOM: :custom + + def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::cadence] + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::BillingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::BillingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::BillingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::BillingCycleConfiguration::duration_unit] + end + end + + type dimensional_price_configuration = + { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String] + + attr_accessor dimensional_price_group_id: String? + + attr_accessor external_dimensional_price_group_id: String? + + def initialize: ( + dimension_values: ::Array[String], + ?dimensional_price_group_id: String?, + ?external_dimensional_price_group_id: String? + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::InvoicingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::InvoicingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::InvoicingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredWithProration::InvoicingCycleConfiguration::duration_unit] + end + end + end + + type unit_with_proration = + { + cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::cadence, + currency: String, + item_id: String, + model_type: :unit_with_proration, + name: String, + unit_with_proration_config: ::Hash[Symbol, top], + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::BillingCycleConfiguration?, + conversion_rate: Float?, + dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + class UnitWithProration < Orb::Internal::Type::BaseModel + attr_accessor cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::cadence + + attr_accessor currency: String + + attr_accessor item_id: String + + attr_accessor model_type: :unit_with_proration + + attr_accessor name: String + + attr_accessor unit_with_proration_config: ::Hash[Symbol, top] + + attr_accessor billable_metric_id: String? + + attr_accessor billed_in_advance: bool? + + attr_accessor billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::BillingCycleConfiguration? + + attr_accessor conversion_rate: Float? + + attr_accessor dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::DimensionalPriceConfiguration? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoice_grouping_key: String? + + attr_accessor invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::InvoicingCycleConfiguration? + + attr_accessor metadata: ::Hash[Symbol, String?]? + + def initialize: ( + cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::cadence, + currency: String, + item_id: String, + name: String, + unit_with_proration_config: ::Hash[Symbol, top], + ?billable_metric_id: String?, + ?billed_in_advance: bool?, + ?billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::BillingCycleConfiguration?, + ?conversion_rate: Float?, + ?dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::DimensionalPriceConfiguration?, + ?external_price_id: String?, + ?fixed_price_quantity: Float?, + ?invoice_grouping_key: String?, + ?invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::InvoicingCycleConfiguration?, + ?metadata: ::Hash[Symbol, String?]?, + ?model_type: :unit_with_proration + ) -> void + + def to_hash: -> { + cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::cadence, + currency: String, + item_id: String, + model_type: :unit_with_proration, + name: String, + unit_with_proration_config: ::Hash[Symbol, top], + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::BillingCycleConfiguration?, + conversion_rate: Float?, + dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + type cadence = + :annual + | :semi_annual + | :monthly + | :quarterly + | :one_time + | :custom + + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL: :annual + SEMI_ANNUAL: :semi_annual + MONTHLY: :monthly + QUARTERLY: :quarterly + ONE_TIME: :one_time + CUSTOM: :custom + + def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::cadence] + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::BillingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::BillingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::BillingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::BillingCycleConfiguration::duration_unit] + end + end + + type dimensional_price_configuration = + { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String] + + attr_accessor dimensional_price_group_id: String? + + attr_accessor external_dimensional_price_group_id: String? + + def initialize: ( + dimension_values: ::Array[String], + ?dimensional_price_group_id: String?, + ?external_dimensional_price_group_id: String? + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::InvoicingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::InvoicingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::InvoicingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithProration::InvoicingCycleConfiguration::duration_unit] + end + end + end + + type grouped_allocation = + { + cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::cadence, + currency: String, + grouped_allocation_config: ::Hash[Symbol, top], + item_id: String, + model_type: :grouped_allocation, + name: String, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::BillingCycleConfiguration?, + conversion_rate: Float?, + dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + class GroupedAllocation < Orb::Internal::Type::BaseModel + attr_accessor cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::cadence + + attr_accessor currency: String + + attr_accessor grouped_allocation_config: ::Hash[Symbol, top] + + attr_accessor item_id: String + + attr_accessor model_type: :grouped_allocation + + attr_accessor name: String + + attr_accessor billable_metric_id: String? + + attr_accessor billed_in_advance: bool? + + attr_accessor billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::BillingCycleConfiguration? + + attr_accessor conversion_rate: Float? + + attr_accessor dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::DimensionalPriceConfiguration? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoice_grouping_key: String? + + attr_accessor invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::InvoicingCycleConfiguration? + + attr_accessor metadata: ::Hash[Symbol, String?]? + + def initialize: ( + cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::cadence, + currency: String, + grouped_allocation_config: ::Hash[Symbol, top], + item_id: String, + name: String, + ?billable_metric_id: String?, + ?billed_in_advance: bool?, + ?billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::BillingCycleConfiguration?, + ?conversion_rate: Float?, + ?dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::DimensionalPriceConfiguration?, + ?external_price_id: String?, + ?fixed_price_quantity: Float?, + ?invoice_grouping_key: String?, + ?invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::InvoicingCycleConfiguration?, + ?metadata: ::Hash[Symbol, String?]?, + ?model_type: :grouped_allocation + ) -> void + + def to_hash: -> { + cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::cadence, + currency: String, + grouped_allocation_config: ::Hash[Symbol, top], + item_id: String, + model_type: :grouped_allocation, + name: String, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::BillingCycleConfiguration?, + conversion_rate: Float?, + dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + type cadence = + :annual + | :semi_annual + | :monthly + | :quarterly + | :one_time + | :custom + + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL: :annual + SEMI_ANNUAL: :semi_annual + MONTHLY: :monthly + QUARTERLY: :quarterly + ONE_TIME: :one_time + CUSTOM: :custom + + def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::cadence] + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::BillingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::BillingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::BillingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::BillingCycleConfiguration::duration_unit] + end + end + + type dimensional_price_configuration = + { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String] + + attr_accessor dimensional_price_group_id: String? + + attr_accessor external_dimensional_price_group_id: String? + + def initialize: ( + dimension_values: ::Array[String], + ?dimensional_price_group_id: String?, + ?external_dimensional_price_group_id: String? + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::InvoicingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::InvoicingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::InvoicingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedAllocation::InvoicingCycleConfiguration::duration_unit] + end + end + end + + type grouped_with_prorated_minimum = + { + cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::cadence, + currency: String, + grouped_with_prorated_minimum_config: ::Hash[Symbol, top], + item_id: String, + model_type: :grouped_with_prorated_minimum, + name: String, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::BillingCycleConfiguration?, + conversion_rate: Float?, + dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + class GroupedWithProratedMinimum < Orb::Internal::Type::BaseModel + attr_accessor cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::cadence + + attr_accessor currency: String + + attr_accessor grouped_with_prorated_minimum_config: ::Hash[Symbol, top] + + attr_accessor item_id: String + + attr_accessor model_type: :grouped_with_prorated_minimum + + attr_accessor name: String + + attr_accessor billable_metric_id: String? + + attr_accessor billed_in_advance: bool? + + attr_accessor billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::BillingCycleConfiguration? + + attr_accessor conversion_rate: Float? + + attr_accessor dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoice_grouping_key: String? + + attr_accessor invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration? + + attr_accessor metadata: ::Hash[Symbol, String?]? + + def initialize: ( + cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::cadence, + currency: String, + grouped_with_prorated_minimum_config: ::Hash[Symbol, top], + item_id: String, + name: String, + ?billable_metric_id: String?, + ?billed_in_advance: bool?, + ?billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::BillingCycleConfiguration?, + ?conversion_rate: Float?, + ?dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration?, + ?external_price_id: String?, + ?fixed_price_quantity: Float?, + ?invoice_grouping_key: String?, + ?invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration?, + ?metadata: ::Hash[Symbol, String?]?, + ?model_type: :grouped_with_prorated_minimum + ) -> void + + def to_hash: -> { + cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::cadence, + currency: String, + grouped_with_prorated_minimum_config: ::Hash[Symbol, top], + item_id: String, + model_type: :grouped_with_prorated_minimum, + name: String, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::BillingCycleConfiguration?, + conversion_rate: Float?, + dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + type cadence = + :annual + | :semi_annual + | :monthly + | :quarterly + | :one_time + | :custom + + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL: :annual + SEMI_ANNUAL: :semi_annual + MONTHLY: :monthly + QUARTERLY: :quarterly + ONE_TIME: :one_time + CUSTOM: :custom + + def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::cadence] + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::duration_unit] + end + end + + type dimensional_price_configuration = + { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String] + + attr_accessor dimensional_price_group_id: String? + + attr_accessor external_dimensional_price_group_id: String? + + def initialize: ( + dimension_values: ::Array[String], + ?dimensional_price_group_id: String?, + ?external_dimensional_price_group_id: String? + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::duration_unit] + end + end + end + + type grouped_with_metered_minimum = + { + cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::cadence, + currency: String, + grouped_with_metered_minimum_config: ::Hash[Symbol, top], + item_id: String, + model_type: :grouped_with_metered_minimum, + name: String, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration?, + conversion_rate: Float?, + dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + class GroupedWithMeteredMinimum < Orb::Internal::Type::BaseModel + attr_accessor cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::cadence + + attr_accessor currency: String + + attr_accessor grouped_with_metered_minimum_config: ::Hash[Symbol, top] + + attr_accessor item_id: String + + attr_accessor model_type: :grouped_with_metered_minimum + + attr_accessor name: String + + attr_accessor billable_metric_id: String? + + attr_accessor billed_in_advance: bool? + + attr_accessor billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration? + + attr_accessor conversion_rate: Float? + + attr_accessor dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoice_grouping_key: String? + + attr_accessor invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration? + + attr_accessor metadata: ::Hash[Symbol, String?]? + + def initialize: ( + cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::cadence, + currency: String, + grouped_with_metered_minimum_config: ::Hash[Symbol, top], + item_id: String, + name: String, + ?billable_metric_id: String?, + ?billed_in_advance: bool?, + ?billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration?, + ?conversion_rate: Float?, + ?dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration?, + ?external_price_id: String?, + ?fixed_price_quantity: Float?, + ?invoice_grouping_key: String?, + ?invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration?, + ?metadata: ::Hash[Symbol, String?]?, + ?model_type: :grouped_with_metered_minimum + ) -> void + + def to_hash: -> { + cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::cadence, + currency: String, + grouped_with_metered_minimum_config: ::Hash[Symbol, top], + item_id: String, + model_type: :grouped_with_metered_minimum, + name: String, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration?, + conversion_rate: Float?, + dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + type cadence = + :annual + | :semi_annual + | :monthly + | :quarterly + | :one_time + | :custom + + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL: :annual + SEMI_ANNUAL: :semi_annual + MONTHLY: :monthly + QUARTERLY: :quarterly + ONE_TIME: :one_time + CUSTOM: :custom + + def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::cadence] + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::duration_unit] + end + end + + type dimensional_price_configuration = + { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String] + + attr_accessor dimensional_price_group_id: String? + + attr_accessor external_dimensional_price_group_id: String? + + def initialize: ( + dimension_values: ::Array[String], + ?dimensional_price_group_id: String?, + ?external_dimensional_price_group_id: String? + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::duration_unit] + end + end + end + + type matrix_with_display_name = + { + cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::cadence, + currency: String, + item_id: String, + matrix_with_display_name_config: ::Hash[Symbol, top], + model_type: :matrix_with_display_name, + name: String, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::BillingCycleConfiguration?, + conversion_rate: Float?, + dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + class MatrixWithDisplayName < Orb::Internal::Type::BaseModel + attr_accessor cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::cadence + + attr_accessor currency: String + + attr_accessor item_id: String + + attr_accessor matrix_with_display_name_config: ::Hash[Symbol, top] + + attr_accessor model_type: :matrix_with_display_name + + attr_accessor name: String + + attr_accessor billable_metric_id: String? + + attr_accessor billed_in_advance: bool? + + attr_accessor billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::BillingCycleConfiguration? + + attr_accessor conversion_rate: Float? + + attr_accessor dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::DimensionalPriceConfiguration? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoice_grouping_key: String? + + attr_accessor invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::InvoicingCycleConfiguration? + + attr_accessor metadata: ::Hash[Symbol, String?]? + + def initialize: ( + cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::cadence, + currency: String, + item_id: String, + matrix_with_display_name_config: ::Hash[Symbol, top], + name: String, + ?billable_metric_id: String?, + ?billed_in_advance: bool?, + ?billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::BillingCycleConfiguration?, + ?conversion_rate: Float?, + ?dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::DimensionalPriceConfiguration?, + ?external_price_id: String?, + ?fixed_price_quantity: Float?, + ?invoice_grouping_key: String?, + ?invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::InvoicingCycleConfiguration?, + ?metadata: ::Hash[Symbol, String?]?, + ?model_type: :matrix_with_display_name + ) -> void + + def to_hash: -> { + cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::cadence, + currency: String, + item_id: String, + matrix_with_display_name_config: ::Hash[Symbol, top], + model_type: :matrix_with_display_name, + name: String, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::BillingCycleConfiguration?, + conversion_rate: Float?, + dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + type cadence = + :annual + | :semi_annual + | :monthly + | :quarterly + | :one_time + | :custom + + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL: :annual + SEMI_ANNUAL: :semi_annual + MONTHLY: :monthly + QUARTERLY: :quarterly + ONE_TIME: :one_time + CUSTOM: :custom + + def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::cadence] + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::BillingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::BillingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::BillingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::BillingCycleConfiguration::duration_unit] + end + end + + type dimensional_price_configuration = + { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String] + + attr_accessor dimensional_price_group_id: String? + + attr_accessor external_dimensional_price_group_id: String? + + def initialize: ( + dimension_values: ::Array[String], + ?dimensional_price_group_id: String?, + ?external_dimensional_price_group_id: String? + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::duration_unit] + end + end + end + + type bulk_with_proration = + { + bulk_with_proration_config: ::Hash[Symbol, top], + cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::cadence, + currency: String, + item_id: String, + model_type: :bulk_with_proration, + name: String, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::BillingCycleConfiguration?, + conversion_rate: Float?, + dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + class BulkWithProration < Orb::Internal::Type::BaseModel + attr_accessor bulk_with_proration_config: ::Hash[Symbol, top] + + attr_accessor cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::cadence + + attr_accessor currency: String + + attr_accessor item_id: String + + attr_accessor model_type: :bulk_with_proration + + attr_accessor name: String + + attr_accessor billable_metric_id: String? + + attr_accessor billed_in_advance: bool? + + attr_accessor billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::BillingCycleConfiguration? + + attr_accessor conversion_rate: Float? + + attr_accessor dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::DimensionalPriceConfiguration? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoice_grouping_key: String? + + attr_accessor invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::InvoicingCycleConfiguration? + + attr_accessor metadata: ::Hash[Symbol, String?]? + + def initialize: ( + bulk_with_proration_config: ::Hash[Symbol, top], + cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::cadence, + currency: String, + item_id: String, + name: String, + ?billable_metric_id: String?, + ?billed_in_advance: bool?, + ?billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::BillingCycleConfiguration?, + ?conversion_rate: Float?, + ?dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::DimensionalPriceConfiguration?, + ?external_price_id: String?, + ?fixed_price_quantity: Float?, + ?invoice_grouping_key: String?, + ?invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::InvoicingCycleConfiguration?, + ?metadata: ::Hash[Symbol, String?]?, + ?model_type: :bulk_with_proration + ) -> void + + def to_hash: -> { + bulk_with_proration_config: ::Hash[Symbol, top], + cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::cadence, + currency: String, + item_id: String, + model_type: :bulk_with_proration, + name: String, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::BillingCycleConfiguration?, + conversion_rate: Float?, + dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + type cadence = + :annual + | :semi_annual + | :monthly + | :quarterly + | :one_time + | :custom + + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL: :annual + SEMI_ANNUAL: :semi_annual + MONTHLY: :monthly + QUARTERLY: :quarterly + ONE_TIME: :one_time + CUSTOM: :custom + + def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::cadence] + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::BillingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::BillingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::BillingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::BillingCycleConfiguration::duration_unit] + end + end + + type dimensional_price_configuration = + { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String] + + attr_accessor dimensional_price_group_id: String? + + attr_accessor external_dimensional_price_group_id: String? + + def initialize: ( + dimension_values: ::Array[String], + ?dimensional_price_group_id: String?, + ?external_dimensional_price_group_id: String? + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::InvoicingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::InvoicingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::InvoicingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithProration::InvoicingCycleConfiguration::duration_unit] + end + end + end + + type grouped_tiered_package = + { + cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::cadence, + currency: String, + grouped_tiered_package_config: ::Hash[Symbol, top], + item_id: String, + model_type: :grouped_tiered_package, + name: String, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::BillingCycleConfiguration?, + conversion_rate: Float?, + dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + class GroupedTieredPackage < Orb::Internal::Type::BaseModel + attr_accessor cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::cadence + + attr_accessor currency: String + + attr_accessor grouped_tiered_package_config: ::Hash[Symbol, top] + + attr_accessor item_id: String + + attr_accessor model_type: :grouped_tiered_package + + attr_accessor name: String + + attr_accessor billable_metric_id: String? + + attr_accessor billed_in_advance: bool? + + attr_accessor billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::BillingCycleConfiguration? + + attr_accessor conversion_rate: Float? + + attr_accessor dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::DimensionalPriceConfiguration? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoice_grouping_key: String? + + attr_accessor invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::InvoicingCycleConfiguration? + + attr_accessor metadata: ::Hash[Symbol, String?]? + + def initialize: ( + cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::cadence, + currency: String, + grouped_tiered_package_config: ::Hash[Symbol, top], + item_id: String, + name: String, + ?billable_metric_id: String?, + ?billed_in_advance: bool?, + ?billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::BillingCycleConfiguration?, + ?conversion_rate: Float?, + ?dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::DimensionalPriceConfiguration?, + ?external_price_id: String?, + ?fixed_price_quantity: Float?, + ?invoice_grouping_key: String?, + ?invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::InvoicingCycleConfiguration?, + ?metadata: ::Hash[Symbol, String?]?, + ?model_type: :grouped_tiered_package + ) -> void + + def to_hash: -> { + cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::cadence, + currency: String, + grouped_tiered_package_config: ::Hash[Symbol, top], + item_id: String, + model_type: :grouped_tiered_package, + name: String, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::BillingCycleConfiguration?, + conversion_rate: Float?, + dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + type cadence = + :annual + | :semi_annual + | :monthly + | :quarterly + | :one_time + | :custom + + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL: :annual + SEMI_ANNUAL: :semi_annual + MONTHLY: :monthly + QUARTERLY: :quarterly + ONE_TIME: :one_time + CUSTOM: :custom + + def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::cadence] + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::BillingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::BillingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::BillingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::BillingCycleConfiguration::duration_unit] + end + end + + type dimensional_price_configuration = + { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String] + + attr_accessor dimensional_price_group_id: String? + + attr_accessor external_dimensional_price_group_id: String? + + def initialize: ( + dimension_values: ::Array[String], + ?dimensional_price_group_id: String?, + ?external_dimensional_price_group_id: String? + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::InvoicingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::InvoicingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::InvoicingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredPackage::InvoicingCycleConfiguration::duration_unit] + end + end + end + + type scalable_matrix_with_unit_pricing = + { + cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::cadence, + currency: String, + item_id: String, + model_type: :scalable_matrix_with_unit_pricing, + name: String, + scalable_matrix_with_unit_pricing_config: ::Hash[Symbol, top], + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration?, + conversion_rate: Float?, + dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + class ScalableMatrixWithUnitPricing < Orb::Internal::Type::BaseModel + attr_accessor cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::cadence + + attr_accessor currency: String + + attr_accessor item_id: String + + attr_accessor model_type: :scalable_matrix_with_unit_pricing + + attr_accessor name: String + + attr_accessor scalable_matrix_with_unit_pricing_config: ::Hash[Symbol, top] + + attr_accessor billable_metric_id: String? + + attr_accessor billed_in_advance: bool? + + attr_accessor billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration? + + attr_accessor conversion_rate: Float? + + attr_accessor dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoice_grouping_key: String? + + attr_accessor invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration? + + attr_accessor metadata: ::Hash[Symbol, String?]? + + def initialize: ( + cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::cadence, + currency: String, + item_id: String, + name: String, + scalable_matrix_with_unit_pricing_config: ::Hash[Symbol, top], + ?billable_metric_id: String?, + ?billed_in_advance: bool?, + ?billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration?, + ?conversion_rate: Float?, + ?dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration?, + ?external_price_id: String?, + ?fixed_price_quantity: Float?, + ?invoice_grouping_key: String?, + ?invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration?, + ?metadata: ::Hash[Symbol, String?]?, + ?model_type: :scalable_matrix_with_unit_pricing + ) -> void + + def to_hash: -> { + cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::cadence, + currency: String, + item_id: String, + model_type: :scalable_matrix_with_unit_pricing, + name: String, + scalable_matrix_with_unit_pricing_config: ::Hash[Symbol, top], + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration?, + conversion_rate: Float?, + dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + type cadence = + :annual + | :semi_annual + | :monthly + | :quarterly + | :one_time + | :custom + + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL: :annual + SEMI_ANNUAL: :semi_annual + MONTHLY: :monthly + QUARTERLY: :quarterly + ONE_TIME: :one_time + CUSTOM: :custom + + def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::cadence] + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::duration_unit] + end + end + + type dimensional_price_configuration = + { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String] + + attr_accessor dimensional_price_group_id: String? + + attr_accessor external_dimensional_price_group_id: String? + + def initialize: ( + dimension_values: ::Array[String], + ?dimensional_price_group_id: String?, + ?external_dimensional_price_group_id: String? + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::duration_unit] + end + end + end + + type scalable_matrix_with_tiered_pricing = + { + cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::cadence, + currency: String, + item_id: String, + model_type: :scalable_matrix_with_tiered_pricing, + name: String, + scalable_matrix_with_tiered_pricing_config: ::Hash[Symbol, top], + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration?, + conversion_rate: Float?, + dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + class ScalableMatrixWithTieredPricing < Orb::Internal::Type::BaseModel + attr_accessor cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::cadence + + attr_accessor currency: String + + attr_accessor item_id: String + + attr_accessor model_type: :scalable_matrix_with_tiered_pricing + + attr_accessor name: String + + attr_accessor scalable_matrix_with_tiered_pricing_config: ::Hash[Symbol, top] + + attr_accessor billable_metric_id: String? + + attr_accessor billed_in_advance: bool? + + attr_accessor billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration? + + attr_accessor conversion_rate: Float? + + attr_accessor dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoice_grouping_key: String? + + attr_accessor invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration? + + attr_accessor metadata: ::Hash[Symbol, String?]? + + def initialize: ( + cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::cadence, + currency: String, + item_id: String, + name: String, + scalable_matrix_with_tiered_pricing_config: ::Hash[Symbol, top], + ?billable_metric_id: String?, + ?billed_in_advance: bool?, + ?billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration?, + ?conversion_rate: Float?, + ?dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration?, + ?external_price_id: String?, + ?fixed_price_quantity: Float?, + ?invoice_grouping_key: String?, + ?invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration?, + ?metadata: ::Hash[Symbol, String?]?, + ?model_type: :scalable_matrix_with_tiered_pricing + ) -> void + + def to_hash: -> { + cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::cadence, + currency: String, + item_id: String, + model_type: :scalable_matrix_with_tiered_pricing, + name: String, + scalable_matrix_with_tiered_pricing_config: ::Hash[Symbol, top], + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration?, + conversion_rate: Float?, + dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + type cadence = + :annual + | :semi_annual + | :monthly + | :quarterly + | :one_time + | :custom + + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL: :annual + SEMI_ANNUAL: :semi_annual + MONTHLY: :monthly + QUARTERLY: :quarterly + ONE_TIME: :one_time + CUSTOM: :custom + + def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::cadence] + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::duration_unit] + end + end + + type dimensional_price_configuration = + { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String] + + attr_accessor dimensional_price_group_id: String? + + attr_accessor external_dimensional_price_group_id: String? + + def initialize: ( + dimension_values: ::Array[String], + ?dimensional_price_group_id: String?, + ?external_dimensional_price_group_id: String? + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::duration_unit] + end + end + end + + type cumulative_grouped_bulk = + { + cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::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::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::BillingCycleConfiguration?, + conversion_rate: Float?, + dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + class CumulativeGroupedBulk < Orb::Internal::Type::BaseModel + attr_accessor cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::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::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::BillingCycleConfiguration? + + attr_accessor conversion_rate: Float? + + attr_accessor dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoice_grouping_key: String? + + attr_accessor invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration? + + attr_accessor metadata: ::Hash[Symbol, String?]? + + def initialize: ( + cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::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::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::BillingCycleConfiguration?, + ?conversion_rate: Float?, + ?dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration?, + ?external_price_id: String?, + ?fixed_price_quantity: Float?, + ?invoice_grouping_key: String?, + ?invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration?, + ?metadata: ::Hash[Symbol, String?]?, + ?model_type: :cumulative_grouped_bulk + ) -> void + + def to_hash: -> { + cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::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::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::BillingCycleConfiguration?, + conversion_rate: Float?, + dimensional_price_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + type cadence = + :annual + | :semi_annual + | :monthly + | :quarterly + | :one_time + | :custom + + module Cadence + extend Orb::Internal::Type::Enum + + ANNUAL: :annual + SEMI_ANNUAL: :semi_annual + MONTHLY: :monthly + QUARTERLY: :quarterly + ONE_TIME: :one_time + CUSTOM: :custom + + def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::cadence] + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::BillingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::BillingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::BillingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::BillingCycleConfiguration::duration_unit] + end + end + + type dimensional_price_configuration = + { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + + class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel + attr_accessor dimension_values: ::Array[String] + + attr_accessor dimensional_price_group_id: String? + + attr_accessor external_dimensional_price_group_id: String? + + def initialize: ( + dimension_values: ::Array[String], + ?dimensional_price_group_id: String?, + ?external_dimensional_price_group_id: String? + ) -> void + + def to_hash: -> { + dimension_values: ::Array[String], + dimensional_price_group_id: String?, + external_dimensional_price_group_id: String? + } + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::duration_unit] + end + end + end + + def self?.variants: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::price] + end + end + end + end +end diff --git a/sig/orb/models/price_evaluate_multiple_response.rbs b/sig/orb/models/price_evaluate_multiple_response.rbs new file mode 100644 index 00000000..34ed3bab --- /dev/null +++ b/sig/orb/models/price_evaluate_multiple_response.rbs @@ -0,0 +1,50 @@ +module Orb + module Models + type price_evaluate_multiple_response = + { data: ::Array[Orb::Models::PriceEvaluateMultipleResponse::Data] } + + class PriceEvaluateMultipleResponse < Orb::Internal::Type::BaseModel + attr_accessor data: ::Array[Orb::Models::PriceEvaluateMultipleResponse::Data] + + def initialize: ( + data: ::Array[Orb::Models::PriceEvaluateMultipleResponse::Data] + ) -> void + + def to_hash: -> { + data: ::Array[Orb::Models::PriceEvaluateMultipleResponse::Data] + } + + type data = + { + currency: String, + price_groups: ::Array[Orb::EvaluatePriceGroup], + inline_price_index: Integer?, + price_id: String? + } + + class Data < Orb::Internal::Type::BaseModel + attr_accessor currency: String + + attr_accessor price_groups: ::Array[Orb::EvaluatePriceGroup] + + attr_accessor inline_price_index: Integer? + + attr_accessor price_id: String? + + def initialize: ( + currency: String, + price_groups: ::Array[Orb::EvaluatePriceGroup], + ?inline_price_index: Integer?, + ?price_id: String? + ) -> void + + def to_hash: -> { + currency: String, + price_groups: ::Array[Orb::EvaluatePriceGroup], + inline_price_index: Integer?, + price_id: String? + } + end + end + end +end diff --git a/sig/orb/models/price_evaluate_params.rbs b/sig/orb/models/price_evaluate_params.rbs index 6da33df5..94541df6 100644 --- a/sig/orb/models/price_evaluate_params.rbs +++ b/sig/orb/models/price_evaluate_params.rbs @@ -5,9 +5,9 @@ module Orb timeframe_end: Time, timeframe_start: Time, customer_id: String?, - events: ::Array[Orb::PriceEvaluateParams::Event]?, external_customer_id: String?, - price_evaluations: ::Array[Orb::PriceEvaluateParams::PriceEvaluation] + filter: String?, + grouping_keys: ::Array[String] } & Orb::Internal::Type::request_parameters @@ -21,23 +21,21 @@ module Orb attr_accessor customer_id: String? - attr_accessor events: ::Array[Orb::PriceEvaluateParams::Event]? - attr_accessor external_customer_id: String? - attr_reader price_evaluations: ::Array[Orb::PriceEvaluateParams::PriceEvaluation]? + attr_accessor filter: String? + + attr_reader grouping_keys: ::Array[String]? - def price_evaluations=: ( - ::Array[Orb::PriceEvaluateParams::PriceEvaluation] - ) -> ::Array[Orb::PriceEvaluateParams::PriceEvaluation] + def grouping_keys=: (::Array[String]) -> ::Array[String] def initialize: ( timeframe_end: Time, timeframe_start: Time, ?customer_id: String?, - ?events: ::Array[Orb::PriceEvaluateParams::Event]?, ?external_customer_id: String?, - ?price_evaluations: ::Array[Orb::PriceEvaluateParams::PriceEvaluation], + ?filter: String?, + ?grouping_keys: ::Array[String], ?request_options: Orb::request_opts ) -> void @@ -45,6186 +43,11 @@ module Orb timeframe_end: Time, timeframe_start: Time, customer_id: String?, - events: ::Array[Orb::PriceEvaluateParams::Event]?, external_customer_id: String?, - price_evaluations: ::Array[Orb::PriceEvaluateParams::PriceEvaluation], + filter: String?, + grouping_keys: ::Array[String], request_options: Orb::RequestOptions } - - type event = - { - event_name: String, - properties: top, - timestamp: Time, - customer_id: String?, - external_customer_id: String? - } - - class Event < Orb::Internal::Type::BaseModel - attr_accessor event_name: String - - attr_accessor properties: top - - attr_accessor timestamp: Time - - attr_accessor customer_id: String? - - attr_accessor external_customer_id: String? - - def initialize: ( - event_name: String, - properties: top, - timestamp: Time, - ?customer_id: String?, - ?external_customer_id: String? - ) -> void - - def to_hash: -> { - event_name: String, - properties: top, - timestamp: Time, - customer_id: String?, - external_customer_id: String? - } - end - - type price_evaluation = - { - filter: String?, - grouping_keys: ::Array[String], - price: Orb::Models::PriceEvaluateParams::PriceEvaluation::price?, - price_id: String? - } - - class PriceEvaluation < Orb::Internal::Type::BaseModel - attr_accessor filter: String? - - attr_reader grouping_keys: ::Array[String]? - - def grouping_keys=: (::Array[String]) -> ::Array[String] - - attr_accessor price: Orb::Models::PriceEvaluateParams::PriceEvaluation::price? - - attr_accessor price_id: String? - - def initialize: ( - ?filter: String?, - ?grouping_keys: ::Array[String], - ?price: Orb::Models::PriceEvaluateParams::PriceEvaluation::price?, - ?price_id: String? - ) -> void - - def to_hash: -> { - filter: String?, - grouping_keys: ::Array[String], - price: Orb::Models::PriceEvaluateParams::PriceEvaluation::price?, - price_id: String? - } - - type price = - Orb::PriceEvaluateParams::PriceEvaluation::Price::Unit - | Orb::PriceEvaluateParams::PriceEvaluation::Price::Package - | Orb::PriceEvaluateParams::PriceEvaluation::Price::Matrix - | Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation - | Orb::PriceEvaluateParams::PriceEvaluation::Price::Tiered - | Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredBps - | Orb::PriceEvaluateParams::PriceEvaluation::Price::Bps - | Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkBps - | Orb::PriceEvaluateParams::PriceEvaluation::Price::Bulk - | Orb::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount - | Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage - | Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered - | Orb::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage - | Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum - | Orb::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation - | Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum - | Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent - | Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration - | Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration - | Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation - | Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum - | Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum - | Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName - | Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration - | Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage - | Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing - | Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing - | Orb::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk - - module Price - extend Orb::Internal::Type::Union - - type unit = - { - cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Unit::cadence, - currency: String, - item_id: String, - model_type: :unit, - name: String, - unit_config: Orb::PriceEvaluateParams::PriceEvaluation::Price::Unit::UnitConfig, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::Unit::BillingCycleConfiguration?, - conversion_rate: Float?, - dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::Unit::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::Unit::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - class Unit < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Unit::cadence - - attr_accessor currency: String - - attr_accessor item_id: String - - attr_accessor model_type: :unit - - attr_accessor name: String - - attr_accessor unit_config: Orb::PriceEvaluateParams::PriceEvaluation::Price::Unit::UnitConfig - - attr_accessor billable_metric_id: String? - - attr_accessor billed_in_advance: bool? - - attr_accessor billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::Unit::BillingCycleConfiguration? - - attr_accessor conversion_rate: Float? - - attr_accessor dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::Unit::DimensionalPriceConfiguration? - - attr_accessor external_price_id: String? - - attr_accessor fixed_price_quantity: Float? - - attr_accessor invoice_grouping_key: String? - - attr_accessor invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::Unit::InvoicingCycleConfiguration? - - attr_accessor metadata: ::Hash[Symbol, String?]? - - def initialize: ( - cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Unit::cadence, - currency: String, - item_id: String, - name: String, - unit_config: Orb::PriceEvaluateParams::PriceEvaluation::Price::Unit::UnitConfig, - ?billable_metric_id: String?, - ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::Unit::BillingCycleConfiguration?, - ?conversion_rate: Float?, - ?dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::Unit::DimensionalPriceConfiguration?, - ?external_price_id: String?, - ?fixed_price_quantity: Float?, - ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::Unit::InvoicingCycleConfiguration?, - ?metadata: ::Hash[Symbol, String?]?, - ?model_type: :unit - ) -> void - - def to_hash: -> { - cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Unit::cadence, - currency: String, - item_id: String, - model_type: :unit, - name: String, - unit_config: Orb::PriceEvaluateParams::PriceEvaluation::Price::Unit::UnitConfig, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::Unit::BillingCycleConfiguration?, - conversion_rate: Float?, - dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::Unit::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::Unit::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - type cadence = - :annual - | :semi_annual - | :monthly - | :quarterly - | :one_time - | :custom - - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL: :annual - SEMI_ANNUAL: :semi_annual - MONTHLY: :monthly - QUARTERLY: :quarterly - ONE_TIME: :one_time - CUSTOM: :custom - - def self?.values: -> ::Array[Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Unit::cadence] - end - - type unit_config = { unit_amount: String } - - class UnitConfig < Orb::Internal::Type::BaseModel - attr_accessor unit_amount: String - - def initialize: (unit_amount: String) -> void - - def to_hash: -> { unit_amount: String } - end - - type billing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Unit::BillingCycleConfiguration::duration_unit - } - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Unit::BillingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Unit::BillingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Unit::BillingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Unit::BillingCycleConfiguration::duration_unit] - end - end - - type dimensional_price_configuration = - { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String] - - attr_accessor dimensional_price_group_id: String? - - attr_accessor external_dimensional_price_group_id: String? - - def initialize: ( - dimension_values: ::Array[String], - ?dimensional_price_group_id: String?, - ?external_dimensional_price_group_id: String? - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - end - - type invoicing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Unit::InvoicingCycleConfiguration::duration_unit - } - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Unit::InvoicingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Unit::InvoicingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Unit::InvoicingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Unit::InvoicingCycleConfiguration::duration_unit] - end - end - end - - type package = - { - cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Package::cadence, - currency: String, - item_id: String, - model_type: :package, - name: String, - package_config: Orb::PriceEvaluateParams::PriceEvaluation::Price::Package::PackageConfig, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::Package::BillingCycleConfiguration?, - conversion_rate: Float?, - dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::Package::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::Package::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - class Package < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Package::cadence - - attr_accessor currency: String - - attr_accessor item_id: String - - attr_accessor model_type: :package - - attr_accessor name: String - - attr_accessor package_config: Orb::PriceEvaluateParams::PriceEvaluation::Price::Package::PackageConfig - - attr_accessor billable_metric_id: String? - - attr_accessor billed_in_advance: bool? - - attr_accessor billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::Package::BillingCycleConfiguration? - - attr_accessor conversion_rate: Float? - - attr_accessor dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::Package::DimensionalPriceConfiguration? - - attr_accessor external_price_id: String? - - attr_accessor fixed_price_quantity: Float? - - attr_accessor invoice_grouping_key: String? - - attr_accessor invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::Package::InvoicingCycleConfiguration? - - attr_accessor metadata: ::Hash[Symbol, String?]? - - def initialize: ( - cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Package::cadence, - currency: String, - item_id: String, - name: String, - package_config: Orb::PriceEvaluateParams::PriceEvaluation::Price::Package::PackageConfig, - ?billable_metric_id: String?, - ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::Package::BillingCycleConfiguration?, - ?conversion_rate: Float?, - ?dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::Package::DimensionalPriceConfiguration?, - ?external_price_id: String?, - ?fixed_price_quantity: Float?, - ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::Package::InvoicingCycleConfiguration?, - ?metadata: ::Hash[Symbol, String?]?, - ?model_type: :package - ) -> void - - def to_hash: -> { - cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Package::cadence, - currency: String, - item_id: String, - model_type: :package, - name: String, - package_config: Orb::PriceEvaluateParams::PriceEvaluation::Price::Package::PackageConfig, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::Package::BillingCycleConfiguration?, - conversion_rate: Float?, - dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::Package::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::Package::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - type cadence = - :annual - | :semi_annual - | :monthly - | :quarterly - | :one_time - | :custom - - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL: :annual - SEMI_ANNUAL: :semi_annual - MONTHLY: :monthly - QUARTERLY: :quarterly - ONE_TIME: :one_time - CUSTOM: :custom - - def self?.values: -> ::Array[Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Package::cadence] - end - - type package_config = - { package_amount: String, package_size: Integer } - - class PackageConfig < Orb::Internal::Type::BaseModel - attr_accessor package_amount: String - - attr_accessor package_size: Integer - - def initialize: ( - package_amount: String, - package_size: Integer - ) -> void - - def to_hash: -> { package_amount: String, package_size: Integer } - end - - type billing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Package::BillingCycleConfiguration::duration_unit - } - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Package::BillingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Package::BillingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Package::BillingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Package::BillingCycleConfiguration::duration_unit] - end - end - - type dimensional_price_configuration = - { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String] - - attr_accessor dimensional_price_group_id: String? - - attr_accessor external_dimensional_price_group_id: String? - - def initialize: ( - dimension_values: ::Array[String], - ?dimensional_price_group_id: String?, - ?external_dimensional_price_group_id: String? - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - end - - type invoicing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Package::InvoicingCycleConfiguration::duration_unit - } - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Package::InvoicingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Package::InvoicingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Package::InvoicingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Package::InvoicingCycleConfiguration::duration_unit] - end - end - end - - type matrix = - { - cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Matrix::cadence, - currency: String, - item_id: String, - matrix_config: Orb::PriceEvaluateParams::PriceEvaluation::Price::Matrix::MatrixConfig, - model_type: :matrix, - name: String, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::Matrix::BillingCycleConfiguration?, - conversion_rate: Float?, - dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::Matrix::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::Matrix::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - class Matrix < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Matrix::cadence - - attr_accessor currency: String - - attr_accessor item_id: String - - attr_accessor matrix_config: Orb::PriceEvaluateParams::PriceEvaluation::Price::Matrix::MatrixConfig - - attr_accessor model_type: :matrix - - attr_accessor name: String - - attr_accessor billable_metric_id: String? - - attr_accessor billed_in_advance: bool? - - attr_accessor billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::Matrix::BillingCycleConfiguration? - - attr_accessor conversion_rate: Float? - - attr_accessor dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::Matrix::DimensionalPriceConfiguration? - - attr_accessor external_price_id: String? - - attr_accessor fixed_price_quantity: Float? - - attr_accessor invoice_grouping_key: String? - - attr_accessor invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::Matrix::InvoicingCycleConfiguration? - - attr_accessor metadata: ::Hash[Symbol, String?]? - - def initialize: ( - cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Matrix::cadence, - currency: String, - item_id: String, - matrix_config: Orb::PriceEvaluateParams::PriceEvaluation::Price::Matrix::MatrixConfig, - name: String, - ?billable_metric_id: String?, - ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::Matrix::BillingCycleConfiguration?, - ?conversion_rate: Float?, - ?dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::Matrix::DimensionalPriceConfiguration?, - ?external_price_id: String?, - ?fixed_price_quantity: Float?, - ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::Matrix::InvoicingCycleConfiguration?, - ?metadata: ::Hash[Symbol, String?]?, - ?model_type: :matrix - ) -> void - - def to_hash: -> { - cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Matrix::cadence, - currency: String, - item_id: String, - matrix_config: Orb::PriceEvaluateParams::PriceEvaluation::Price::Matrix::MatrixConfig, - model_type: :matrix, - name: String, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::Matrix::BillingCycleConfiguration?, - conversion_rate: Float?, - dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::Matrix::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::Matrix::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - type cadence = - :annual - | :semi_annual - | :monthly - | :quarterly - | :one_time - | :custom - - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL: :annual - SEMI_ANNUAL: :semi_annual - MONTHLY: :monthly - QUARTERLY: :quarterly - ONE_TIME: :one_time - CUSTOM: :custom - - def self?.values: -> ::Array[Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Matrix::cadence] - end - - type matrix_config = - { - default_unit_amount: String, - dimensions: ::Array[String?], - matrix_values: ::Array[Orb::PriceEvaluateParams::PriceEvaluation::Price::Matrix::MatrixConfig::MatrixValue] - } - - class MatrixConfig < Orb::Internal::Type::BaseModel - attr_accessor default_unit_amount: String - - attr_accessor dimensions: ::Array[String?] - - attr_accessor matrix_values: ::Array[Orb::PriceEvaluateParams::PriceEvaluation::Price::Matrix::MatrixConfig::MatrixValue] - - def initialize: ( - default_unit_amount: String, - dimensions: ::Array[String?], - matrix_values: ::Array[Orb::PriceEvaluateParams::PriceEvaluation::Price::Matrix::MatrixConfig::MatrixValue] - ) -> void - - def to_hash: -> { - default_unit_amount: String, - dimensions: ::Array[String?], - matrix_values: ::Array[Orb::PriceEvaluateParams::PriceEvaluation::Price::Matrix::MatrixConfig::MatrixValue] - } - - type matrix_value = - { dimension_values: ::Array[String?], unit_amount: String } - - class MatrixValue < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String?] - - attr_accessor unit_amount: String - - def initialize: ( - dimension_values: ::Array[String?], - unit_amount: String - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String?], - unit_amount: String - } - end - end - - type billing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Matrix::BillingCycleConfiguration::duration_unit - } - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Matrix::BillingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Matrix::BillingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Matrix::BillingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Matrix::BillingCycleConfiguration::duration_unit] - end - end - - type dimensional_price_configuration = - { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String] - - attr_accessor dimensional_price_group_id: String? - - attr_accessor external_dimensional_price_group_id: String? - - def initialize: ( - dimension_values: ::Array[String], - ?dimensional_price_group_id: String?, - ?external_dimensional_price_group_id: String? - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - end - - type invoicing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Matrix::InvoicingCycleConfiguration::duration_unit - } - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Matrix::InvoicingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Matrix::InvoicingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Matrix::InvoicingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Matrix::InvoicingCycleConfiguration::duration_unit] - end - end - end - - type matrix_with_allocation = - { - cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::cadence, - currency: String, - item_id: String, - matrix_with_allocation_config: Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::MatrixWithAllocationConfig, - model_type: :matrix_with_allocation, - name: String, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::BillingCycleConfiguration?, - conversion_rate: Float?, - dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - class MatrixWithAllocation < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::cadence - - attr_accessor currency: String - - attr_accessor item_id: String - - attr_accessor matrix_with_allocation_config: Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::MatrixWithAllocationConfig - - attr_accessor model_type: :matrix_with_allocation - - attr_accessor name: String - - attr_accessor billable_metric_id: String? - - attr_accessor billed_in_advance: bool? - - attr_accessor billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::BillingCycleConfiguration? - - attr_accessor conversion_rate: Float? - - attr_accessor dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::DimensionalPriceConfiguration? - - attr_accessor external_price_id: String? - - attr_accessor fixed_price_quantity: Float? - - attr_accessor invoice_grouping_key: String? - - attr_accessor invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::InvoicingCycleConfiguration? - - attr_accessor metadata: ::Hash[Symbol, String?]? - - def initialize: ( - cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::cadence, - currency: String, - item_id: String, - matrix_with_allocation_config: Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::MatrixWithAllocationConfig, - name: String, - ?billable_metric_id: String?, - ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::BillingCycleConfiguration?, - ?conversion_rate: Float?, - ?dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::DimensionalPriceConfiguration?, - ?external_price_id: String?, - ?fixed_price_quantity: Float?, - ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::InvoicingCycleConfiguration?, - ?metadata: ::Hash[Symbol, String?]?, - ?model_type: :matrix_with_allocation - ) -> void - - def to_hash: -> { - cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::cadence, - currency: String, - item_id: String, - matrix_with_allocation_config: Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::MatrixWithAllocationConfig, - model_type: :matrix_with_allocation, - name: String, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::BillingCycleConfiguration?, - conversion_rate: Float?, - dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - type cadence = - :annual - | :semi_annual - | :monthly - | :quarterly - | :one_time - | :custom - - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL: :annual - SEMI_ANNUAL: :semi_annual - MONTHLY: :monthly - QUARTERLY: :quarterly - ONE_TIME: :one_time - CUSTOM: :custom - - def self?.values: -> ::Array[Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::cadence] - end - - type matrix_with_allocation_config = - { - allocation: Float, - default_unit_amount: String, - dimensions: ::Array[String?], - matrix_values: ::Array[Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue] - } - - class MatrixWithAllocationConfig < Orb::Internal::Type::BaseModel - attr_accessor allocation: Float - - attr_accessor default_unit_amount: String - - attr_accessor dimensions: ::Array[String?] - - attr_accessor matrix_values: ::Array[Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue] - - def initialize: ( - allocation: Float, - default_unit_amount: String, - dimensions: ::Array[String?], - matrix_values: ::Array[Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue] - ) -> void - - def to_hash: -> { - allocation: Float, - default_unit_amount: String, - dimensions: ::Array[String?], - matrix_values: ::Array[Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::MatrixWithAllocationConfig::MatrixValue] - } - - type matrix_value = - { dimension_values: ::Array[String?], unit_amount: String } - - class MatrixValue < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String?] - - attr_accessor unit_amount: String - - def initialize: ( - dimension_values: ::Array[String?], - unit_amount: String - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String?], - unit_amount: String - } - end - end - - type billing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::BillingCycleConfiguration::duration_unit - } - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::BillingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::BillingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::BillingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::BillingCycleConfiguration::duration_unit] - end - end - - type dimensional_price_configuration = - { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String] - - attr_accessor dimensional_price_group_id: String? - - attr_accessor external_dimensional_price_group_id: String? - - def initialize: ( - dimension_values: ::Array[String], - ?dimensional_price_group_id: String?, - ?external_dimensional_price_group_id: String? - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - end - - type invoicing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::InvoicingCycleConfiguration::duration_unit - } - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::InvoicingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::InvoicingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::InvoicingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithAllocation::InvoicingCycleConfiguration::duration_unit] - end - end - end - - type tiered = - { - cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Tiered::cadence, - currency: String, - item_id: String, - model_type: :tiered, - name: String, - tiered_config: Orb::PriceEvaluateParams::PriceEvaluation::Price::Tiered::TieredConfig, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::Tiered::BillingCycleConfiguration?, - conversion_rate: Float?, - dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::Tiered::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::Tiered::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - class Tiered < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Tiered::cadence - - attr_accessor currency: String - - attr_accessor item_id: String - - attr_accessor model_type: :tiered - - attr_accessor name: String - - attr_accessor tiered_config: Orb::PriceEvaluateParams::PriceEvaluation::Price::Tiered::TieredConfig - - attr_accessor billable_metric_id: String? - - attr_accessor billed_in_advance: bool? - - attr_accessor billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::Tiered::BillingCycleConfiguration? - - attr_accessor conversion_rate: Float? - - attr_accessor dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::Tiered::DimensionalPriceConfiguration? - - attr_accessor external_price_id: String? - - attr_accessor fixed_price_quantity: Float? - - attr_accessor invoice_grouping_key: String? - - attr_accessor invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::Tiered::InvoicingCycleConfiguration? - - attr_accessor metadata: ::Hash[Symbol, String?]? - - def initialize: ( - cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Tiered::cadence, - currency: String, - item_id: String, - name: String, - tiered_config: Orb::PriceEvaluateParams::PriceEvaluation::Price::Tiered::TieredConfig, - ?billable_metric_id: String?, - ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::Tiered::BillingCycleConfiguration?, - ?conversion_rate: Float?, - ?dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::Tiered::DimensionalPriceConfiguration?, - ?external_price_id: String?, - ?fixed_price_quantity: Float?, - ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::Tiered::InvoicingCycleConfiguration?, - ?metadata: ::Hash[Symbol, String?]?, - ?model_type: :tiered - ) -> void - - def to_hash: -> { - cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Tiered::cadence, - currency: String, - item_id: String, - model_type: :tiered, - name: String, - tiered_config: Orb::PriceEvaluateParams::PriceEvaluation::Price::Tiered::TieredConfig, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::Tiered::BillingCycleConfiguration?, - conversion_rate: Float?, - dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::Tiered::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::Tiered::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - type cadence = - :annual - | :semi_annual - | :monthly - | :quarterly - | :one_time - | :custom - - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL: :annual - SEMI_ANNUAL: :semi_annual - MONTHLY: :monthly - QUARTERLY: :quarterly - ONE_TIME: :one_time - CUSTOM: :custom - - def self?.values: -> ::Array[Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Tiered::cadence] - end - - type tiered_config = - { - tiers: ::Array[Orb::PriceEvaluateParams::PriceEvaluation::Price::Tiered::TieredConfig::Tier] - } - - class TieredConfig < Orb::Internal::Type::BaseModel - attr_accessor tiers: ::Array[Orb::PriceEvaluateParams::PriceEvaluation::Price::Tiered::TieredConfig::Tier] - - def initialize: ( - tiers: ::Array[Orb::PriceEvaluateParams::PriceEvaluation::Price::Tiered::TieredConfig::Tier] - ) -> void - - def to_hash: -> { - tiers: ::Array[Orb::PriceEvaluateParams::PriceEvaluation::Price::Tiered::TieredConfig::Tier] - } - - type tier = - { first_unit: Float, unit_amount: String, last_unit: Float? } - - class Tier < Orb::Internal::Type::BaseModel - attr_accessor first_unit: Float - - attr_accessor unit_amount: String - - attr_accessor last_unit: Float? - - def initialize: ( - first_unit: Float, - unit_amount: String, - ?last_unit: Float? - ) -> void - - def to_hash: -> { - first_unit: Float, - unit_amount: String, - last_unit: Float? - } - end - end - - type billing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Tiered::BillingCycleConfiguration::duration_unit - } - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Tiered::BillingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Tiered::BillingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Tiered::BillingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Tiered::BillingCycleConfiguration::duration_unit] - end - end - - type dimensional_price_configuration = - { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String] - - attr_accessor dimensional_price_group_id: String? - - attr_accessor external_dimensional_price_group_id: String? - - def initialize: ( - dimension_values: ::Array[String], - ?dimensional_price_group_id: String?, - ?external_dimensional_price_group_id: String? - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - end - - type invoicing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Tiered::InvoicingCycleConfiguration::duration_unit - } - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Tiered::InvoicingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Tiered::InvoicingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Tiered::InvoicingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Tiered::InvoicingCycleConfiguration::duration_unit] - end - end - end - - type tiered_bps = - { - cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::cadence, - currency: String, - item_id: String, - model_type: :tiered_bps, - name: String, - tiered_bps_config: Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::TieredBpsConfig, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::BillingCycleConfiguration?, - conversion_rate: Float?, - dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - class TieredBps < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::cadence - - attr_accessor currency: String - - attr_accessor item_id: String - - attr_accessor model_type: :tiered_bps - - attr_accessor name: String - - attr_accessor tiered_bps_config: Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::TieredBpsConfig - - attr_accessor billable_metric_id: String? - - attr_accessor billed_in_advance: bool? - - attr_accessor billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::BillingCycleConfiguration? - - attr_accessor conversion_rate: Float? - - attr_accessor dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::DimensionalPriceConfiguration? - - attr_accessor external_price_id: String? - - attr_accessor fixed_price_quantity: Float? - - attr_accessor invoice_grouping_key: String? - - attr_accessor invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::InvoicingCycleConfiguration? - - attr_accessor metadata: ::Hash[Symbol, String?]? - - def initialize: ( - cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::cadence, - currency: String, - item_id: String, - name: String, - tiered_bps_config: Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::TieredBpsConfig, - ?billable_metric_id: String?, - ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::BillingCycleConfiguration?, - ?conversion_rate: Float?, - ?dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::DimensionalPriceConfiguration?, - ?external_price_id: String?, - ?fixed_price_quantity: Float?, - ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::InvoicingCycleConfiguration?, - ?metadata: ::Hash[Symbol, String?]?, - ?model_type: :tiered_bps - ) -> void - - def to_hash: -> { - cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::cadence, - currency: String, - item_id: String, - model_type: :tiered_bps, - name: String, - tiered_bps_config: Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::TieredBpsConfig, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::BillingCycleConfiguration?, - conversion_rate: Float?, - dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - type cadence = - :annual - | :semi_annual - | :monthly - | :quarterly - | :one_time - | :custom - - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL: :annual - SEMI_ANNUAL: :semi_annual - MONTHLY: :monthly - QUARTERLY: :quarterly - ONE_TIME: :one_time - CUSTOM: :custom - - def self?.values: -> ::Array[Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::cadence] - end - - type tiered_bps_config = - { - tiers: ::Array[Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::TieredBpsConfig::Tier] - } - - class TieredBpsConfig < Orb::Internal::Type::BaseModel - attr_accessor tiers: ::Array[Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::TieredBpsConfig::Tier] - - def initialize: ( - tiers: ::Array[Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::TieredBpsConfig::Tier] - ) -> void - - def to_hash: -> { - tiers: ::Array[Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::TieredBpsConfig::Tier] - } - - type tier = - { - bps: Float, - minimum_amount: String, - maximum_amount: String?, - per_unit_maximum: String? - } - - class Tier < Orb::Internal::Type::BaseModel - attr_accessor bps: Float - - attr_accessor minimum_amount: String - - attr_accessor maximum_amount: String? - - attr_accessor per_unit_maximum: String? - - def initialize: ( - bps: Float, - minimum_amount: String, - ?maximum_amount: String?, - ?per_unit_maximum: String? - ) -> void - - def to_hash: -> { - bps: Float, - minimum_amount: String, - maximum_amount: String?, - per_unit_maximum: String? - } - end - end - - type billing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::BillingCycleConfiguration::duration_unit - } - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::BillingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::BillingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::BillingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::BillingCycleConfiguration::duration_unit] - end - end - - type dimensional_price_configuration = - { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String] - - attr_accessor dimensional_price_group_id: String? - - attr_accessor external_dimensional_price_group_id: String? - - def initialize: ( - dimension_values: ::Array[String], - ?dimensional_price_group_id: String?, - ?external_dimensional_price_group_id: String? - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - end - - type invoicing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::InvoicingCycleConfiguration::duration_unit - } - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::InvoicingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::InvoicingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::InvoicingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredBps::InvoicingCycleConfiguration::duration_unit] - end - end - end - - type bps = - { - bps_config: Orb::PriceEvaluateParams::PriceEvaluation::Price::Bps::BpsConfig, - cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Bps::cadence, - currency: String, - item_id: String, - model_type: :bps, - name: String, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::Bps::BillingCycleConfiguration?, - conversion_rate: Float?, - dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::Bps::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::Bps::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - class Bps < Orb::Internal::Type::BaseModel - attr_accessor bps_config: Orb::PriceEvaluateParams::PriceEvaluation::Price::Bps::BpsConfig - - attr_accessor cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Bps::cadence - - attr_accessor currency: String - - attr_accessor item_id: String - - attr_accessor model_type: :bps - - attr_accessor name: String - - attr_accessor billable_metric_id: String? - - attr_accessor billed_in_advance: bool? - - attr_accessor billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::Bps::BillingCycleConfiguration? - - attr_accessor conversion_rate: Float? - - attr_accessor dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::Bps::DimensionalPriceConfiguration? - - attr_accessor external_price_id: String? - - attr_accessor fixed_price_quantity: Float? - - attr_accessor invoice_grouping_key: String? - - attr_accessor invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::Bps::InvoicingCycleConfiguration? - - attr_accessor metadata: ::Hash[Symbol, String?]? - - def initialize: ( - bps_config: Orb::PriceEvaluateParams::PriceEvaluation::Price::Bps::BpsConfig, - cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Bps::cadence, - currency: String, - item_id: String, - name: String, - ?billable_metric_id: String?, - ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::Bps::BillingCycleConfiguration?, - ?conversion_rate: Float?, - ?dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::Bps::DimensionalPriceConfiguration?, - ?external_price_id: String?, - ?fixed_price_quantity: Float?, - ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::Bps::InvoicingCycleConfiguration?, - ?metadata: ::Hash[Symbol, String?]?, - ?model_type: :bps - ) -> void - - def to_hash: -> { - bps_config: Orb::PriceEvaluateParams::PriceEvaluation::Price::Bps::BpsConfig, - cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Bps::cadence, - currency: String, - item_id: String, - model_type: :bps, - name: String, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::Bps::BillingCycleConfiguration?, - conversion_rate: Float?, - dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::Bps::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::Bps::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - type bps_config = { bps: Float, per_unit_maximum: String? } - - class BpsConfig < Orb::Internal::Type::BaseModel - attr_accessor bps: Float - - attr_accessor per_unit_maximum: String? - - def initialize: (bps: Float, ?per_unit_maximum: String?) -> void - - def to_hash: -> { bps: Float, per_unit_maximum: String? } - end - - type cadence = - :annual - | :semi_annual - | :monthly - | :quarterly - | :one_time - | :custom - - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL: :annual - SEMI_ANNUAL: :semi_annual - MONTHLY: :monthly - QUARTERLY: :quarterly - ONE_TIME: :one_time - CUSTOM: :custom - - def self?.values: -> ::Array[Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Bps::cadence] - end - - type billing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Bps::BillingCycleConfiguration::duration_unit - } - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Bps::BillingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Bps::BillingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Bps::BillingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Bps::BillingCycleConfiguration::duration_unit] - end - end - - type dimensional_price_configuration = - { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String] - - attr_accessor dimensional_price_group_id: String? - - attr_accessor external_dimensional_price_group_id: String? - - def initialize: ( - dimension_values: ::Array[String], - ?dimensional_price_group_id: String?, - ?external_dimensional_price_group_id: String? - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - end - - type invoicing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Bps::InvoicingCycleConfiguration::duration_unit - } - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Bps::InvoicingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Bps::InvoicingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Bps::InvoicingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Bps::InvoicingCycleConfiguration::duration_unit] - end - end - end - - type bulk_bps = - { - bulk_bps_config: Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::BulkBpsConfig, - cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::cadence, - currency: String, - item_id: String, - model_type: :bulk_bps, - name: String, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::BillingCycleConfiguration?, - conversion_rate: Float?, - dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - class BulkBps < Orb::Internal::Type::BaseModel - attr_accessor bulk_bps_config: Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::BulkBpsConfig - - attr_accessor cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::cadence - - attr_accessor currency: String - - attr_accessor item_id: String - - attr_accessor model_type: :bulk_bps - - attr_accessor name: String - - attr_accessor billable_metric_id: String? - - attr_accessor billed_in_advance: bool? - - attr_accessor billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::BillingCycleConfiguration? - - attr_accessor conversion_rate: Float? - - attr_accessor dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::DimensionalPriceConfiguration? - - attr_accessor external_price_id: String? - - attr_accessor fixed_price_quantity: Float? - - attr_accessor invoice_grouping_key: String? - - attr_accessor invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::InvoicingCycleConfiguration? - - attr_accessor metadata: ::Hash[Symbol, String?]? - - def initialize: ( - bulk_bps_config: Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::BulkBpsConfig, - cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::cadence, - currency: String, - item_id: String, - name: String, - ?billable_metric_id: String?, - ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::BillingCycleConfiguration?, - ?conversion_rate: Float?, - ?dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::DimensionalPriceConfiguration?, - ?external_price_id: String?, - ?fixed_price_quantity: Float?, - ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::InvoicingCycleConfiguration?, - ?metadata: ::Hash[Symbol, String?]?, - ?model_type: :bulk_bps - ) -> void - - def to_hash: -> { - bulk_bps_config: Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::BulkBpsConfig, - cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::cadence, - currency: String, - item_id: String, - model_type: :bulk_bps, - name: String, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::BillingCycleConfiguration?, - conversion_rate: Float?, - dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - type bulk_bps_config = - { - tiers: ::Array[Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::BulkBpsConfig::Tier] - } - - class BulkBpsConfig < Orb::Internal::Type::BaseModel - attr_accessor tiers: ::Array[Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::BulkBpsConfig::Tier] - - def initialize: ( - tiers: ::Array[Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::BulkBpsConfig::Tier] - ) -> void - - def to_hash: -> { - tiers: ::Array[Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::BulkBpsConfig::Tier] - } - - type tier = - { - bps: Float, - maximum_amount: String?, - per_unit_maximum: String? - } - - class Tier < Orb::Internal::Type::BaseModel - attr_accessor bps: Float - - attr_accessor maximum_amount: String? - - attr_accessor per_unit_maximum: String? - - def initialize: ( - bps: Float, - ?maximum_amount: String?, - ?per_unit_maximum: String? - ) -> void - - def to_hash: -> { - bps: Float, - maximum_amount: String?, - per_unit_maximum: String? - } - end - end - - type cadence = - :annual - | :semi_annual - | :monthly - | :quarterly - | :one_time - | :custom - - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL: :annual - SEMI_ANNUAL: :semi_annual - MONTHLY: :monthly - QUARTERLY: :quarterly - ONE_TIME: :one_time - CUSTOM: :custom - - def self?.values: -> ::Array[Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::cadence] - end - - type billing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::BillingCycleConfiguration::duration_unit - } - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::BillingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::BillingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::BillingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::BillingCycleConfiguration::duration_unit] - end - end - - type dimensional_price_configuration = - { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String] - - attr_accessor dimensional_price_group_id: String? - - attr_accessor external_dimensional_price_group_id: String? - - def initialize: ( - dimension_values: ::Array[String], - ?dimensional_price_group_id: String?, - ?external_dimensional_price_group_id: String? - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - end - - type invoicing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::InvoicingCycleConfiguration::duration_unit - } - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::InvoicingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::InvoicingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::InvoicingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::BulkBps::InvoicingCycleConfiguration::duration_unit] - end - end - end - - type bulk = - { - bulk_config: Orb::PriceEvaluateParams::PriceEvaluation::Price::Bulk::BulkConfig, - cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Bulk::cadence, - currency: String, - item_id: String, - model_type: :bulk, - name: String, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::Bulk::BillingCycleConfiguration?, - conversion_rate: Float?, - dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::Bulk::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::Bulk::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - class Bulk < Orb::Internal::Type::BaseModel - attr_accessor bulk_config: Orb::PriceEvaluateParams::PriceEvaluation::Price::Bulk::BulkConfig - - attr_accessor cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Bulk::cadence - - attr_accessor currency: String - - attr_accessor item_id: String - - attr_accessor model_type: :bulk - - attr_accessor name: String - - attr_accessor billable_metric_id: String? - - attr_accessor billed_in_advance: bool? - - attr_accessor billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::Bulk::BillingCycleConfiguration? - - attr_accessor conversion_rate: Float? - - attr_accessor dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::Bulk::DimensionalPriceConfiguration? - - attr_accessor external_price_id: String? - - attr_accessor fixed_price_quantity: Float? - - attr_accessor invoice_grouping_key: String? - - attr_accessor invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::Bulk::InvoicingCycleConfiguration? - - attr_accessor metadata: ::Hash[Symbol, String?]? - - def initialize: ( - bulk_config: Orb::PriceEvaluateParams::PriceEvaluation::Price::Bulk::BulkConfig, - cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Bulk::cadence, - currency: String, - item_id: String, - name: String, - ?billable_metric_id: String?, - ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::Bulk::BillingCycleConfiguration?, - ?conversion_rate: Float?, - ?dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::Bulk::DimensionalPriceConfiguration?, - ?external_price_id: String?, - ?fixed_price_quantity: Float?, - ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::Bulk::InvoicingCycleConfiguration?, - ?metadata: ::Hash[Symbol, String?]?, - ?model_type: :bulk - ) -> void - - def to_hash: -> { - bulk_config: Orb::PriceEvaluateParams::PriceEvaluation::Price::Bulk::BulkConfig, - cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Bulk::cadence, - currency: String, - item_id: String, - model_type: :bulk, - name: String, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::Bulk::BillingCycleConfiguration?, - conversion_rate: Float?, - dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::Bulk::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::Bulk::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - type bulk_config = - { - tiers: ::Array[Orb::PriceEvaluateParams::PriceEvaluation::Price::Bulk::BulkConfig::Tier] - } - - class BulkConfig < Orb::Internal::Type::BaseModel - attr_accessor tiers: ::Array[Orb::PriceEvaluateParams::PriceEvaluation::Price::Bulk::BulkConfig::Tier] - - def initialize: ( - tiers: ::Array[Orb::PriceEvaluateParams::PriceEvaluation::Price::Bulk::BulkConfig::Tier] - ) -> void - - def to_hash: -> { - tiers: ::Array[Orb::PriceEvaluateParams::PriceEvaluation::Price::Bulk::BulkConfig::Tier] - } - - type tier = { unit_amount: String, maximum_units: Float? } - - class Tier < Orb::Internal::Type::BaseModel - attr_accessor unit_amount: String - - attr_accessor maximum_units: Float? - - def initialize: ( - unit_amount: String, - ?maximum_units: Float? - ) -> void - - def to_hash: -> { unit_amount: String, maximum_units: Float? } - end - end - - type cadence = - :annual - | :semi_annual - | :monthly - | :quarterly - | :one_time - | :custom - - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL: :annual - SEMI_ANNUAL: :semi_annual - MONTHLY: :monthly - QUARTERLY: :quarterly - ONE_TIME: :one_time - CUSTOM: :custom - - def self?.values: -> ::Array[Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Bulk::cadence] - end - - type billing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Bulk::BillingCycleConfiguration::duration_unit - } - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Bulk::BillingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Bulk::BillingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Bulk::BillingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Bulk::BillingCycleConfiguration::duration_unit] - end - end - - type dimensional_price_configuration = - { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String] - - attr_accessor dimensional_price_group_id: String? - - attr_accessor external_dimensional_price_group_id: String? - - def initialize: ( - dimension_values: ::Array[String], - ?dimensional_price_group_id: String?, - ?external_dimensional_price_group_id: String? - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - end - - type invoicing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Bulk::InvoicingCycleConfiguration::duration_unit - } - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Bulk::InvoicingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Bulk::InvoicingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Bulk::InvoicingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::Bulk::InvoicingCycleConfiguration::duration_unit] - end - end - end - - type threshold_total_amount = - { - cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::cadence, - currency: String, - item_id: String, - model_type: :threshold_total_amount, - name: String, - threshold_total_amount_config: ::Hash[Symbol, top], - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::BillingCycleConfiguration?, - conversion_rate: Float?, - dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - class ThresholdTotalAmount < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::cadence - - attr_accessor currency: String - - attr_accessor item_id: String - - attr_accessor model_type: :threshold_total_amount - - attr_accessor name: String - - attr_accessor threshold_total_amount_config: ::Hash[Symbol, top] - - attr_accessor billable_metric_id: String? - - attr_accessor billed_in_advance: bool? - - attr_accessor billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::BillingCycleConfiguration? - - attr_accessor conversion_rate: Float? - - attr_accessor dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::DimensionalPriceConfiguration? - - attr_accessor external_price_id: String? - - attr_accessor fixed_price_quantity: Float? - - attr_accessor invoice_grouping_key: String? - - attr_accessor invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::InvoicingCycleConfiguration? - - attr_accessor metadata: ::Hash[Symbol, String?]? - - def initialize: ( - cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::cadence, - currency: String, - item_id: String, - name: String, - threshold_total_amount_config: ::Hash[Symbol, top], - ?billable_metric_id: String?, - ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::BillingCycleConfiguration?, - ?conversion_rate: Float?, - ?dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::DimensionalPriceConfiguration?, - ?external_price_id: String?, - ?fixed_price_quantity: Float?, - ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::InvoicingCycleConfiguration?, - ?metadata: ::Hash[Symbol, String?]?, - ?model_type: :threshold_total_amount - ) -> void - - def to_hash: -> { - cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::cadence, - currency: String, - item_id: String, - model_type: :threshold_total_amount, - name: String, - threshold_total_amount_config: ::Hash[Symbol, top], - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::BillingCycleConfiguration?, - conversion_rate: Float?, - dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - type cadence = - :annual - | :semi_annual - | :monthly - | :quarterly - | :one_time - | :custom - - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL: :annual - SEMI_ANNUAL: :semi_annual - MONTHLY: :monthly - QUARTERLY: :quarterly - ONE_TIME: :one_time - CUSTOM: :custom - - def self?.values: -> ::Array[Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::cadence] - end - - type billing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::BillingCycleConfiguration::duration_unit - } - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::BillingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::BillingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::BillingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::BillingCycleConfiguration::duration_unit] - end - end - - type dimensional_price_configuration = - { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String] - - attr_accessor dimensional_price_group_id: String? - - attr_accessor external_dimensional_price_group_id: String? - - def initialize: ( - dimension_values: ::Array[String], - ?dimensional_price_group_id: String?, - ?external_dimensional_price_group_id: String? - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - end - - type invoicing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::duration_unit - } - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ThresholdTotalAmount::InvoicingCycleConfiguration::duration_unit] - end - end - end - - type tiered_package = - { - cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::cadence, - currency: String, - item_id: String, - model_type: :tiered_package, - name: String, - tiered_package_config: ::Hash[Symbol, top], - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::BillingCycleConfiguration?, - conversion_rate: Float?, - dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - class TieredPackage < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::cadence - - attr_accessor currency: String - - attr_accessor item_id: String - - attr_accessor model_type: :tiered_package - - attr_accessor name: String - - attr_accessor tiered_package_config: ::Hash[Symbol, top] - - attr_accessor billable_metric_id: String? - - attr_accessor billed_in_advance: bool? - - attr_accessor billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::BillingCycleConfiguration? - - attr_accessor conversion_rate: Float? - - attr_accessor dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::DimensionalPriceConfiguration? - - attr_accessor external_price_id: String? - - attr_accessor fixed_price_quantity: Float? - - attr_accessor invoice_grouping_key: String? - - attr_accessor invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::InvoicingCycleConfiguration? - - attr_accessor metadata: ::Hash[Symbol, String?]? - - def initialize: ( - cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::cadence, - currency: String, - item_id: String, - name: String, - tiered_package_config: ::Hash[Symbol, top], - ?billable_metric_id: String?, - ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::BillingCycleConfiguration?, - ?conversion_rate: Float?, - ?dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::DimensionalPriceConfiguration?, - ?external_price_id: String?, - ?fixed_price_quantity: Float?, - ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::InvoicingCycleConfiguration?, - ?metadata: ::Hash[Symbol, String?]?, - ?model_type: :tiered_package - ) -> void - - def to_hash: -> { - cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::cadence, - currency: String, - item_id: String, - model_type: :tiered_package, - name: String, - tiered_package_config: ::Hash[Symbol, top], - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::BillingCycleConfiguration?, - conversion_rate: Float?, - dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - type cadence = - :annual - | :semi_annual - | :monthly - | :quarterly - | :one_time - | :custom - - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL: :annual - SEMI_ANNUAL: :semi_annual - MONTHLY: :monthly - QUARTERLY: :quarterly - ONE_TIME: :one_time - CUSTOM: :custom - - def self?.values: -> ::Array[Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::cadence] - end - - type billing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::BillingCycleConfiguration::duration_unit - } - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::BillingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::BillingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::BillingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::BillingCycleConfiguration::duration_unit] - end - end - - type dimensional_price_configuration = - { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String] - - attr_accessor dimensional_price_group_id: String? - - attr_accessor external_dimensional_price_group_id: String? - - def initialize: ( - dimension_values: ::Array[String], - ?dimensional_price_group_id: String?, - ?external_dimensional_price_group_id: String? - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - end - - type invoicing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::InvoicingCycleConfiguration::duration_unit - } - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::InvoicingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::InvoicingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::InvoicingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredPackage::InvoicingCycleConfiguration::duration_unit] - end - end - end - - type grouped_tiered = - { - cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::cadence, - currency: String, - grouped_tiered_config: ::Hash[Symbol, top], - item_id: String, - model_type: :grouped_tiered, - name: String, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::BillingCycleConfiguration?, - conversion_rate: Float?, - dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - class GroupedTiered < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::cadence - - attr_accessor currency: String - - attr_accessor grouped_tiered_config: ::Hash[Symbol, top] - - attr_accessor item_id: String - - attr_accessor model_type: :grouped_tiered - - attr_accessor name: String - - attr_accessor billable_metric_id: String? - - attr_accessor billed_in_advance: bool? - - attr_accessor billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::BillingCycleConfiguration? - - attr_accessor conversion_rate: Float? - - attr_accessor dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::DimensionalPriceConfiguration? - - attr_accessor external_price_id: String? - - attr_accessor fixed_price_quantity: Float? - - attr_accessor invoice_grouping_key: String? - - attr_accessor invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::InvoicingCycleConfiguration? - - attr_accessor metadata: ::Hash[Symbol, String?]? - - def initialize: ( - cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::cadence, - currency: String, - grouped_tiered_config: ::Hash[Symbol, top], - item_id: String, - name: String, - ?billable_metric_id: String?, - ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::BillingCycleConfiguration?, - ?conversion_rate: Float?, - ?dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::DimensionalPriceConfiguration?, - ?external_price_id: String?, - ?fixed_price_quantity: Float?, - ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::InvoicingCycleConfiguration?, - ?metadata: ::Hash[Symbol, String?]?, - ?model_type: :grouped_tiered - ) -> void - - def to_hash: -> { - cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::cadence, - currency: String, - grouped_tiered_config: ::Hash[Symbol, top], - item_id: String, - model_type: :grouped_tiered, - name: String, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::BillingCycleConfiguration?, - conversion_rate: Float?, - dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - type cadence = - :annual - | :semi_annual - | :monthly - | :quarterly - | :one_time - | :custom - - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL: :annual - SEMI_ANNUAL: :semi_annual - MONTHLY: :monthly - QUARTERLY: :quarterly - ONE_TIME: :one_time - CUSTOM: :custom - - def self?.values: -> ::Array[Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::cadence] - end - - type billing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::BillingCycleConfiguration::duration_unit - } - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::BillingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::BillingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::BillingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::BillingCycleConfiguration::duration_unit] - end - end - - type dimensional_price_configuration = - { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String] - - attr_accessor dimensional_price_group_id: String? - - attr_accessor external_dimensional_price_group_id: String? - - def initialize: ( - dimension_values: ::Array[String], - ?dimensional_price_group_id: String?, - ?external_dimensional_price_group_id: String? - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - end - - type invoicing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::InvoicingCycleConfiguration::duration_unit - } - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::InvoicingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::InvoicingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::InvoicingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedTiered::InvoicingCycleConfiguration::duration_unit] - end - end - end - - type max_group_tiered_package = - { - cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::cadence, - currency: String, - item_id: String, - max_group_tiered_package_config: ::Hash[Symbol, top], - model_type: :max_group_tiered_package, - name: String, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::BillingCycleConfiguration?, - conversion_rate: Float?, - dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - class MaxGroupTieredPackage < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::cadence - - attr_accessor currency: String - - attr_accessor item_id: String - - attr_accessor max_group_tiered_package_config: ::Hash[Symbol, top] - - attr_accessor model_type: :max_group_tiered_package - - attr_accessor name: String - - attr_accessor billable_metric_id: String? - - attr_accessor billed_in_advance: bool? - - attr_accessor billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::BillingCycleConfiguration? - - attr_accessor conversion_rate: Float? - - attr_accessor dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration? - - attr_accessor external_price_id: String? - - attr_accessor fixed_price_quantity: Float? - - attr_accessor invoice_grouping_key: String? - - attr_accessor invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration? - - attr_accessor metadata: ::Hash[Symbol, String?]? - - def initialize: ( - cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::cadence, - currency: String, - item_id: String, - max_group_tiered_package_config: ::Hash[Symbol, top], - name: String, - ?billable_metric_id: String?, - ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::BillingCycleConfiguration?, - ?conversion_rate: Float?, - ?dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration?, - ?external_price_id: String?, - ?fixed_price_quantity: Float?, - ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration?, - ?metadata: ::Hash[Symbol, String?]?, - ?model_type: :max_group_tiered_package - ) -> void - - def to_hash: -> { - cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::cadence, - currency: String, - item_id: String, - max_group_tiered_package_config: ::Hash[Symbol, top], - model_type: :max_group_tiered_package, - name: String, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::BillingCycleConfiguration?, - conversion_rate: Float?, - dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - type cadence = - :annual - | :semi_annual - | :monthly - | :quarterly - | :one_time - | :custom - - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL: :annual - SEMI_ANNUAL: :semi_annual - MONTHLY: :monthly - QUARTERLY: :quarterly - ONE_TIME: :one_time - CUSTOM: :custom - - def self?.values: -> ::Array[Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::cadence] - end - - type billing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::BillingCycleConfiguration::duration_unit - } - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::BillingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::BillingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::BillingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::BillingCycleConfiguration::duration_unit] - end - end - - type dimensional_price_configuration = - { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String] - - attr_accessor dimensional_price_group_id: String? - - attr_accessor external_dimensional_price_group_id: String? - - def initialize: ( - dimension_values: ::Array[String], - ?dimensional_price_group_id: String?, - ?external_dimensional_price_group_id: String? - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - end - - type invoicing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::duration_unit - } - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MaxGroupTieredPackage::InvoicingCycleConfiguration::duration_unit] - end - end - end - - type tiered_with_minimum = - { - cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::cadence, - currency: String, - item_id: String, - model_type: :tiered_with_minimum, - name: String, - tiered_with_minimum_config: ::Hash[Symbol, top], - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::BillingCycleConfiguration?, - conversion_rate: Float?, - dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - class TieredWithMinimum < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::cadence - - attr_accessor currency: String - - attr_accessor item_id: String - - attr_accessor model_type: :tiered_with_minimum - - attr_accessor name: String - - attr_accessor tiered_with_minimum_config: ::Hash[Symbol, top] - - attr_accessor billable_metric_id: String? - - attr_accessor billed_in_advance: bool? - - attr_accessor billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::BillingCycleConfiguration? - - attr_accessor conversion_rate: Float? - - attr_accessor dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::DimensionalPriceConfiguration? - - attr_accessor external_price_id: String? - - attr_accessor fixed_price_quantity: Float? - - attr_accessor invoice_grouping_key: String? - - attr_accessor invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::InvoicingCycleConfiguration? - - attr_accessor metadata: ::Hash[Symbol, String?]? - - def initialize: ( - cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::cadence, - currency: String, - item_id: String, - name: String, - tiered_with_minimum_config: ::Hash[Symbol, top], - ?billable_metric_id: String?, - ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::BillingCycleConfiguration?, - ?conversion_rate: Float?, - ?dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::DimensionalPriceConfiguration?, - ?external_price_id: String?, - ?fixed_price_quantity: Float?, - ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::InvoicingCycleConfiguration?, - ?metadata: ::Hash[Symbol, String?]?, - ?model_type: :tiered_with_minimum - ) -> void - - def to_hash: -> { - cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::cadence, - currency: String, - item_id: String, - model_type: :tiered_with_minimum, - name: String, - tiered_with_minimum_config: ::Hash[Symbol, top], - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::BillingCycleConfiguration?, - conversion_rate: Float?, - dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - type cadence = - :annual - | :semi_annual - | :monthly - | :quarterly - | :one_time - | :custom - - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL: :annual - SEMI_ANNUAL: :semi_annual - MONTHLY: :monthly - QUARTERLY: :quarterly - ONE_TIME: :one_time - CUSTOM: :custom - - def self?.values: -> ::Array[Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::cadence] - end - - type billing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::BillingCycleConfiguration::duration_unit - } - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::BillingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::BillingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::BillingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::BillingCycleConfiguration::duration_unit] - end - end - - type dimensional_price_configuration = - { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String] - - attr_accessor dimensional_price_group_id: String? - - attr_accessor external_dimensional_price_group_id: String? - - def initialize: ( - dimension_values: ::Array[String], - ?dimensional_price_group_id: String?, - ?external_dimensional_price_group_id: String? - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - end - - type invoicing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::InvoicingCycleConfiguration::duration_unit - } - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::InvoicingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::InvoicingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::InvoicingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredWithMinimum::InvoicingCycleConfiguration::duration_unit] - end - end - end - - type package_with_allocation = - { - cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::cadence, - currency: String, - item_id: String, - model_type: :package_with_allocation, - name: String, - package_with_allocation_config: ::Hash[Symbol, top], - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::BillingCycleConfiguration?, - conversion_rate: Float?, - dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - class PackageWithAllocation < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::cadence - - attr_accessor currency: String - - attr_accessor item_id: String - - attr_accessor model_type: :package_with_allocation - - attr_accessor name: String - - attr_accessor package_with_allocation_config: ::Hash[Symbol, top] - - attr_accessor billable_metric_id: String? - - attr_accessor billed_in_advance: bool? - - attr_accessor billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::BillingCycleConfiguration? - - attr_accessor conversion_rate: Float? - - attr_accessor dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::DimensionalPriceConfiguration? - - attr_accessor external_price_id: String? - - attr_accessor fixed_price_quantity: Float? - - attr_accessor invoice_grouping_key: String? - - attr_accessor invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::InvoicingCycleConfiguration? - - attr_accessor metadata: ::Hash[Symbol, String?]? - - def initialize: ( - cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::cadence, - currency: String, - item_id: String, - name: String, - package_with_allocation_config: ::Hash[Symbol, top], - ?billable_metric_id: String?, - ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::BillingCycleConfiguration?, - ?conversion_rate: Float?, - ?dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::DimensionalPriceConfiguration?, - ?external_price_id: String?, - ?fixed_price_quantity: Float?, - ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::InvoicingCycleConfiguration?, - ?metadata: ::Hash[Symbol, String?]?, - ?model_type: :package_with_allocation - ) -> void - - def to_hash: -> { - cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::cadence, - currency: String, - item_id: String, - model_type: :package_with_allocation, - name: String, - package_with_allocation_config: ::Hash[Symbol, top], - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::BillingCycleConfiguration?, - conversion_rate: Float?, - dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - type cadence = - :annual - | :semi_annual - | :monthly - | :quarterly - | :one_time - | :custom - - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL: :annual - SEMI_ANNUAL: :semi_annual - MONTHLY: :monthly - QUARTERLY: :quarterly - ONE_TIME: :one_time - CUSTOM: :custom - - def self?.values: -> ::Array[Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::cadence] - end - - type billing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::BillingCycleConfiguration::duration_unit - } - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::BillingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::BillingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::BillingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::BillingCycleConfiguration::duration_unit] - end - end - - type dimensional_price_configuration = - { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String] - - attr_accessor dimensional_price_group_id: String? - - attr_accessor external_dimensional_price_group_id: String? - - def initialize: ( - dimension_values: ::Array[String], - ?dimensional_price_group_id: String?, - ?external_dimensional_price_group_id: String? - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - end - - type invoicing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::InvoicingCycleConfiguration::duration_unit - } - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::InvoicingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::InvoicingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::InvoicingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::PackageWithAllocation::InvoicingCycleConfiguration::duration_unit] - end - end - end - - type tiered_package_with_minimum = - { - cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::cadence, - currency: String, - item_id: String, - model_type: :tiered_package_with_minimum, - name: String, - tiered_package_with_minimum_config: ::Hash[Symbol, top], - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::BillingCycleConfiguration?, - conversion_rate: Float?, - dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - class TieredPackageWithMinimum < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::cadence - - attr_accessor currency: String - - attr_accessor item_id: String - - attr_accessor model_type: :tiered_package_with_minimum - - attr_accessor name: String - - attr_accessor tiered_package_with_minimum_config: ::Hash[Symbol, top] - - attr_accessor billable_metric_id: String? - - attr_accessor billed_in_advance: bool? - - attr_accessor billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::BillingCycleConfiguration? - - attr_accessor conversion_rate: Float? - - attr_accessor dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration? - - attr_accessor external_price_id: String? - - attr_accessor fixed_price_quantity: Float? - - attr_accessor invoice_grouping_key: String? - - attr_accessor invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration? - - attr_accessor metadata: ::Hash[Symbol, String?]? - - def initialize: ( - cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::cadence, - currency: String, - item_id: String, - name: String, - tiered_package_with_minimum_config: ::Hash[Symbol, top], - ?billable_metric_id: String?, - ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::BillingCycleConfiguration?, - ?conversion_rate: Float?, - ?dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration?, - ?external_price_id: String?, - ?fixed_price_quantity: Float?, - ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration?, - ?metadata: ::Hash[Symbol, String?]?, - ?model_type: :tiered_package_with_minimum - ) -> void - - def to_hash: -> { - cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::cadence, - currency: String, - item_id: String, - model_type: :tiered_package_with_minimum, - name: String, - tiered_package_with_minimum_config: ::Hash[Symbol, top], - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::BillingCycleConfiguration?, - conversion_rate: Float?, - dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - type cadence = - :annual - | :semi_annual - | :monthly - | :quarterly - | :one_time - | :custom - - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL: :annual - SEMI_ANNUAL: :semi_annual - MONTHLY: :monthly - QUARTERLY: :quarterly - ONE_TIME: :one_time - CUSTOM: :custom - - def self?.values: -> ::Array[Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::cadence] - end - - type billing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::BillingCycleConfiguration::duration_unit - } - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::BillingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::BillingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::BillingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::BillingCycleConfiguration::duration_unit] - end - end - - type dimensional_price_configuration = - { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String] - - attr_accessor dimensional_price_group_id: String? - - attr_accessor external_dimensional_price_group_id: String? - - def initialize: ( - dimension_values: ::Array[String], - ?dimensional_price_group_id: String?, - ?external_dimensional_price_group_id: String? - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - end - - type invoicing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::duration_unit - } - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredPackageWithMinimum::InvoicingCycleConfiguration::duration_unit] - end - end - end - - type unit_with_percent = - { - cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::cadence, - currency: String, - item_id: String, - model_type: :unit_with_percent, - name: String, - unit_with_percent_config: ::Hash[Symbol, top], - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::BillingCycleConfiguration?, - conversion_rate: Float?, - dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - class UnitWithPercent < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::cadence - - attr_accessor currency: String - - attr_accessor item_id: String - - attr_accessor model_type: :unit_with_percent - - attr_accessor name: String - - attr_accessor unit_with_percent_config: ::Hash[Symbol, top] - - attr_accessor billable_metric_id: String? - - attr_accessor billed_in_advance: bool? - - attr_accessor billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::BillingCycleConfiguration? - - attr_accessor conversion_rate: Float? - - attr_accessor dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::DimensionalPriceConfiguration? - - attr_accessor external_price_id: String? - - attr_accessor fixed_price_quantity: Float? - - attr_accessor invoice_grouping_key: String? - - attr_accessor invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::InvoicingCycleConfiguration? - - attr_accessor metadata: ::Hash[Symbol, String?]? - - def initialize: ( - cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::cadence, - currency: String, - item_id: String, - name: String, - unit_with_percent_config: ::Hash[Symbol, top], - ?billable_metric_id: String?, - ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::BillingCycleConfiguration?, - ?conversion_rate: Float?, - ?dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::DimensionalPriceConfiguration?, - ?external_price_id: String?, - ?fixed_price_quantity: Float?, - ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::InvoicingCycleConfiguration?, - ?metadata: ::Hash[Symbol, String?]?, - ?model_type: :unit_with_percent - ) -> void - - def to_hash: -> { - cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::cadence, - currency: String, - item_id: String, - model_type: :unit_with_percent, - name: String, - unit_with_percent_config: ::Hash[Symbol, top], - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::BillingCycleConfiguration?, - conversion_rate: Float?, - dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - type cadence = - :annual - | :semi_annual - | :monthly - | :quarterly - | :one_time - | :custom - - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL: :annual - SEMI_ANNUAL: :semi_annual - MONTHLY: :monthly - QUARTERLY: :quarterly - ONE_TIME: :one_time - CUSTOM: :custom - - def self?.values: -> ::Array[Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::cadence] - end - - type billing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::BillingCycleConfiguration::duration_unit - } - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::BillingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::BillingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::BillingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::BillingCycleConfiguration::duration_unit] - end - end - - type dimensional_price_configuration = - { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String] - - attr_accessor dimensional_price_group_id: String? - - attr_accessor external_dimensional_price_group_id: String? - - def initialize: ( - dimension_values: ::Array[String], - ?dimensional_price_group_id: String?, - ?external_dimensional_price_group_id: String? - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - end - - type invoicing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::InvoicingCycleConfiguration::duration_unit - } - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::InvoicingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::InvoicingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::InvoicingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::UnitWithPercent::InvoicingCycleConfiguration::duration_unit] - end - end - end - - type tiered_with_proration = - { - cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::cadence, - currency: String, - item_id: String, - model_type: :tiered_with_proration, - name: String, - tiered_with_proration_config: ::Hash[Symbol, top], - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::BillingCycleConfiguration?, - conversion_rate: Float?, - dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - class TieredWithProration < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::cadence - - attr_accessor currency: String - - attr_accessor item_id: String - - attr_accessor model_type: :tiered_with_proration - - attr_accessor name: String - - attr_accessor tiered_with_proration_config: ::Hash[Symbol, top] - - attr_accessor billable_metric_id: String? - - attr_accessor billed_in_advance: bool? - - attr_accessor billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::BillingCycleConfiguration? - - attr_accessor conversion_rate: Float? - - attr_accessor dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::DimensionalPriceConfiguration? - - attr_accessor external_price_id: String? - - attr_accessor fixed_price_quantity: Float? - - attr_accessor invoice_grouping_key: String? - - attr_accessor invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::InvoicingCycleConfiguration? - - attr_accessor metadata: ::Hash[Symbol, String?]? - - def initialize: ( - cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::cadence, - currency: String, - item_id: String, - name: String, - tiered_with_proration_config: ::Hash[Symbol, top], - ?billable_metric_id: String?, - ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::BillingCycleConfiguration?, - ?conversion_rate: Float?, - ?dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::DimensionalPriceConfiguration?, - ?external_price_id: String?, - ?fixed_price_quantity: Float?, - ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::InvoicingCycleConfiguration?, - ?metadata: ::Hash[Symbol, String?]?, - ?model_type: :tiered_with_proration - ) -> void - - def to_hash: -> { - cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::cadence, - currency: String, - item_id: String, - model_type: :tiered_with_proration, - name: String, - tiered_with_proration_config: ::Hash[Symbol, top], - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::BillingCycleConfiguration?, - conversion_rate: Float?, - dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - type cadence = - :annual - | :semi_annual - | :monthly - | :quarterly - | :one_time - | :custom - - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL: :annual - SEMI_ANNUAL: :semi_annual - MONTHLY: :monthly - QUARTERLY: :quarterly - ONE_TIME: :one_time - CUSTOM: :custom - - def self?.values: -> ::Array[Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::cadence] - end - - type billing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::BillingCycleConfiguration::duration_unit - } - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::BillingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::BillingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::BillingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::BillingCycleConfiguration::duration_unit] - end - end - - type dimensional_price_configuration = - { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String] - - attr_accessor dimensional_price_group_id: String? - - attr_accessor external_dimensional_price_group_id: String? - - def initialize: ( - dimension_values: ::Array[String], - ?dimensional_price_group_id: String?, - ?external_dimensional_price_group_id: String? - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - end - - type invoicing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::InvoicingCycleConfiguration::duration_unit - } - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::InvoicingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::InvoicingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::InvoicingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::TieredWithProration::InvoicingCycleConfiguration::duration_unit] - end - end - end - - type unit_with_proration = - { - cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::cadence, - currency: String, - item_id: String, - model_type: :unit_with_proration, - name: String, - unit_with_proration_config: ::Hash[Symbol, top], - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::BillingCycleConfiguration?, - conversion_rate: Float?, - dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - class UnitWithProration < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::cadence - - attr_accessor currency: String - - attr_accessor item_id: String - - attr_accessor model_type: :unit_with_proration - - attr_accessor name: String - - attr_accessor unit_with_proration_config: ::Hash[Symbol, top] - - attr_accessor billable_metric_id: String? - - attr_accessor billed_in_advance: bool? - - attr_accessor billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::BillingCycleConfiguration? - - attr_accessor conversion_rate: Float? - - attr_accessor dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::DimensionalPriceConfiguration? - - attr_accessor external_price_id: String? - - attr_accessor fixed_price_quantity: Float? - - attr_accessor invoice_grouping_key: String? - - attr_accessor invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::InvoicingCycleConfiguration? - - attr_accessor metadata: ::Hash[Symbol, String?]? - - def initialize: ( - cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::cadence, - currency: String, - item_id: String, - name: String, - unit_with_proration_config: ::Hash[Symbol, top], - ?billable_metric_id: String?, - ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::BillingCycleConfiguration?, - ?conversion_rate: Float?, - ?dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::DimensionalPriceConfiguration?, - ?external_price_id: String?, - ?fixed_price_quantity: Float?, - ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::InvoicingCycleConfiguration?, - ?metadata: ::Hash[Symbol, String?]?, - ?model_type: :unit_with_proration - ) -> void - - def to_hash: -> { - cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::cadence, - currency: String, - item_id: String, - model_type: :unit_with_proration, - name: String, - unit_with_proration_config: ::Hash[Symbol, top], - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::BillingCycleConfiguration?, - conversion_rate: Float?, - dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - type cadence = - :annual - | :semi_annual - | :monthly - | :quarterly - | :one_time - | :custom - - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL: :annual - SEMI_ANNUAL: :semi_annual - MONTHLY: :monthly - QUARTERLY: :quarterly - ONE_TIME: :one_time - CUSTOM: :custom - - def self?.values: -> ::Array[Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::cadence] - end - - type billing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::BillingCycleConfiguration::duration_unit - } - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::BillingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::BillingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::BillingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::BillingCycleConfiguration::duration_unit] - end - end - - type dimensional_price_configuration = - { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String] - - attr_accessor dimensional_price_group_id: String? - - attr_accessor external_dimensional_price_group_id: String? - - def initialize: ( - dimension_values: ::Array[String], - ?dimensional_price_group_id: String?, - ?external_dimensional_price_group_id: String? - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - end - - type invoicing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::InvoicingCycleConfiguration::duration_unit - } - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::InvoicingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::InvoicingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::InvoicingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::UnitWithProration::InvoicingCycleConfiguration::duration_unit] - end - end - end - - type grouped_allocation = - { - cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::cadence, - currency: String, - grouped_allocation_config: ::Hash[Symbol, top], - item_id: String, - model_type: :grouped_allocation, - name: String, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::BillingCycleConfiguration?, - conversion_rate: Float?, - dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - class GroupedAllocation < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::cadence - - attr_accessor currency: String - - attr_accessor grouped_allocation_config: ::Hash[Symbol, top] - - attr_accessor item_id: String - - attr_accessor model_type: :grouped_allocation - - attr_accessor name: String - - attr_accessor billable_metric_id: String? - - attr_accessor billed_in_advance: bool? - - attr_accessor billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::BillingCycleConfiguration? - - attr_accessor conversion_rate: Float? - - attr_accessor dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::DimensionalPriceConfiguration? - - attr_accessor external_price_id: String? - - attr_accessor fixed_price_quantity: Float? - - attr_accessor invoice_grouping_key: String? - - attr_accessor invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::InvoicingCycleConfiguration? - - attr_accessor metadata: ::Hash[Symbol, String?]? - - def initialize: ( - cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::cadence, - currency: String, - grouped_allocation_config: ::Hash[Symbol, top], - item_id: String, - name: String, - ?billable_metric_id: String?, - ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::BillingCycleConfiguration?, - ?conversion_rate: Float?, - ?dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::DimensionalPriceConfiguration?, - ?external_price_id: String?, - ?fixed_price_quantity: Float?, - ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::InvoicingCycleConfiguration?, - ?metadata: ::Hash[Symbol, String?]?, - ?model_type: :grouped_allocation - ) -> void - - def to_hash: -> { - cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::cadence, - currency: String, - grouped_allocation_config: ::Hash[Symbol, top], - item_id: String, - model_type: :grouped_allocation, - name: String, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::BillingCycleConfiguration?, - conversion_rate: Float?, - dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - type cadence = - :annual - | :semi_annual - | :monthly - | :quarterly - | :one_time - | :custom - - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL: :annual - SEMI_ANNUAL: :semi_annual - MONTHLY: :monthly - QUARTERLY: :quarterly - ONE_TIME: :one_time - CUSTOM: :custom - - def self?.values: -> ::Array[Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::cadence] - end - - type billing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::BillingCycleConfiguration::duration_unit - } - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::BillingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::BillingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::BillingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::BillingCycleConfiguration::duration_unit] - end - end - - type dimensional_price_configuration = - { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String] - - attr_accessor dimensional_price_group_id: String? - - attr_accessor external_dimensional_price_group_id: String? - - def initialize: ( - dimension_values: ::Array[String], - ?dimensional_price_group_id: String?, - ?external_dimensional_price_group_id: String? - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - end - - type invoicing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::InvoicingCycleConfiguration::duration_unit - } - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::InvoicingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::InvoicingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::InvoicingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedAllocation::InvoicingCycleConfiguration::duration_unit] - end - end - end - - type grouped_with_prorated_minimum = - { - cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::cadence, - currency: String, - grouped_with_prorated_minimum_config: ::Hash[Symbol, top], - item_id: String, - model_type: :grouped_with_prorated_minimum, - name: String, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::BillingCycleConfiguration?, - conversion_rate: Float?, - dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - class GroupedWithProratedMinimum < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::cadence - - attr_accessor currency: String - - attr_accessor grouped_with_prorated_minimum_config: ::Hash[Symbol, top] - - attr_accessor item_id: String - - attr_accessor model_type: :grouped_with_prorated_minimum - - attr_accessor name: String - - attr_accessor billable_metric_id: String? - - attr_accessor billed_in_advance: bool? - - attr_accessor billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::BillingCycleConfiguration? - - attr_accessor conversion_rate: Float? - - attr_accessor dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration? - - attr_accessor external_price_id: String? - - attr_accessor fixed_price_quantity: Float? - - attr_accessor invoice_grouping_key: String? - - attr_accessor invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration? - - attr_accessor metadata: ::Hash[Symbol, String?]? - - def initialize: ( - cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::cadence, - currency: String, - grouped_with_prorated_minimum_config: ::Hash[Symbol, top], - item_id: String, - name: String, - ?billable_metric_id: String?, - ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::BillingCycleConfiguration?, - ?conversion_rate: Float?, - ?dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration?, - ?external_price_id: String?, - ?fixed_price_quantity: Float?, - ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration?, - ?metadata: ::Hash[Symbol, String?]?, - ?model_type: :grouped_with_prorated_minimum - ) -> void - - def to_hash: -> { - cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::cadence, - currency: String, - grouped_with_prorated_minimum_config: ::Hash[Symbol, top], - item_id: String, - model_type: :grouped_with_prorated_minimum, - name: String, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::BillingCycleConfiguration?, - conversion_rate: Float?, - dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - type cadence = - :annual - | :semi_annual - | :monthly - | :quarterly - | :one_time - | :custom - - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL: :annual - SEMI_ANNUAL: :semi_annual - MONTHLY: :monthly - QUARTERLY: :quarterly - ONE_TIME: :one_time - CUSTOM: :custom - - def self?.values: -> ::Array[Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::cadence] - end - - type billing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::duration_unit - } - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::BillingCycleConfiguration::duration_unit] - end - end - - type dimensional_price_configuration = - { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String] - - attr_accessor dimensional_price_group_id: String? - - attr_accessor external_dimensional_price_group_id: String? - - def initialize: ( - dimension_values: ::Array[String], - ?dimensional_price_group_id: String?, - ?external_dimensional_price_group_id: String? - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - end - - type invoicing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::duration_unit - } - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithProratedMinimum::InvoicingCycleConfiguration::duration_unit] - end - end - end - - type grouped_with_metered_minimum = - { - cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::cadence, - currency: String, - grouped_with_metered_minimum_config: ::Hash[Symbol, top], - item_id: String, - model_type: :grouped_with_metered_minimum, - name: String, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration?, - conversion_rate: Float?, - dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - class GroupedWithMeteredMinimum < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::cadence - - attr_accessor currency: String - - attr_accessor grouped_with_metered_minimum_config: ::Hash[Symbol, top] - - attr_accessor item_id: String - - attr_accessor model_type: :grouped_with_metered_minimum - - attr_accessor name: String - - attr_accessor billable_metric_id: String? - - attr_accessor billed_in_advance: bool? - - attr_accessor billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration? - - attr_accessor conversion_rate: Float? - - attr_accessor dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration? - - attr_accessor external_price_id: String? - - attr_accessor fixed_price_quantity: Float? - - attr_accessor invoice_grouping_key: String? - - attr_accessor invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration? - - attr_accessor metadata: ::Hash[Symbol, String?]? - - def initialize: ( - cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::cadence, - currency: String, - grouped_with_metered_minimum_config: ::Hash[Symbol, top], - item_id: String, - name: String, - ?billable_metric_id: String?, - ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration?, - ?conversion_rate: Float?, - ?dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration?, - ?external_price_id: String?, - ?fixed_price_quantity: Float?, - ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration?, - ?metadata: ::Hash[Symbol, String?]?, - ?model_type: :grouped_with_metered_minimum - ) -> void - - def to_hash: -> { - cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::cadence, - currency: String, - grouped_with_metered_minimum_config: ::Hash[Symbol, top], - item_id: String, - model_type: :grouped_with_metered_minimum, - name: String, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration?, - conversion_rate: Float?, - dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - type cadence = - :annual - | :semi_annual - | :monthly - | :quarterly - | :one_time - | :custom - - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL: :annual - SEMI_ANNUAL: :semi_annual - MONTHLY: :monthly - QUARTERLY: :quarterly - ONE_TIME: :one_time - CUSTOM: :custom - - def self?.values: -> ::Array[Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::cadence] - end - - type billing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::duration_unit - } - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::BillingCycleConfiguration::duration_unit] - end - end - - type dimensional_price_configuration = - { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String] - - attr_accessor dimensional_price_group_id: String? - - attr_accessor external_dimensional_price_group_id: String? - - def initialize: ( - dimension_values: ::Array[String], - ?dimensional_price_group_id: String?, - ?external_dimensional_price_group_id: String? - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - end - - type invoicing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::duration_unit - } - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedWithMeteredMinimum::InvoicingCycleConfiguration::duration_unit] - end - end - end - - type matrix_with_display_name = - { - cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::cadence, - currency: String, - item_id: String, - matrix_with_display_name_config: ::Hash[Symbol, top], - model_type: :matrix_with_display_name, - name: String, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::BillingCycleConfiguration?, - conversion_rate: Float?, - dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - class MatrixWithDisplayName < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::cadence - - attr_accessor currency: String - - attr_accessor item_id: String - - attr_accessor matrix_with_display_name_config: ::Hash[Symbol, top] - - attr_accessor model_type: :matrix_with_display_name - - attr_accessor name: String - - attr_accessor billable_metric_id: String? - - attr_accessor billed_in_advance: bool? - - attr_accessor billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::BillingCycleConfiguration? - - attr_accessor conversion_rate: Float? - - attr_accessor dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::DimensionalPriceConfiguration? - - attr_accessor external_price_id: String? - - attr_accessor fixed_price_quantity: Float? - - attr_accessor invoice_grouping_key: String? - - attr_accessor invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::InvoicingCycleConfiguration? - - attr_accessor metadata: ::Hash[Symbol, String?]? - - def initialize: ( - cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::cadence, - currency: String, - item_id: String, - matrix_with_display_name_config: ::Hash[Symbol, top], - name: String, - ?billable_metric_id: String?, - ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::BillingCycleConfiguration?, - ?conversion_rate: Float?, - ?dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::DimensionalPriceConfiguration?, - ?external_price_id: String?, - ?fixed_price_quantity: Float?, - ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::InvoicingCycleConfiguration?, - ?metadata: ::Hash[Symbol, String?]?, - ?model_type: :matrix_with_display_name - ) -> void - - def to_hash: -> { - cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::cadence, - currency: String, - item_id: String, - matrix_with_display_name_config: ::Hash[Symbol, top], - model_type: :matrix_with_display_name, - name: String, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::BillingCycleConfiguration?, - conversion_rate: Float?, - dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - type cadence = - :annual - | :semi_annual - | :monthly - | :quarterly - | :one_time - | :custom - - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL: :annual - SEMI_ANNUAL: :semi_annual - MONTHLY: :monthly - QUARTERLY: :quarterly - ONE_TIME: :one_time - CUSTOM: :custom - - def self?.values: -> ::Array[Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::cadence] - end - - type billing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::BillingCycleConfiguration::duration_unit - } - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::BillingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::BillingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::BillingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::BillingCycleConfiguration::duration_unit] - end - end - - type dimensional_price_configuration = - { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String] - - attr_accessor dimensional_price_group_id: String? - - attr_accessor external_dimensional_price_group_id: String? - - def initialize: ( - dimension_values: ::Array[String], - ?dimensional_price_group_id: String?, - ?external_dimensional_price_group_id: String? - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - end - - type invoicing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::duration_unit - } - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::MatrixWithDisplayName::InvoicingCycleConfiguration::duration_unit] - end - end - end - - type bulk_with_proration = - { - bulk_with_proration_config: ::Hash[Symbol, top], - cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::cadence, - currency: String, - item_id: String, - model_type: :bulk_with_proration, - name: String, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::BillingCycleConfiguration?, - conversion_rate: Float?, - dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - class BulkWithProration < Orb::Internal::Type::BaseModel - attr_accessor bulk_with_proration_config: ::Hash[Symbol, top] - - attr_accessor cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::cadence - - attr_accessor currency: String - - attr_accessor item_id: String - - attr_accessor model_type: :bulk_with_proration - - attr_accessor name: String - - attr_accessor billable_metric_id: String? - - attr_accessor billed_in_advance: bool? - - attr_accessor billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::BillingCycleConfiguration? - - attr_accessor conversion_rate: Float? - - attr_accessor dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::DimensionalPriceConfiguration? - - attr_accessor external_price_id: String? - - attr_accessor fixed_price_quantity: Float? - - attr_accessor invoice_grouping_key: String? - - attr_accessor invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::InvoicingCycleConfiguration? - - attr_accessor metadata: ::Hash[Symbol, String?]? - - def initialize: ( - bulk_with_proration_config: ::Hash[Symbol, top], - cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::cadence, - currency: String, - item_id: String, - name: String, - ?billable_metric_id: String?, - ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::BillingCycleConfiguration?, - ?conversion_rate: Float?, - ?dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::DimensionalPriceConfiguration?, - ?external_price_id: String?, - ?fixed_price_quantity: Float?, - ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::InvoicingCycleConfiguration?, - ?metadata: ::Hash[Symbol, String?]?, - ?model_type: :bulk_with_proration - ) -> void - - def to_hash: -> { - bulk_with_proration_config: ::Hash[Symbol, top], - cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::cadence, - currency: String, - item_id: String, - model_type: :bulk_with_proration, - name: String, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::BillingCycleConfiguration?, - conversion_rate: Float?, - dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - type cadence = - :annual - | :semi_annual - | :monthly - | :quarterly - | :one_time - | :custom - - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL: :annual - SEMI_ANNUAL: :semi_annual - MONTHLY: :monthly - QUARTERLY: :quarterly - ONE_TIME: :one_time - CUSTOM: :custom - - def self?.values: -> ::Array[Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::cadence] - end - - type billing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::BillingCycleConfiguration::duration_unit - } - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::BillingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::BillingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::BillingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::BillingCycleConfiguration::duration_unit] - end - end - - type dimensional_price_configuration = - { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String] - - attr_accessor dimensional_price_group_id: String? - - attr_accessor external_dimensional_price_group_id: String? - - def initialize: ( - dimension_values: ::Array[String], - ?dimensional_price_group_id: String?, - ?external_dimensional_price_group_id: String? - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - end - - type invoicing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::InvoicingCycleConfiguration::duration_unit - } - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::InvoicingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::InvoicingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::InvoicingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::BulkWithProration::InvoicingCycleConfiguration::duration_unit] - end - end - end - - type grouped_tiered_package = - { - cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::cadence, - currency: String, - grouped_tiered_package_config: ::Hash[Symbol, top], - item_id: String, - model_type: :grouped_tiered_package, - name: String, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::BillingCycleConfiguration?, - conversion_rate: Float?, - dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - class GroupedTieredPackage < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::cadence - - attr_accessor currency: String - - attr_accessor grouped_tiered_package_config: ::Hash[Symbol, top] - - attr_accessor item_id: String - - attr_accessor model_type: :grouped_tiered_package - - attr_accessor name: String - - attr_accessor billable_metric_id: String? - - attr_accessor billed_in_advance: bool? - - attr_accessor billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::BillingCycleConfiguration? - - attr_accessor conversion_rate: Float? - - attr_accessor dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::DimensionalPriceConfiguration? - - attr_accessor external_price_id: String? - - attr_accessor fixed_price_quantity: Float? - - attr_accessor invoice_grouping_key: String? - - attr_accessor invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::InvoicingCycleConfiguration? - - attr_accessor metadata: ::Hash[Symbol, String?]? - - def initialize: ( - cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::cadence, - currency: String, - grouped_tiered_package_config: ::Hash[Symbol, top], - item_id: String, - name: String, - ?billable_metric_id: String?, - ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::BillingCycleConfiguration?, - ?conversion_rate: Float?, - ?dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::DimensionalPriceConfiguration?, - ?external_price_id: String?, - ?fixed_price_quantity: Float?, - ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::InvoicingCycleConfiguration?, - ?metadata: ::Hash[Symbol, String?]?, - ?model_type: :grouped_tiered_package - ) -> void - - def to_hash: -> { - cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::cadence, - currency: String, - grouped_tiered_package_config: ::Hash[Symbol, top], - item_id: String, - model_type: :grouped_tiered_package, - name: String, - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::BillingCycleConfiguration?, - conversion_rate: Float?, - dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - type cadence = - :annual - | :semi_annual - | :monthly - | :quarterly - | :one_time - | :custom - - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL: :annual - SEMI_ANNUAL: :semi_annual - MONTHLY: :monthly - QUARTERLY: :quarterly - ONE_TIME: :one_time - CUSTOM: :custom - - def self?.values: -> ::Array[Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::cadence] - end - - type billing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::BillingCycleConfiguration::duration_unit - } - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::BillingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::BillingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::BillingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::BillingCycleConfiguration::duration_unit] - end - end - - type dimensional_price_configuration = - { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String] - - attr_accessor dimensional_price_group_id: String? - - attr_accessor external_dimensional_price_group_id: String? - - def initialize: ( - dimension_values: ::Array[String], - ?dimensional_price_group_id: String?, - ?external_dimensional_price_group_id: String? - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - end - - type invoicing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::InvoicingCycleConfiguration::duration_unit - } - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::InvoicingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::InvoicingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::InvoicingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::GroupedTieredPackage::InvoicingCycleConfiguration::duration_unit] - end - end - end - - type scalable_matrix_with_unit_pricing = - { - cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::cadence, - currency: String, - item_id: String, - model_type: :scalable_matrix_with_unit_pricing, - name: String, - scalable_matrix_with_unit_pricing_config: ::Hash[Symbol, top], - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration?, - conversion_rate: Float?, - dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - class ScalableMatrixWithUnitPricing < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::cadence - - attr_accessor currency: String - - attr_accessor item_id: String - - attr_accessor model_type: :scalable_matrix_with_unit_pricing - - attr_accessor name: String - - attr_accessor scalable_matrix_with_unit_pricing_config: ::Hash[Symbol, top] - - attr_accessor billable_metric_id: String? - - attr_accessor billed_in_advance: bool? - - attr_accessor billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration? - - attr_accessor conversion_rate: Float? - - attr_accessor dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration? - - attr_accessor external_price_id: String? - - attr_accessor fixed_price_quantity: Float? - - attr_accessor invoice_grouping_key: String? - - attr_accessor invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration? - - attr_accessor metadata: ::Hash[Symbol, String?]? - - def initialize: ( - cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::cadence, - currency: String, - item_id: String, - name: String, - scalable_matrix_with_unit_pricing_config: ::Hash[Symbol, top], - ?billable_metric_id: String?, - ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration?, - ?conversion_rate: Float?, - ?dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration?, - ?external_price_id: String?, - ?fixed_price_quantity: Float?, - ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration?, - ?metadata: ::Hash[Symbol, String?]?, - ?model_type: :scalable_matrix_with_unit_pricing - ) -> void - - def to_hash: -> { - cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::cadence, - currency: String, - item_id: String, - model_type: :scalable_matrix_with_unit_pricing, - name: String, - scalable_matrix_with_unit_pricing_config: ::Hash[Symbol, top], - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration?, - conversion_rate: Float?, - dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - type cadence = - :annual - | :semi_annual - | :monthly - | :quarterly - | :one_time - | :custom - - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL: :annual - SEMI_ANNUAL: :semi_annual - MONTHLY: :monthly - QUARTERLY: :quarterly - ONE_TIME: :one_time - CUSTOM: :custom - - def self?.values: -> ::Array[Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::cadence] - end - - type billing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::duration_unit - } - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::BillingCycleConfiguration::duration_unit] - end - end - - type dimensional_price_configuration = - { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String] - - attr_accessor dimensional_price_group_id: String? - - attr_accessor external_dimensional_price_group_id: String? - - def initialize: ( - dimension_values: ::Array[String], - ?dimensional_price_group_id: String?, - ?external_dimensional_price_group_id: String? - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - end - - type invoicing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::duration_unit - } - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithUnitPricing::InvoicingCycleConfiguration::duration_unit] - end - end - end - - type scalable_matrix_with_tiered_pricing = - { - cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::cadence, - currency: String, - item_id: String, - model_type: :scalable_matrix_with_tiered_pricing, - name: String, - scalable_matrix_with_tiered_pricing_config: ::Hash[Symbol, top], - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration?, - conversion_rate: Float?, - dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - class ScalableMatrixWithTieredPricing < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::cadence - - attr_accessor currency: String - - attr_accessor item_id: String - - attr_accessor model_type: :scalable_matrix_with_tiered_pricing - - attr_accessor name: String - - attr_accessor scalable_matrix_with_tiered_pricing_config: ::Hash[Symbol, top] - - attr_accessor billable_metric_id: String? - - attr_accessor billed_in_advance: bool? - - attr_accessor billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration? - - attr_accessor conversion_rate: Float? - - attr_accessor dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration? - - attr_accessor external_price_id: String? - - attr_accessor fixed_price_quantity: Float? - - attr_accessor invoice_grouping_key: String? - - attr_accessor invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration? - - attr_accessor metadata: ::Hash[Symbol, String?]? - - def initialize: ( - cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::cadence, - currency: String, - item_id: String, - name: String, - scalable_matrix_with_tiered_pricing_config: ::Hash[Symbol, top], - ?billable_metric_id: String?, - ?billed_in_advance: bool?, - ?billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration?, - ?conversion_rate: Float?, - ?dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration?, - ?external_price_id: String?, - ?fixed_price_quantity: Float?, - ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration?, - ?metadata: ::Hash[Symbol, String?]?, - ?model_type: :scalable_matrix_with_tiered_pricing - ) -> void - - def to_hash: -> { - cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::cadence, - currency: String, - item_id: String, - model_type: :scalable_matrix_with_tiered_pricing, - name: String, - scalable_matrix_with_tiered_pricing_config: ::Hash[Symbol, top], - billable_metric_id: String?, - billed_in_advance: bool?, - billing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration?, - conversion_rate: Float?, - dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - type cadence = - :annual - | :semi_annual - | :monthly - | :quarterly - | :one_time - | :custom - - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL: :annual - SEMI_ANNUAL: :semi_annual - MONTHLY: :monthly - QUARTERLY: :quarterly - ONE_TIME: :one_time - CUSTOM: :custom - - def self?.values: -> ::Array[Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::cadence] - end - - type billing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::duration_unit - } - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::BillingCycleConfiguration::duration_unit] - end - end - - type dimensional_price_configuration = - { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String] - - attr_accessor dimensional_price_group_id: String? - - attr_accessor external_dimensional_price_group_id: String? - - def initialize: ( - dimension_values: ::Array[String], - ?dimensional_price_group_id: String?, - ?external_dimensional_price_group_id: String? - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - end - - type invoicing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::duration_unit - } - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::ScalableMatrixWithTieredPricing::InvoicingCycleConfiguration::duration_unit] - end - end - end - - type cumulative_grouped_bulk = - { - cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::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::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::BillingCycleConfiguration?, - conversion_rate: Float?, - dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - class CumulativeGroupedBulk < Orb::Internal::Type::BaseModel - attr_accessor cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::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::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::BillingCycleConfiguration? - - attr_accessor conversion_rate: Float? - - attr_accessor dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration? - - attr_accessor external_price_id: String? - - attr_accessor fixed_price_quantity: Float? - - attr_accessor invoice_grouping_key: String? - - attr_accessor invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration? - - attr_accessor metadata: ::Hash[Symbol, String?]? - - def initialize: ( - cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::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::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::BillingCycleConfiguration?, - ?conversion_rate: Float?, - ?dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration?, - ?external_price_id: String?, - ?fixed_price_quantity: Float?, - ?invoice_grouping_key: String?, - ?invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration?, - ?metadata: ::Hash[Symbol, String?]?, - ?model_type: :cumulative_grouped_bulk - ) -> void - - def to_hash: -> { - cadence: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::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::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::BillingCycleConfiguration?, - conversion_rate: Float?, - dimensional_price_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::DimensionalPriceConfiguration?, - external_price_id: String?, - fixed_price_quantity: Float?, - invoice_grouping_key: String?, - invoicing_cycle_configuration: Orb::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration?, - metadata: ::Hash[Symbol, String?]? - } - - type cadence = - :annual - | :semi_annual - | :monthly - | :quarterly - | :one_time - | :custom - - module Cadence - extend Orb::Internal::Type::Enum - - ANNUAL: :annual - SEMI_ANNUAL: :semi_annual - MONTHLY: :monthly - QUARTERLY: :quarterly - ONE_TIME: :one_time - CUSTOM: :custom - - def self?.values: -> ::Array[Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::cadence] - end - - type billing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::BillingCycleConfiguration::duration_unit - } - - class BillingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::BillingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::BillingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::BillingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::BillingCycleConfiguration::duration_unit] - end - end - - type dimensional_price_configuration = - { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - - class DimensionalPriceConfiguration < Orb::Internal::Type::BaseModel - attr_accessor dimension_values: ::Array[String] - - attr_accessor dimensional_price_group_id: String? - - attr_accessor external_dimensional_price_group_id: String? - - def initialize: ( - dimension_values: ::Array[String], - ?dimensional_price_group_id: String?, - ?external_dimensional_price_group_id: String? - ) -> void - - def to_hash: -> { - dimension_values: ::Array[String], - dimensional_price_group_id: String?, - external_dimensional_price_group_id: String? - } - end - - type invoicing_cycle_configuration = - { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::duration_unit - } - - class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel - attr_accessor duration: Integer - - attr_accessor duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::duration_unit - - def initialize: ( - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::duration_unit - ) -> void - - def to_hash: -> { - duration: Integer, - duration_unit: Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::duration_unit - } - - type duration_unit = :day | :month - - module DurationUnit - extend Orb::Internal::Type::Enum - - DAY: :day - MONTH: :month - - def self?.values: -> ::Array[Orb::Models::PriceEvaluateParams::PriceEvaluation::Price::CumulativeGroupedBulk::InvoicingCycleConfiguration::duration_unit] - end - end - end - - def self?.variants: -> ::Array[Orb::Models::PriceEvaluateParams::PriceEvaluation::price] - end - end end end end diff --git a/sig/orb/models/price_evaluate_response.rbs b/sig/orb/models/price_evaluate_response.rbs index ed97e241..6562eada 100644 --- a/sig/orb/models/price_evaluate_response.rbs +++ b/sig/orb/models/price_evaluate_response.rbs @@ -1,50 +1,13 @@ module Orb module Models - type price_evaluate_response = - { data: ::Array[Orb::Models::PriceEvaluateResponse::Data] } + type price_evaluate_response = { data: ::Array[Orb::EvaluatePriceGroup] } class PriceEvaluateResponse < Orb::Internal::Type::BaseModel - attr_accessor data: ::Array[Orb::Models::PriceEvaluateResponse::Data] + attr_accessor data: ::Array[Orb::EvaluatePriceGroup] - def initialize: ( - data: ::Array[Orb::Models::PriceEvaluateResponse::Data] - ) -> void + def initialize: (data: ::Array[Orb::EvaluatePriceGroup]) -> void - def to_hash: -> { - data: ::Array[Orb::Models::PriceEvaluateResponse::Data] - } - - type data = - { - currency: String, - price_groups: ::Array[Orb::EvaluatePriceGroup], - inline_price_index: Integer?, - price_id: String? - } - - class Data < Orb::Internal::Type::BaseModel - attr_accessor currency: String - - attr_accessor price_groups: ::Array[Orb::EvaluatePriceGroup] - - attr_accessor inline_price_index: Integer? - - attr_accessor price_id: String? - - def initialize: ( - currency: String, - price_groups: ::Array[Orb::EvaluatePriceGroup], - ?inline_price_index: Integer?, - ?price_id: String? - ) -> void - - def to_hash: -> { - currency: String, - price_groups: ::Array[Orb::EvaluatePriceGroup], - inline_price_index: Integer?, - price_id: String? - } - end + def to_hash: -> { data: ::Array[Orb::EvaluatePriceGroup] } end end end diff --git a/sig/orb/resources/beta.rbs b/sig/orb/resources/beta.rbs new file mode 100644 index 00000000..73da48f6 --- /dev/null +++ b/sig/orb/resources/beta.rbs @@ -0,0 +1,34 @@ +module Orb + module Resources + class Beta + attr_reader external_plan_id: Orb::Resources::Beta::ExternalPlanID + + def create_plan_version: ( + String plan_id, + version: Integer, + ?add_adjustments: ::Array[Orb::BetaCreatePlanVersionParams::AddAdjustment]?, + ?add_prices: ::Array[Orb::BetaCreatePlanVersionParams::AddPrice]?, + ?remove_adjustments: ::Array[Orb::BetaCreatePlanVersionParams::RemoveAdjustment]?, + ?remove_prices: ::Array[Orb::BetaCreatePlanVersionParams::RemovePrice]?, + ?replace_adjustments: ::Array[Orb::BetaCreatePlanVersionParams::ReplaceAdjustment]?, + ?replace_prices: ::Array[Orb::BetaCreatePlanVersionParams::ReplacePrice]?, + ?set_as_default: bool?, + ?request_options: Orb::request_opts + ) -> Orb::PlanVersion + + def fetch_plan_version: ( + String version, + plan_id: String, + ?request_options: Orb::request_opts + ) -> Orb::PlanVersion + + def set_default_plan_version: ( + String plan_id, + version: Integer, + ?request_options: Orb::request_opts + ) -> Orb::Plan + + def initialize: (client: Orb::Client) -> void + end + end +end diff --git a/sig/orb/resources/beta/external_plan_id.rbs b/sig/orb/resources/beta/external_plan_id.rbs new file mode 100644 index 00000000..93de7198 --- /dev/null +++ b/sig/orb/resources/beta/external_plan_id.rbs @@ -0,0 +1,34 @@ +module Orb + module Resources + class Beta + class ExternalPlanID + def create_plan_version: ( + String external_plan_id, + version: Integer, + ?add_adjustments: ::Array[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddAdjustment]?, + ?add_prices: ::Array[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice]?, + ?remove_adjustments: ::Array[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::RemoveAdjustment]?, + ?remove_prices: ::Array[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::RemovePrice]?, + ?replace_adjustments: ::Array[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplaceAdjustment]?, + ?replace_prices: ::Array[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice]?, + ?set_as_default: bool?, + ?request_options: Orb::request_opts + ) -> Orb::PlanVersion + + def fetch_plan_version: ( + String version, + external_plan_id: String, + ?request_options: Orb::request_opts + ) -> Orb::PlanVersion + + def set_default_plan_version: ( + String external_plan_id, + version: Integer, + ?request_options: Orb::request_opts + ) -> Orb::Plan + + def initialize: (client: Orb::Client) -> void + end + end + end +end diff --git a/sig/orb/resources/plans.rbs b/sig/orb/resources/plans.rbs index 5c5dff9e..a1f2f838 100644 --- a/sig/orb/resources/plans.rbs +++ b/sig/orb/resources/plans.rbs @@ -3,8 +3,6 @@ module Orb class Plans attr_reader external_plan_id: Orb::Resources::Plans::ExternalPlanID - attr_reader versions: Orb::Resources::Plans::Versions - def create: ( currency: String, name: String, @@ -40,12 +38,6 @@ module Orb ?request_options: Orb::request_opts ) -> Orb::Plan - def set_default_version: ( - String plan_id, - version: Integer, - ?request_options: Orb::request_opts - ) -> Orb::Plan - def initialize: (client: Orb::Client) -> void end end diff --git a/sig/orb/resources/plans/external_plan_id.rbs b/sig/orb/resources/plans/external_plan_id.rbs index 5439892c..b0bd8d99 100644 --- a/sig/orb/resources/plans/external_plan_id.rbs +++ b/sig/orb/resources/plans/external_plan_id.rbs @@ -2,8 +2,6 @@ module Orb module Resources class Plans class ExternalPlanID - attr_reader versions: Orb::Resources::Plans::ExternalPlanID::Versions - def update: ( String other_external_plan_id, ?external_plan_id: String?, @@ -16,12 +14,6 @@ module Orb ?request_options: Orb::request_opts ) -> Orb::Plan - def set_default_version: ( - String external_plan_id, - version: Integer, - ?request_options: Orb::request_opts - ) -> Orb::Plan - def initialize: (client: Orb::Client) -> void end end diff --git a/sig/orb/resources/plans/external_plan_id/versions.rbs b/sig/orb/resources/plans/external_plan_id/versions.rbs deleted file mode 100644 index d79273fc..00000000 --- a/sig/orb/resources/plans/external_plan_id/versions.rbs +++ /dev/null @@ -1,30 +0,0 @@ -module Orb - module Resources - class Plans - class ExternalPlanID - class Versions - def create: ( - String external_plan_id, - version: Integer, - ?add_adjustments: ::Array[Orb::Plans::ExternalPlanID::VersionCreateParams::AddAdjustment]?, - ?add_prices: ::Array[Orb::Plans::ExternalPlanID::VersionCreateParams::AddPrice]?, - ?remove_adjustments: ::Array[Orb::Plans::ExternalPlanID::VersionCreateParams::RemoveAdjustment]?, - ?remove_prices: ::Array[Orb::Plans::ExternalPlanID::VersionCreateParams::RemovePrice]?, - ?replace_adjustments: ::Array[Orb::Plans::ExternalPlanID::VersionCreateParams::ReplaceAdjustment]?, - ?replace_prices: ::Array[Orb::Plans::ExternalPlanID::VersionCreateParams::ReplacePrice]?, - ?set_as_default: bool?, - ?request_options: Orb::request_opts - ) -> Orb::Models::Plans::ExternalPlanID::VersionCreateResponse - - def retrieve: ( - String version, - external_plan_id: String, - ?request_options: Orb::request_opts - ) -> Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse - - def initialize: (client: Orb::Client) -> void - end - end - end - end -end diff --git a/sig/orb/resources/plans/versions.rbs b/sig/orb/resources/plans/versions.rbs deleted file mode 100644 index a6707a91..00000000 --- a/sig/orb/resources/plans/versions.rbs +++ /dev/null @@ -1,28 +0,0 @@ -module Orb - module Resources - class Plans - class Versions - def create: ( - String plan_id, - version: Integer, - ?add_adjustments: ::Array[Orb::Plans::VersionCreateParams::AddAdjustment]?, - ?add_prices: ::Array[Orb::Plans::VersionCreateParams::AddPrice]?, - ?remove_adjustments: ::Array[Orb::Plans::VersionCreateParams::RemoveAdjustment]?, - ?remove_prices: ::Array[Orb::Plans::VersionCreateParams::RemovePrice]?, - ?replace_adjustments: ::Array[Orb::Plans::VersionCreateParams::ReplaceAdjustment]?, - ?replace_prices: ::Array[Orb::Plans::VersionCreateParams::ReplacePrice]?, - ?set_as_default: bool?, - ?request_options: Orb::request_opts - ) -> Orb::Models::Plans::VersionCreateResponse - - def retrieve: ( - String version, - plan_id: String, - ?request_options: Orb::request_opts - ) -> Orb::Models::Plans::VersionRetrieveResponse - - def initialize: (client: Orb::Client) -> void - end - end - end -end diff --git a/sig/orb/resources/prices.rbs b/sig/orb/resources/prices.rbs index 7a534c5c..fe696b3d 100644 --- a/sig/orb/resources/prices.rbs +++ b/sig/orb/resources/prices.rbs @@ -63,15 +63,26 @@ module Orb ) -> Orb::Internal::Page[Orb::Models::price] def evaluate: ( + String price_id, timeframe_end: Time, timeframe_start: Time, ?customer_id: String?, - ?events: ::Array[Orb::PriceEvaluateParams::Event]?, ?external_customer_id: String?, - ?price_evaluations: ::Array[Orb::PriceEvaluateParams::PriceEvaluation], + ?filter: String?, + ?grouping_keys: ::Array[String], ?request_options: Orb::request_opts ) -> Orb::Models::PriceEvaluateResponse + def evaluate_multiple: ( + timeframe_end: Time, + timeframe_start: Time, + ?customer_id: String?, + ?events: ::Array[Orb::PriceEvaluateMultipleParams::Event]?, + ?external_customer_id: String?, + ?price_evaluations: ::Array[Orb::PriceEvaluateMultipleParams::PriceEvaluation], + ?request_options: Orb::request_opts + ) -> Orb::Models::PriceEvaluateMultipleResponse + def fetch: ( String price_id, ?request_options: Orb::request_opts diff --git a/test/orb/resource_namespaces.rb b/test/orb/resource_namespaces.rb index bb48a451..e8857a5f 100644 --- a/test/orb/resource_namespaces.rb +++ b/test/orb/resource_namespaces.rb @@ -3,6 +3,9 @@ module Orb module Test module Resources + module Beta + end + module Coupons end @@ -20,12 +23,7 @@ module DimensionalPriceGroups module Events end - module ExternalPlanID - end - module Plans - module ExternalPlanID - end end module Prices diff --git a/test/orb/resources/beta/external_plan_id_test.rb b/test/orb/resources/beta/external_plan_id_test.rb new file mode 100644 index 00000000..9b3fff7e --- /dev/null +++ b/test/orb/resources/beta/external_plan_id_test.rb @@ -0,0 +1,78 @@ +# frozen_string_literal: true + +require_relative "../../test_helper" + +class Orb::Test::Resources::Beta::ExternalPlanIDTest < Orb::Test::ResourceTest + def test_create_plan_version_required_params + response = @orb.beta.external_plan_id.create_plan_version("external_plan_id", version: 0) + + assert_pattern do + response => Orb::PlanVersion + end + + assert_pattern do + response => { + adjustments: ^(Orb::Internal::Type::ArrayOf[union: Orb::PlanVersion::Adjustment]), + created_at: Time, + plan_phases: ^(Orb::Internal::Type::ArrayOf[Orb::PlanVersionPhase]) | nil, + prices: ^(Orb::Internal::Type::ArrayOf[union: Orb::Price]), + version: Integer + } + end + end + + def test_fetch_plan_version_required_params + response = @orb.beta.external_plan_id.fetch_plan_version("version", external_plan_id: "external_plan_id") + + assert_pattern do + response => Orb::PlanVersion + end + + assert_pattern do + response => { + adjustments: ^(Orb::Internal::Type::ArrayOf[union: Orb::PlanVersion::Adjustment]), + created_at: Time, + plan_phases: ^(Orb::Internal::Type::ArrayOf[Orb::PlanVersionPhase]) | nil, + prices: ^(Orb::Internal::Type::ArrayOf[union: Orb::Price]), + version: Integer + } + end + end + + def test_set_default_plan_version_required_params + response = @orb.beta.external_plan_id.set_default_plan_version("external_plan_id", version: 0) + + assert_pattern do + response => Orb::Plan + end + + assert_pattern do + response => { + id: String, + adjustments: ^(Orb::Internal::Type::ArrayOf[union: Orb::Plan::Adjustment]), + base_plan: Orb::Plan::BasePlan | nil, + base_plan_id: String | nil, + created_at: Time, + currency: String, + default_invoice_memo: String | nil, + description: String, + discount: Orb::Discount | nil, + external_plan_id: String | nil, + invoicing_currency: String, + maximum: Orb::Plan::Maximum | nil, + maximum_amount: String | nil, + metadata: ^(Orb::Internal::Type::HashOf[String]), + minimum: Orb::Plan::Minimum | nil, + minimum_amount: String | nil, + name: String, + net_terms: Integer | nil, + plan_phases: ^(Orb::Internal::Type::ArrayOf[Orb::Plan::PlanPhase]) | nil, + prices: ^(Orb::Internal::Type::ArrayOf[union: Orb::Price]), + product: Orb::Plan::Product, + status: Orb::Plan::Status, + trial_config: Orb::Plan::TrialConfig, + version: Integer + } + end + end +end diff --git a/test/orb/resources/beta_test.rb b/test/orb/resources/beta_test.rb new file mode 100644 index 00000000..0f0b99e9 --- /dev/null +++ b/test/orb/resources/beta_test.rb @@ -0,0 +1,78 @@ +# frozen_string_literal: true + +require_relative "../test_helper" + +class Orb::Test::Resources::BetaTest < Orb::Test::ResourceTest + def test_create_plan_version_required_params + response = @orb.beta.create_plan_version("plan_id", version: 0) + + assert_pattern do + response => Orb::PlanVersion + end + + assert_pattern do + response => { + adjustments: ^(Orb::Internal::Type::ArrayOf[union: Orb::PlanVersion::Adjustment]), + created_at: Time, + plan_phases: ^(Orb::Internal::Type::ArrayOf[Orb::PlanVersionPhase]) | nil, + prices: ^(Orb::Internal::Type::ArrayOf[union: Orb::Price]), + version: Integer + } + end + end + + def test_fetch_plan_version_required_params + response = @orb.beta.fetch_plan_version("version", plan_id: "plan_id") + + assert_pattern do + response => Orb::PlanVersion + end + + assert_pattern do + response => { + adjustments: ^(Orb::Internal::Type::ArrayOf[union: Orb::PlanVersion::Adjustment]), + created_at: Time, + plan_phases: ^(Orb::Internal::Type::ArrayOf[Orb::PlanVersionPhase]) | nil, + prices: ^(Orb::Internal::Type::ArrayOf[union: Orb::Price]), + version: Integer + } + end + end + + def test_set_default_plan_version_required_params + response = @orb.beta.set_default_plan_version("plan_id", version: 0) + + assert_pattern do + response => Orb::Plan + end + + assert_pattern do + response => { + id: String, + adjustments: ^(Orb::Internal::Type::ArrayOf[union: Orb::Plan::Adjustment]), + base_plan: Orb::Plan::BasePlan | nil, + base_plan_id: String | nil, + created_at: Time, + currency: String, + default_invoice_memo: String | nil, + description: String, + discount: Orb::Discount | nil, + external_plan_id: String | nil, + invoicing_currency: String, + maximum: Orb::Plan::Maximum | nil, + maximum_amount: String | nil, + metadata: ^(Orb::Internal::Type::HashOf[String]), + minimum: Orb::Plan::Minimum | nil, + minimum_amount: String | nil, + name: String, + net_terms: Integer | nil, + plan_phases: ^(Orb::Internal::Type::ArrayOf[Orb::Plan::PlanPhase]) | nil, + prices: ^(Orb::Internal::Type::ArrayOf[union: Orb::Price]), + product: Orb::Plan::Product, + status: Orb::Plan::Status, + trial_config: Orb::Plan::TrialConfig, + version: Integer + } + end + end +end diff --git a/test/orb/resources/plans/external_plan_id/versions_test.rb b/test/orb/resources/plans/external_plan_id/versions_test.rb deleted file mode 100644 index b811be00..00000000 --- a/test/orb/resources/plans/external_plan_id/versions_test.rb +++ /dev/null @@ -1,41 +0,0 @@ -# frozen_string_literal: true - -require_relative "../../../test_helper" - -class Orb::Test::Resources::Plans::ExternalPlanID::VersionsTest < Orb::Test::ResourceTest - def test_create_required_params - response = @orb.plans.external_plan_id.versions.create("external_plan_id", version: 0) - - assert_pattern do - response => Orb::Models::Plans::ExternalPlanID::VersionCreateResponse - end - - assert_pattern do - response => { - adjustments: ^(Orb::Internal::Type::ArrayOf[union: Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::Adjustment]), - created_at: Time, - plan_phases: ^(Orb::Internal::Type::ArrayOf[Orb::Models::Plans::ExternalPlanID::VersionCreateResponse::PlanPhase]) | nil, - prices: ^(Orb::Internal::Type::ArrayOf[union: Orb::Price]), - version: Integer - } - end - end - - def test_retrieve_required_params - response = @orb.plans.external_plan_id.versions.retrieve("version", external_plan_id: "external_plan_id") - - assert_pattern do - response => Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse - end - - assert_pattern do - response => { - adjustments: ^(Orb::Internal::Type::ArrayOf[union: Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::Adjustment]), - created_at: Time, - plan_phases: ^(Orb::Internal::Type::ArrayOf[Orb::Models::Plans::ExternalPlanID::VersionRetrieveResponse::PlanPhase]) | nil, - prices: ^(Orb::Internal::Type::ArrayOf[union: Orb::Price]), - version: Integer - } - end - end -end diff --git a/test/orb/resources/plans/external_plan_id_test.rb b/test/orb/resources/plans/external_plan_id_test.rb index 8b89847e..a1c60a68 100644 --- a/test/orb/resources/plans/external_plan_id_test.rb +++ b/test/orb/resources/plans/external_plan_id_test.rb @@ -76,41 +76,4 @@ def test_fetch } end end - - def test_set_default_version_required_params - response = @orb.plans.external_plan_id.set_default_version("external_plan_id", version: 0) - - assert_pattern do - response => Orb::Plan - end - - assert_pattern do - response => { - id: String, - adjustments: ^(Orb::Internal::Type::ArrayOf[union: Orb::Plan::Adjustment]), - base_plan: Orb::Plan::BasePlan | nil, - base_plan_id: String | nil, - created_at: Time, - currency: String, - default_invoice_memo: String | nil, - description: String, - discount: Orb::Discount | nil, - external_plan_id: String | nil, - invoicing_currency: String, - maximum: Orb::Plan::Maximum | nil, - maximum_amount: String | nil, - metadata: ^(Orb::Internal::Type::HashOf[String]), - minimum: Orb::Plan::Minimum | nil, - minimum_amount: String | nil, - name: String, - net_terms: Integer | nil, - plan_phases: ^(Orb::Internal::Type::ArrayOf[Orb::Plan::PlanPhase]) | nil, - prices: ^(Orb::Internal::Type::ArrayOf[union: Orb::Price]), - product: Orb::Plan::Product, - status: Orb::Plan::Status, - trial_config: Orb::Plan::TrialConfig, - version: Integer - } - end - end end diff --git a/test/orb/resources/plans/versions_test.rb b/test/orb/resources/plans/versions_test.rb deleted file mode 100644 index 5de34a65..00000000 --- a/test/orb/resources/plans/versions_test.rb +++ /dev/null @@ -1,41 +0,0 @@ -# frozen_string_literal: true - -require_relative "../../test_helper" - -class Orb::Test::Resources::Plans::VersionsTest < Orb::Test::ResourceTest - def test_create_required_params - response = @orb.plans.versions.create("plan_id", version: 0) - - assert_pattern do - response => Orb::Models::Plans::VersionCreateResponse - end - - assert_pattern do - response => { - adjustments: ^(Orb::Internal::Type::ArrayOf[union: Orb::Models::Plans::VersionCreateResponse::Adjustment]), - created_at: Time, - plan_phases: ^(Orb::Internal::Type::ArrayOf[Orb::Models::Plans::VersionCreateResponse::PlanPhase]) | nil, - prices: ^(Orb::Internal::Type::ArrayOf[union: Orb::Price]), - version: Integer - } - end - end - - def test_retrieve_required_params - response = @orb.plans.versions.retrieve("version", plan_id: "plan_id") - - assert_pattern do - response => Orb::Models::Plans::VersionRetrieveResponse - end - - assert_pattern do - response => { - adjustments: ^(Orb::Internal::Type::ArrayOf[union: Orb::Models::Plans::VersionRetrieveResponse::Adjustment]), - created_at: Time, - plan_phases: ^(Orb::Internal::Type::ArrayOf[Orb::Models::Plans::VersionRetrieveResponse::PlanPhase]) | nil, - prices: ^(Orb::Internal::Type::ArrayOf[union: Orb::Price]), - version: Integer - } - end - end -end diff --git a/test/orb/resources/plans_test.rb b/test/orb/resources/plans_test.rb index c5925d3f..17b263fd 100644 --- a/test/orb/resources/plans_test.rb +++ b/test/orb/resources/plans_test.rb @@ -170,41 +170,4 @@ def test_fetch } end end - - def test_set_default_version_required_params - response = @orb.plans.set_default_version("plan_id", version: 0) - - assert_pattern do - response => Orb::Plan - end - - assert_pattern do - response => { - id: String, - adjustments: ^(Orb::Internal::Type::ArrayOf[union: Orb::Plan::Adjustment]), - base_plan: Orb::Plan::BasePlan | nil, - base_plan_id: String | nil, - created_at: Time, - currency: String, - default_invoice_memo: String | nil, - description: String, - discount: Orb::Discount | nil, - external_plan_id: String | nil, - invoicing_currency: String, - maximum: Orb::Plan::Maximum | nil, - maximum_amount: String | nil, - metadata: ^(Orb::Internal::Type::HashOf[String]), - minimum: Orb::Plan::Minimum | nil, - minimum_amount: String | nil, - name: String, - net_terms: Integer | nil, - plan_phases: ^(Orb::Internal::Type::ArrayOf[Orb::Plan::PlanPhase]) | nil, - prices: ^(Orb::Internal::Type::ArrayOf[union: Orb::Price]), - product: Orb::Plan::Product, - status: Orb::Plan::Status, - trial_config: Orb::Plan::TrialConfig, - version: Integer - } - end - end end diff --git a/test/orb/resources/prices_test.rb b/test/orb/resources/prices_test.rb index 6a135c23..9e8933d4 100644 --- a/test/orb/resources/prices_test.rb +++ b/test/orb/resources/prices_test.rb @@ -2343,6 +2343,7 @@ def test_list def test_evaluate_required_params response = @orb.prices.evaluate( + "price_id", timeframe_end: "2019-12-27T18:11:19.117Z", timeframe_start: "2019-12-27T18:11:19.117Z" ) @@ -2353,7 +2354,25 @@ def test_evaluate_required_params assert_pattern do response => { - data: ^(Orb::Internal::Type::ArrayOf[Orb::Models::PriceEvaluateResponse::Data]) + data: ^(Orb::Internal::Type::ArrayOf[Orb::EvaluatePriceGroup]) + } + end + end + + def test_evaluate_multiple_required_params + response = + @orb.prices.evaluate_multiple( + timeframe_end: "2019-12-27T18:11:19.117Z", + timeframe_start: "2019-12-27T18:11:19.117Z" + ) + + assert_pattern do + response => Orb::Models::PriceEvaluateMultipleResponse + end + + assert_pattern do + response => { + data: ^(Orb::Internal::Type::ArrayOf[Orb::Models::PriceEvaluateMultipleResponse::Data]) } end end